From 6a207274553dc9a3e1482abf5e81a8737d5d989b Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Thu, 19 Dec 2024 17:56:31 +0700 Subject: [PATCH 01/13] Setup testing E2E --- app-config.e2e.json | 7079 +++++++++++++++++ cypress.config.ts | 17 + cypress/e2e/Function_test/issueDPP.cy.ts | 106 + cypress/e2e/simple_test/actorTesting.cy.ts | 61 + cypress/fixtures/app-config.json | 7079 +++++++++++++++++ docker-compose.e2e.yml | 156 + package.json | 7 +- .../src/__tests__/cryptoService.test.ts | 4 +- tsconfig.json | 22 + yarn.lock | 2196 +++-- 10 files changed, 15840 insertions(+), 887 deletions(-) create mode 100644 app-config.e2e.json create mode 100644 cypress.config.ts create mode 100644 cypress/e2e/Function_test/issueDPP.cy.ts create mode 100644 cypress/e2e/simple_test/actorTesting.cy.ts create mode 100644 cypress/fixtures/app-config.json create mode 100644 docker-compose.e2e.yml create mode 100644 tsconfig.json diff --git a/app-config.e2e.json b/app-config.e2e.json new file mode 100644 index 00000000..e033ea57 --- /dev/null +++ b/app-config.e2e.json @@ -0,0 +1,7079 @@ +{ + "name": "CHERRIES SUPPLY CHAIN TRACEABILITY", + "styles": { + "primaryColor": "rgb(35, 138, 186)", + "secondaryColor": "black", + "tertiaryColor": "black" + }, + "generalFeatures": [ + { + "name": "General features", + "type": "", + "styles": { + "primaryColor": "rgb(35, 138, 186)", + "secondaryColor": "black", + "tertiaryColor": "black" + }, + "features": [] + } + ], + "apps": [ + { + "name": "Orchard Facility", + "type": "producer", + "assets": { + "logo": "Cherries-farm-logo.webp", + "brandTitle": "Orchard Facility" + }, + "styles": { + "primaryColor": "#b5651d", + "secondaryColor": "#391561", + "tertiaryColor": "#ffffff" + }, + "features": [ + { + "name": "Issue DPP", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "09359502000034", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "2024-04-24", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2024-04-25" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transformation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Aggregation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Association Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "validUntil": "2025-11-28T04:47:15.136Z", + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/credentials", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": { + "primary": { + "ai": "01", + "path": "/registeredId" + }, + "qualifiers": [ + { + "ai": "10", + "path": "/batchNumber" + } + ] + } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_dpps" + } + ] + } + ] + }, + { + "name": "Issue DLP", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/3ABCD123XBDC0447", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "3ABCD123XBDC0447", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "2024-04-24", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2024-04-25" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transformation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Aggregation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Association Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "nlis", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "resultPath": "/uri", + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": { + "primary": { + "ai": "01", + "path": "/registeredId" + } + } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_dpps" + } + ] + } + ] + }, + { + "name": "Move to Next Facility", + "id": "transaction_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "orchard_facility_dpps", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransactionEvent.json?class=TransactionEvent" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/id", + "destinationPath": "/epcList/index/name" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/epcList/index/id" + }, + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/name", + "destinationPath": "/quantityList/0/productName" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/quantityList/0/productId" + } + ], + "dummyFields": [ + { + "path": "/type", + "data": ["TransactionEvent", "Event"] + }, + { + "path": "/id", + "data": "https://events.sample.com/01/09359502000034/21/123456" + }, + { + "path": "/processType", + "data": "Weaving" + }, + { + "path": "/eventTime", + "data": "2024-09-01T12:00:00" + }, + { + "path": "/action", + "data": "add" + }, + { + "path": "/disposition", + "data": "https://ref.gs1.org/cbv/Disp-active" + }, + { + "path": "/bizStep", + "data": "https://ref.gs1.org/cbv/BizStep-commissioning" + }, + { + "path": "/bizLocation", + "data": "https://id.gs1.org/414/9520123456788" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/type", + "data": ["Item"] + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/id", + "data": "https://id.gs1.org/01/09520123456788/21/12345" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/name", + "data": "EV battery 300Ah." + }, + { + "path": "/sensorElementList/0/sensorMetadata/dataProcessingMethod", + "data": "https://standards.org/sensorMethod#1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/time", + "data": "2024-07-24T12:00:00" + }, + { + "path": "/sensorElementList/0/sensorReport/0/sensorType", + "data": "https://samplesensors.com/model1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/value", + "data": 25 + }, + { + "path": "/sensorElementList/0/sensorReport/0/uom", + "data": "KGM" + }, + { + "path": "/sensorElementList/0/sensorIntegrityProof", + "data": "https://jargon.sh" + }, + { + "path": "/sourcePartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/destinationPartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/bizTransaction", + "data": "https://ref.gs1.org/cbv/BTT-prodorder" + }, + { + "path": "/epcList/0/type", + "data": ["Item"] + }, + { + "path": "/quantityList/0/quantity", + "data": 20 + }, + { + "path": "/quantityList/0/uom", + "data": "KGM" + } + ], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "includeDownload": true, + "downloadFileName": "transaction" + } + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransactionEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transaction Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "localStorageParams": { "storageKey": "orchard_facility_dpps", "keyPath": "/0/epcList/index/name" } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_transaction_event", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/0/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_transaction_event" + } + ] + } + ] + }, + { + "name": "Issue traceability Event", + "id": "issue_traceability_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "type": "array", + "items": { + "$ref": "#/$defs/Event" + }, + "$defs": { + "CredentialIssuer": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["CredentialIssuer"], + "default": ["CredentialIssuer"], + "items": { + "type": "string", + "enum": ["CredentialIssuer"] + } + }, + "id": { + "example": "did:web:identifiers.example-company.com:12345", + "type": "string", + "format": "uri", + "description": "The W3C DID of the issuer - should be a did:web or did:tdw" + }, + "name": { + "example": "Example Company Pty Ltd", + "type": "string", + "description": "The name of the issuer person or organisation" + }, + "otherIdentifier": { + "type": "array", + "items": { + "$ref": "#/$defs/Identifier" + }, + "description": "An optional list of other registered identifiers for this credential issuer " + } + }, + "description": "The issuer party (person or organisation) of a verifiable credential.", + "required": ["id", "name"] + }, + "Identifier": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["Identifier"], + "default": ["Identifier"], + "items": { + "type": "string", + "enum": ["Identifier"] + } + }, + "id": { + "example": "https://id.gs1.org/01/09520123456788/21/12345", + "type": "string", + "format": "uri", + "description": "The globally unique ID of the entity as a resolvable URL according to ISO 18975. ExamplesProduct - id.gs1.org/01/09520123456788/21/12345 Party - abr.business.gov.au/ABN/View?abn=90664869327. Facility - did:web:facilities.example-company.com:123. " + }, + "name": { + "example": "EV battery 300Ah.", + "type": "string", + "description": "The registered name of the entity within the identifier scheme. Examples: product - EV battery 300Ah, Party - Sample Company Pty Ltd, Facility - Green Acres battery factory" + }, + "registeredId": { + "example": "90664869327", + "type": "string", + "description": "The registration number (alphanumeric) of the entity within the register. Unique within the register." + }, + "idScheme": { + "$ref": "#/$defs/IdentifierScheme", + "description": "The identifier scheme. Examples : Product - id.gs1.org/01, Party - business.gov.au/abn, Facility - did:web:facilities.acme.com. " + } + }, + "description": "The ID and Name of an identified entity such as a product, facility, party, standard, etc. If the identifier is a W3C DID then the corresponding DID document SHOULD include a serviceEndpoint of type \"IdentityResolver\". If the identifier is not a W3C DID then the id property SHOULD be an identity resolver URL.", + "required": ["id", "name"] + }, + "IdentifierScheme": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["IdentifierScheme"], + "default": ["IdentifierScheme"], + "items": { + "type": "string", + "enum": ["IdentifierScheme"] + } + }, + "id": { + "example": "https://id.gs1.org/01/", + "type": "string", + "format": "uri", + "description": "The globally unique identifier of the registration scheme. The scheme should be registered and discoverable from vocabulary.uncefact.org/identifierSchemes" + }, + "name": { + "example": "Global Trade Identification Number (GTIN)", + "type": "string", + "description": "The name of the identifier scheme. " + } + }, + "description": "An identifier registration scheme for products, facilities, or organisations. Typically operated by a state, national or global authority." + }, + "TransformationEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["TransformationEvent", "Event"], + "default": ["TransformationEvent", "Event"], + "items": { + "type": "string", + "enum": ["TransformationEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "outputEPCList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of uniquely identified items that are the output of this transformation event - for example a list of individually identified bolts of cloth that are the output of a weaving process." + }, + "inputEPCList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of uniquely identified items that are the input of this transformation event - for example a list of individually identified bobbins of yarn that are the input of a weaving process." + }, + "inputQuantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "The quantified list of product classes that are the input of this transformation event - used when each item does not have a unique identity. for example the weight of raw cotton that is the input to a ginning process." + }, + "outputQuantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "The quantified list of product classes that are the output of this transformation event - used when each item does not have a unique identity. for example a count of the bales of cleaned cotton that are the output of a ginning process." + } + }, + "description": "Transformation represents an event in which input objects are fully or partially consumed and output objects are produced, such that any of the input objects may have contributed to all of the output objects - for example consuming bales of cotton to produce yarn." + }, + "SensorElement": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["SensorElement"], + "default": ["SensorElement"], + "items": { + "type": "string", + "enum": ["SensorElement"] + } + }, + "sensorMetadata": { + "$ref": "#/$defs/Sensor", + "description": "Data that describes the physical sensor that recorded the sensor data set." + }, + "sensorReport": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorData" + }, + "description": "A list of sensor readings from the given sensor relevant to the traceability event context." + }, + "sensorIntegrityProof": { + "type": "string", + "format": "uri", + "description": "An optional reference to a verifiable credential signed by the sensor device or device manufacturer that contains the digitally signed raw data associated with this sensor report." + } + }, + "description": "A SensorElement is used to carry data related to an event that is captured one sensor such as an IoT device. Include one sensor property and an array of sensor data values." + }, + "Sensor": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["Sensor"], + "default": ["Sensor"], + "items": { + "type": "string", + "enum": ["Sensor"] + } + }, + "device": { + "$ref": "#/$defs/Item", + "description": "The device Identifier for the sensor as a URI (typically an EPC)" + }, + "dataProcessingMethod": { + "example": "https://standards.org/sensorMethod#1234", + "type": "string", + "format": "uri", + "description": "The data processing method used by the sensor - should reference a documented standard criteria as a URI" + } + }, + "description": "A physical sensor that records a sensor data set." + }, + "Item": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["Item"], + "default": ["Item"], + "items": { + "type": "string", + "enum": ["Item"] + } + }, + "id": { + "example": "https://id.gs1.org/01/09520123456788/21/12345", + "type": "string", + "format": "uri", + "description": "The globally unique ID of the product as a URI. Ideally as a resolvable URL according to ISO 18975. " + }, + "name": { + "example": "EV battery 300Ah.", + "type": "string", + "description": "The name of the product class to which the product item belongs. " + } + }, + "description": "A specific serialised trade item which is an instance of a more generic product. ", + "required": ["id", "name"] + }, + "SensorData": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["SensorData"], + "default": ["SensorData"], + "items": { + "type": "string", + "enum": ["SensorData"] + } + }, + "time": { + "example": "2024-07-24T12:00:00", + "type": "string", + "format": "date-time", + "description": "the timestamp at which the sensor reading was made." + }, + "sensorType": { + "example": "https://samplesensors.com/model1234", + "type": "string", + "format": "uri", + "description": "the measurement type of the sensor reading, as a URI reference to a measurement method specification." + }, + "value": { + "example": 25, + "type": "number", + "description": "the sensor reading" + }, + "uom": { + "type": "string", + "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode", + "description": "the unit of measure for the sensor reading, drawn from UNECE rec20 code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n " + } + }, + "description": "A data point read by a sensor." + }, + "QuantityElement": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["QuantityElement"], + "default": ["QuantityElement"], + "items": { + "type": "string", + "enum": ["QuantityElement"] + } + }, + "productId": { + "example": "https://id.gs1.org/01/09520123456788/21/12345", + "type": "string", + "format": "uri", + "description": "THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product." + }, + "productName": { + "example": "EV battery 300Ah.", + "type": "string", + "description": "The registered name of the product within the identifier scheme. " + }, + "quantity": { + "example": 20, + "type": "number", + "description": "The numeric quantity of the product class (eg 100 kg of cotton)" + }, + "uom": { + "type": "string", + "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode", + "description": "The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n " + } + }, + "description": "The quantity element is used to define the quantity (eg 100 kg of a product class. Used when serialised items are not applicable.", + "required": ["productId", "productName", "quantity"] + }, + "ObjectEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["ObjectEvent", "Event"], + "default": ["ObjectEvent", "Event"], + "items": { + "type": "string", + "enum": ["ObjectEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "epcList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "A list of uniquely identified items (eg specific items serial numbers or tagged shipments / packages) that are the focus of this object event. " + }, + "quantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "A quantified list of product classes (eg GS1 GTINs) that are the focus of this object event" + } + }, + "description": "Object represents an event that happened to one or more physical or digital objects - such as an inspection or certification of a product or shipment. The physical objects may be identified either as specific items (eg a unique consignment number) or as a quantified amount of a product class (eg 100Kg of cotton yarn)" + }, + "AggregationEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["AggregationEvent", "Event"], + "default": ["AggregationEvent", "Event"], + "items": { + "type": "string", + "enum": ["AggregationEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "parentEPC": { + "$ref": "#/$defs/Item", + "description": "The unique item identifier that is the result of this aggregation. Typically a packaging ID used in shipments that represents a box/ pallet / container of contained items." + }, + "childEPCList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of child items that have been aggregated into the parent (or dis-aggregated from the parent). Maybe a list of package references (eg boxes on a pallet) or may be individual items (eg products in a box)." + }, + "childQuantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "List of quantified product classes that have been aggregated into the parent. Used when the child items do not have unique identifiers (eg 100 Kg of cotton bales)" + } + }, + "description": "Aggregation represents an event that happened to one or more objects that are physically aggregated together (physically constrained to be in the same place at the same time, as when cases are aggregated to a pallet). This event is also used to represent de-aggregation (eg unpacking) when businessStepCode is unpacking." + }, + "TransactionEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["TransactionEvent", "Event"], + "default": ["TransactionEvent", "Event"], + "items": { + "type": "string", + "enum": ["TransactionEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "sourcePartyId": { + "example": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "type": "string", + "format": "uri", + "description": "The source party for this supply chain transaction - typically the seller party" + }, + "destinationPartyId": { + "example": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "type": "string", + "format": "uri", + "description": "The destination party for this supply chain transaction - typically the buyer party." + }, + "bizTransaction": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BTT", + "description": "The document type representing the trade transaction drawn from the business transaction type vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BTT\n " + }, + "epcList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of uniquely identified trade items included in this supply chain transaction." + }, + "quantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "List of quantified product classes that are included in this transaction. Used when the trade items do not have unique identifiers (eg 100 reels of yarn)" + } + }, + "description": "Transaction represents an event in which one or more objects become associated or disassociated with one or more identified business transactions - such as the purchase / shipment of goods between buyer and seller.", + "required": ["sourcePartyId", "destinationPartyId"] + }, + "AssociationEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["AssociationEvent", "Event"], + "default": ["AssociationEvent", "Event"], + "items": { + "type": "string", + "enum": ["AssociationEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "parentEPC": { + "$ref": "#/$defs/Item", + "description": "The unique item identifier that is the parent of this association. Typically an assembled product ID such as a desktop computer that is built from the associated child components." + }, + "childEPCList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of child items that have been assembled to create the parent - for example the power supply or hard drive components of a desktop computer." + }, + "childQuantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "List of quantified product classes that have been assembled into the parent. Used when the child items do not have unique identifiers (eg brackets and screws used in the assembly of a desktop computer)" + } + }, + "description": "The association event represents the assembly of child sub-components to create a parent assembled item. For example a desktop computer assembled from power supply, hard drive, and motherboard. The association event is very similar in structure to the aggregation event but is used for physical assembly. An association event may represent a bill of materials used to assemble a product whilst an aggregation event may represent a packing list or items for transport. " + }, + "Event": { + "type": "object", + "oneOf": [ + { + "$ref": "#/$defs/TransformationEvent" + }, + { + "$ref": "#/$defs/ObjectEvent" + }, + { + "$ref": "#/$defs/AggregationEvent" + }, + { + "$ref": "#/$defs/TransactionEvent" + }, + { + "$ref": "#/$defs/AssociationEvent" + } + ], + "description": "This abstract event structure provides a common language to describe supply chain events such as shipments, inspections, manufacturing processes, etc. There are four types of EPCIS event but this is an abstract class representing all common properties of an EPCIS event.", + "additionalProperties": true + } + } + }, + "data": [ + { + "type": ["TransformationEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "observe", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "outputEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "inputEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "inputQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ], + "outputQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + } + ], + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processTraceabilityEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Traceability Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "eventTypePath": "/0/type/0" + } + ] + } + ] + }, + { + "name": "Issue Object Event", + "id": "issue_object_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/ObjectEvent.json?class=ObjectEvent" + }, + "data": { + "type": ["ObjectEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "add", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "epcList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "quantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processObjectEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Object Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id" + } + ] + } + ] + }, + { + "name": "Issue Association Event", + "id": "issue_association_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/AssociationEvent.json?class=AssociationEvent" + }, + "data": { + "type": ["AssociationEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "add", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "parentEPC": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "childEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "childQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processAssociationEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Association Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id" + } + ] + } + ] + }, + { + "name": "Issue Aggregation Event", + "id": "issue_aggregation_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/AggregationEvent.json?class=AggregationEvent" + }, + "data": { + "type": ["AggregationEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "add", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "parentEPC": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "childEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "childQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processAggregationEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Aggregation Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id" + } + ] + } + ] + }, + { + "name": "Issue Transformation Event", + "id": "issue_transformation_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransformationEvent.json?class=TransformationEvent" + }, + "data": { + "type": ["TransformationEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "observe", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "outputEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "inputEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "inputQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ], + "outputQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransformationEventOnly", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transformation Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id" + } + ] + } + ] + }, + { + "name": "Issue DCC", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/ConformityCredential/v/working/artefacts/jsonSchemas/ConformityAttestation.json?class=ConformityAttestation" + }, + "data": { + "type": ["ConformityAttestation", "Attestation"], + "id": "https://exampleCAB.com/01/09359502000034", + "name": "Conformity attestation Name e.g. Product GHG Footprint certificate in accordance with GBA Rulebook.", + "assessorLevel": "Self", + "assessmentLevel": "GovtApproval", + "attestationType": "certification", + "description": "Attestation description SampleCAB Inc attests that the product class LiFePO4 EV batteries manufactured at Sample battery facility have reported GHG foorptint that conform to the GBA rulebook version 1.5.", + "issuedToParty": { + "type": ["Party"], + "id": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "name": "ABC Example Company PTY LTD", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "description": "A leading electric energy storage company" + }, + "authorisation": [ + { + "type": ["Endorsement"], + "id": "https://authority.gov/schemeABC/123456789", + "name": "Endorsement name e.g. Accreditation of certifiers.com under the Australian National Greenhouse and Energy Reporting scheme (NGER)", + "trustmark": { + "type": ["BinaryFile"], + "fileName": "GHG protocol trust mark", + "fileType": "image/png", + "file": "iVBORw0KGgoAAAANSUhEUgAAADkAAAA2CAYAAAB9TjFQAAAABGdBTUEAAi/9H3pWy6vI9uFdAAAAAElFTkSuQmCC" + }, + "issuingAuthority": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "Authorising Entity", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "endorsementEvidence": { + "type": ["Link"], + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc" + } + }, + { + "type": ["Endorsement"], + "id": "https://authority.gov/schemeABC/123456789", + "name": "Endorsement name e.g. Accreditation of certifiers.com under the Australian National Greenhouse and Energy Reporting scheme (NGER)", + "trustmark": { + "type": ["BinaryFile"], + "fileName": "GHG protocol trust mark", + "fileType": "image/png", + "file": "iVBORw0KGgoAAAANSUhEUgAAADkAAAA2CAYAAAB9TjFQAAAABGdBTUEAAi/9H3pWy6vI9uFdAAAAAElFTkSuQmCC" + }, + "issuingAuthority": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "Authorising Entity", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "endorsementEvidence": { + "type": ["Link"], + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc" + } + } + ], + "conformityCertificate": { + "type": ["SecureLink", "Link"], + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "encryptionMethod": "none" + }, + "auditableEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "encryptionMethod": "none" + }, + "scope": { + "type": ["ConformityAssessmentScheme", "Standard"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf", + "name": "GBA Battery Passport Greenhouse Gas Rulebook - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "issueDate": "2023-12-05", + "trustmark": { + "type": ["BinaryFile"], + "fileName": "GHG protocol trust mark", + "fileType": "image/png", + "file": "iVBORw0KGgoAAAANSUhEUgAAADkAAAA2CAYAAAB9TjFQAAAABGdBTUEAAi/9H3pWy6vI9uFdAAAAAElFTkSuQmCC" + } + }, + "assessment": [ + { + "type": ["ConformityAssessment", "Declaration"], + "assessmentDate": "2024-04-25", + "id": "https://exampleCAB.com/38f73303-a39e-45a7-b8b7-e73517548f27/01", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf", + "name": "GBA Battery Passport", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "AU", + "administeredBy": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "emissions intensity", + "metricValue": { + "type": ["Measure"], + "value": 1.8, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "type": ["Metric"], + "metricName": "emissions footprint", + "metricValue": { + "type": ["Measure"], + "value": 12, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + }, + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Other battery assessment criteria rulebook", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "emissions intensity", + "metricValue": { + "type": ["Measure"], + "value": 1.8, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "type": ["Metric"], + "metricName": "emissions footprint", + "metricValue": { + "type": ["Measure"], + "value": 12, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + } + ], + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "emissions intensity", + "metricValue": { + "type": ["Measure"], + "value": 10, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "type": ["Metric"], + "metricName": "emissions footprint", + "metricValue": { + "type": ["Measure"], + "value": 10, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "assessedProduct": [ + { + "type": ["Product"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "09520123456788.21.12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "IDverifiedByCAB": true + }, + { + "type": ["Product"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "09520123456788.21.12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "IDverifiedByCAB": true + }, + { + "type": ["Product"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "09520123456788.21.12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "IDverifiedByCAB": true + } + ], + "assessedFacility": [ + { + "type": ["Facility"], + "id": "https://sample-facility-register.com/1234567", + "name": "Greenacres battery factory", + "registeredId": "1234567", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "locationInformation": { + "type": ["Location"], + "plusCode": "https://plus.codes/8CGRC78W+MM", + "geoLocation": { + "type": "Point", + "coordinates": [12.34, 56.78, 90.12] + }, + "geoBoundary": { + "type": "Polygon", + "coordinates": [[[12.34, 56.78, 90.12]]] + } + }, + "address": { + "type": ["Address"], + "streetAddress": "level 11, 15 London Circuit", + "postalCode": "2601", + "addressLocality": "Acton", + "addressRegion": "ACT", + "addressCountry": "AU" + }, + "IDverifiedByCAB": true + }, + { + "type": ["Facility"], + "id": "https://sample-facility-register.com/1234567", + "name": "Greenacres battery factory", + "registeredId": "1234567", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "locationInformation": { + "type": ["Location"], + "plusCode": "https://plus.codes/8CGRC78W+MM", + "geoLocation": { + "type": "Point", + "coordinates": [12.34, 56.78, 90.12] + }, + "geoBoundary": { + "type": "Polygon", + "coordinates": [[[12.34, 56.78, 90.12]]] + } + }, + "address": { + "type": ["Address"], + "streetAddress": "level 11, 15 London Circuit", + "postalCode": "2601", + "addressLocality": "Acton", + "addressRegion": "ACT", + "addressCountry": "AU" + }, + "IDverifiedByCAB": true + }, + { + "type": ["Facility"], + "id": "https://sample-facility-register.com/1234567", + "name": "Greenacres battery factory", + "registeredId": "1234567", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "locationInformation": { + "type": ["Location"], + "plusCode": "https://plus.codes/8CGRC78W+MM", + "geoLocation": { + "type": "Point", + "coordinates": [12.34, 56.78, 90.12] + }, + "geoBoundary": { + "type": "Polygon", + "coordinates": [[[12.34, 56.78, 90.12]]] + } + }, + "address": { + "type": ["Address"], + "streetAddress": "level 11, 15 London Circuit", + "postalCode": "2601", + "addressLocality": "Acton", + "addressRegion": "ACT", + "addressCountry": "AU" + }, + "IDverifiedByCAB": true + } + ], + "assessedOrganisation": { + "type": ["Party"], + "id": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "name": "Sample Company Pty Ltd.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "description": "A leading electric energy storage company" + }, + "auditor": { + "type": ["Party"], + "id": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "name": "Auditor Name", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "description": "A leading electric energy storage company" + } + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDigitalConformityCredential", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "digitalConformityCredential": { + "context": ["https://test.uncefact.org/vocabulary/untp/dcc/0.5.0/"], + "renderTemplate": [ + { + "template": " DigitalConformityCredential
CONFORMITY CREDENTIAL

{{credentialSubject.name}}

{{credentialSubject.description}}

Level of independent assurance:

{{credentialSubject.assessorLevel}}

Type of authority endorsement:

{{credentialSubject.assessmentLevel}}

Type of the attestation credential:

{{credentialSubject.attestationType}}
Assessments

The list of specific assessments made within this conformity attestation.

{{#each credentialSubject.assessment}}

{{conformityTopic}}

Declared values
{{#each declaredValue}}
Name
{{metricName}}
Value
{{metricValue.value}}{{metricValue.unit}}
Accuracy
{{accuracy}}
{{/each}}
Assessment Criteria
{{#each assessmentCriteria}}
{{name}}
    {{#each thresholdValues}}
  • Industry average {{metricName}} is {{metricValue.value}}{{metricValue.unit}}.

  • {{/each}}
{{/each}}
Assessed facilities
{{#each assessedFacility}}

{{name}}

{{/each}}
Assessed products
{{#each assessedProduct}}
{{name}}
{{/each}}
Other details
Assessed
{{assessmentDate}}
Organisation assessed
{{assessedOrganisation.name}}
{{/each}}
Issuer endorsement
{{#each credentialSubject.authorisation}}
trustmark
{{name}} is accredited by {{issuingAuthority.name}}.
{{/each}}
Issuing details
Valid from
{{validFrom}}
Valid until
{{validUntil}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalConformityCredential"], + "dlrLinkTitle": "DigitalConformityCredential", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + } + ] + }, + { + "name": "Issue DFR", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalFacilityRecord/v/working/artefacts/jsonSchemas/Facility.json?class=Facility" + }, + "data": { + "type": ["Facility"], + "id": "https://id.gs1.org/414/9359502000034", + "registeredId": "4149359502000034", + "description": "LiFePO4 Battery plant number 7", + "name": "Example facility 7", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "countryOfOperation": "AU", + "processCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells and primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells and primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "operatedByParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "otherIdentifier": [ + { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + } + ], + "address": { + "streetAddress": "level 11, 15 London Circuit", + "postalCode": "2601", + "addressLocality": "Acton", + "addressRegion": "ACT", + "addressCountry": "AU" + }, + "locationInformation": { + "plusCode": "https://plus.codes/8CGRC78W+MM", + "geoLocation": { + "type": "Point", + "coordinates": [3.141579, 3.141579] + }, + "geoBoundary": { + "type": "Polygon", + "coordinates": [[[3.141579, 3.141579]]] + } + }, + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf", + "name": "GBA Battery Passport Greenhouse Gas Rulebook - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "NNational Greenhouse and Energy Reporting (Measurement) Determination", + "jurisdictionCountry": "Enumeration Value", + "administeredBy": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines.", + "thresholdValues": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + }, + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines.", + "thresholdValues": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + } + ], + "declaredValue": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ], + "conformance": true, + "conformityTopic": "environment.emissions", + "conformityEvidence": { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-03-15", + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf", + "name": "GBA Battery Passport Greenhouse Gas Rulebook - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "NNational Greenhouse and Energy Reporting (Measurement) Determination", + "jurisdictionCountry": "Enumeration Value", + "administeredBy": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines.", + "thresholdValues": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + }, + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines.", + "thresholdValues": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + } + ], + "declaredValue": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ], + "conformance": true, + "conformityTopic": "environment.emissions", + "conformityEvidence": { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDigitalFacilityRecord", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "digitalFacilityRecord": { + "context": ["https://test.uncefact.org/vocabulary/untp/dfr/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Facility Record
FACILITY RECORD

{{credentialSubject.name}}

{{credentialSubject.description}}

Country
{{credentialSubject.countryOfOperation}}
Address
{{!-- TODO 1: plain text --}} {{!--
{{credentialSubject.address.streetAddress}} {{credentialSubject.address.addressLocality}}, {{credentialSubject.address.postalCode}}
--}} {{!-- TODO 2: confirm --}} {{!-- {{credentialSubject.address.streetAddress}} --}} {{!-- TODO 3: confirm --}} {{credentialSubject.address.streetAddress}} {{credentialSubject.address.addressLocality}}, {{credentialSubject.address.postalCode}}
Processes
{{#each credentialSubject.processCategory}} {{name}} {{/each}}
Geolocation
Show on map
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
Valid until
{{validUntil}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalFacilityRecord"], + "dlrLinkTitle": "DigitalFacilityRecord", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + } + ] + }, + { + "name": "Issue DIA", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalIdentityAnchor/v/working/artefacts/jsonSchemas/RegisteredIdentity.json?class=RegisteredIdentity" + }, + "data": { + "type": [ + "RegisteredIdentity", + "Identifier" + ], + "id": "https://id.gs1.org/01/09359502000010", + "name": "Sample business Ltd", + "registeredId": "0109359502000010", + "idScheme": { + "type": [ + "IdentifierScheme" + ], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "registerType": "Business", + "registrationScopeList": [ + "https://jargon.sh", + "https://jargon.sh" + ] + }, + "style": {}, + "className": "", + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [] + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "label": "Issue DIA", + "description": "", + "includeDownload": false, + "downloadFileName": "" + } + } + ], + "services": [ + { + "name": "processDigitalIdentityAnchor", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "digitalIdentityAnchor": { + "context": ["https://test.uncefact.org/vocabulary/untp/dia/0.2.1/"], + "renderTemplate": [ + { + "template": " Digital Identity Anchor
DIGITAL IDENTITY ANCHOR

{{credentialSubject.name}}

{{credentialSubject.id}}

{{credentialSubject.idScheme.name}}

{{credentialSubject.registeredId}}

Type

{{credentialSubject.registerType}}

Issuing details
Issued by
Valid from
{{validFrom}}
Valid until
{{validUntil}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalIdentityAnchor"], + "dlrLinkTitle": "DigitalIdentityAnchor", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + } + ] + } + ] + }, + { + "name": "Packhouse Facility", + "type": "producer", + "assets": { + "logo": "Cherries-farm-logo.webp", + "brandTitle": "Packhouse Facility" + }, + "styles": { + "primaryColor": "#b5651d", + "secondaryColor": "#391561", + "tertiaryColor": "#ffffff" + }, + "features": [ + { + "name": "Issue DPP", + "id": "produce_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "orchard_facility_transaction_event", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "095201234", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "15 August 2024", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/linkResolver", + "destinationPath": "/traceabilityInformation/traceabilityEvent/0/linkURL" + } + ], + "dummyFields": [ + { + "path": "/traceabilityInformation/0/eventType", + "data": "transaction" + } + ], + "generationFields": [] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Packhouse Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "packhouse_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "packhouse_facility_dpps" + } + ] + } + ] + }, + { + "name": "Move to Next Facility", + "id": "transaction_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "packhouse_facility_dpps", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransactionEvent.json?class=TransactionEvent" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/id", + "destinationPath": "/epcList/index/name" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/epcList/index/id" + }, + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/name", + "destinationPath": "/quantityList/0/productName" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/quantityList/0/productId" + } + ], + "dummyFields": [ + { + "path": "/type", + "data": ["TransactionEvent", "Event"] + }, + { + "path": "/id", + "data": "https://events.sample.com/01/09359502000034/21/123456" + }, + { + "path": "/processType", + "data": "Weaving" + }, + { + "path": "/eventTime", + "data": "2024-09-01T12:00:00" + }, + { + "path": "/action", + "data": "add" + }, + { + "path": "/disposition", + "data": "https://ref.gs1.org/cbv/Disp-active" + }, + { + "path": "/bizStep", + "data": "https://ref.gs1.org/cbv/BizStep-commissioning" + }, + { + "path": "/bizLocation", + "data": "https://id.gs1.org/414/9520123456788" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/type", + "data": ["Item"] + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/id", + "data": "https://id.gs1.org/01/09520123456788/21/12345" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/name", + "data": "EV battery 300Ah." + }, + { + "path": "/sensorElementList/0/sensorMetadata/dataProcessingMethod", + "data": "https://standards.org/sensorMethod#1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/time", + "data": "2024-07-24T12:00:00" + }, + { + "path": "/sensorElementList/0/sensorReport/0/sensorType", + "data": "https://samplesensors.com/model1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/value", + "data": 25 + }, + { + "path": "/sensorElementList/0/sensorReport/0/uom", + "data": "KGM" + }, + { + "path": "/sensorElementList/0/sensorIntegrityProof", + "data": "https://jargon.sh" + }, + { + "path": "/sourcePartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/destinationPartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/bizTransaction", + "data": "https://ref.gs1.org/cbv/BTT-prodorder" + }, + { + "path": "/epcList/0/type", + "data": ["Item"] + }, + { + "path": "/quantityList/0/quantity", + "data": 20 + }, + { + "path": "/quantityList/0/uom", + "data": "KGM" + } + ], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "includeDownload": true, + "downloadFileName": "transaction" + } + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransactionEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Packhouse Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transaction Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "localStorageParams": { "storageKey": "packhouse_facility_dpps", "keyPath": "/0/epcList/index/name" } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "packhouse_facility_transaction_event", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/0/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "packhouse_facility_transaction_event" + } + ] + } + ] + } + ] + }, + { + "name": "Fumigation and Freight Forwarding Facility", + "type": "producer", + "assets": { + "logo": "Cherries-farm-logo.webp", + "brandTitle": "Fumigation and Freight Forwarding Facility" + }, + "styles": { + "primaryColor": "#b5651d", + "secondaryColor": "#391561", + "tertiaryColor": "#ffffff" + }, + "features": [ + { + "name": "Issue DPP", + "id": "produce_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "packhouse_facility_transaction_event", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "095201234", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "15 August 2024", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/linkResolver", + "destinationPath": "/traceabilityInformation/traceabilityEvent/0/linkURL" + } + ], + "dummyFields": [ + { + "path": "/traceabilityInformation/0/eventType", + "data": "transaction" + } + ], + "generationFields": [] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Fumigation and Freight Forwarding Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "fumigation_and_freight_forwarding_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "fumigation_and_freight_forwarding_facility_dpps" + } + ] + } + ] + }, + { + "name": "Move to Next Facility", + "id": "transaction_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "fumigation_and_freight_forwarding_facility_dpps", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransactionEvent.json?class=TransactionEvent" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/id", + "destinationPath": "/epcList/index/name" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/epcList/index/id" + }, + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/name", + "destinationPath": "/quantityList/0/productName" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/quantityList/0/productId" + } + ], + "dummyFields": [ + { + "path": "/type", + "data": ["TransactionEvent", "Event"] + }, + { + "path": "/id", + "data": "https://events.sample.com/01/09359502000034/21/123456" + }, + { + "path": "/processType", + "data": "Weaving" + }, + { + "path": "/eventTime", + "data": "2024-09-01T12:00:00" + }, + { + "path": "/action", + "data": "add" + }, + { + "path": "/disposition", + "data": "https://ref.gs1.org/cbv/Disp-active" + }, + { + "path": "/bizStep", + "data": "https://ref.gs1.org/cbv/BizStep-commissioning" + }, + { + "path": "/bizLocation", + "data": "https://id.gs1.org/414/9520123456788" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/type", + "data": ["Item"] + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/id", + "data": "https://id.gs1.org/01/09520123456788/21/12345" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/name", + "data": "EV battery 300Ah." + }, + { + "path": "/sensorElementList/0/sensorMetadata/dataProcessingMethod", + "data": "https://standards.org/sensorMethod#1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/time", + "data": "2024-07-24T12:00:00" + }, + { + "path": "/sensorElementList/0/sensorReport/0/sensorType", + "data": "https://samplesensors.com/model1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/value", + "data": 25 + }, + { + "path": "/sensorElementList/0/sensorReport/0/uom", + "data": "KGM" + }, + { + "path": "/sensorElementList/0/sensorIntegrityProof", + "data": "https://jargon.sh" + }, + { + "path": "/sourcePartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/destinationPartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/bizTransaction", + "data": "https://ref.gs1.org/cbv/BTT-prodorder" + }, + { + "path": "/epcList/0/type", + "data": ["Item"] + }, + { + "path": "/quantityList/0/quantity", + "data": 20 + }, + { + "path": "/quantityList/0/uom", + "data": "KGM" + } + ], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "includeDownload": true, + "downloadFileName": "transaction" + } + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransactionEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Fumigation and Freight Forwarding Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transaction Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "localStorageParams": { + "storageKey": "fumigation_and_freight_forwarding_facility_dpps", + "keyPath": "/0/epcList/index/name" + } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "fumigation_and_freight_forwarding_facility_transaction_event", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/0/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "fumigation_and_freight_forwarding_facility_transaction_event" + } + ] + } + ] + } + ] + }, + { + "name": "Airport Terminal Facility", + "type": "producer", + "assets": { + "logo": "Cherries-farm-logo.webp", + "brandTitle": "Airport Terminal" + }, + "styles": { + "primaryColor": "#b5651d", + "secondaryColor": "#391561", + "tertiaryColor": "#ffffff" + }, + "features": [ + { + "name": "Issue DPP", + "id": "produce_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "fumigation_and_freight_forwarding_facility_transaction_event", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "095201234", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "15 August 2024", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/linkResolver", + "destinationPath": "/traceabilityInformation/traceabilityEvent/0/linkURL" + } + ], + "dummyFields": [ + { + "path": "/traceabilityInformation/0/eventType", + "data": "transaction" + } + ], + "generationFields": [] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Airport Terminal Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "airport_terminal_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "airport_terminal_facility_dpps" + } + ] + } + ] + }, + { + "name": "Move to Next Facility", + "id": "transaction_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "airport_terminal_facility_dpps", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransactionEvent.json?class=TransactionEvent" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/id", + "destinationPath": "/epcList/index/name" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/epcList/index/id" + }, + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/name", + "destinationPath": "/quantityList/0/productName" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/quantityList/0/productId" + } + ], + "dummyFields": [ + { + "path": "/type", + "data": ["TransactionEvent", "Event"] + }, + { + "path": "/id", + "data": "https://events.sample.com/01/09359502000034/21/123456" + }, + { + "path": "/processType", + "data": "Weaving" + }, + { + "path": "/eventTime", + "data": "2024-09-01T12:00:00" + }, + { + "path": "/action", + "data": "add" + }, + { + "path": "/disposition", + "data": "https://ref.gs1.org/cbv/Disp-active" + }, + { + "path": "/bizStep", + "data": "https://ref.gs1.org/cbv/BizStep-commissioning" + }, + { + "path": "/bizLocation", + "data": "https://id.gs1.org/414/9520123456788" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/type", + "data": ["Item"] + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/id", + "data": "https://id.gs1.org/01/09520123456788/21/12345" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/name", + "data": "EV battery 300Ah." + }, + { + "path": "/sensorElementList/0/sensorMetadata/dataProcessingMethod", + "data": "https://standards.org/sensorMethod#1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/time", + "data": "2024-07-24T12:00:00" + }, + { + "path": "/sensorElementList/0/sensorReport/0/sensorType", + "data": "https://samplesensors.com/model1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/value", + "data": 25 + }, + { + "path": "/sensorElementList/0/sensorReport/0/uom", + "data": "KGM" + }, + { + "path": "/sensorElementList/0/sensorIntegrityProof", + "data": "https://jargon.sh" + }, + { + "path": "/sourcePartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/destinationPartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/bizTransaction", + "data": "https://ref.gs1.org/cbv/BTT-prodorder" + }, + { + "path": "/epcList/0/type", + "data": ["Item"] + }, + { + "path": "/quantityList/0/quantity", + "data": 20 + }, + { + "path": "/quantityList/0/uom", + "data": "KGM" + } + ], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "includeDownload": true, + "downloadFileName": "transaction" + } + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransactionEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Airport Terminal Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transaction Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "localStorageParams": { + "storageKey": "airport_terminal_facility_dpps", + "keyPath": "/0/epcList/index/name" + } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "airport_terminal_facility_transaction_event", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/0/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "airport_terminal_facility_transaction_event" + } + ] + } + ] + } + ] + } + ], + "identifyProvider": { + "type": "gs1", + "url": "http://localhost:3001", + "namespace": "gs1" + }, + "identifierSchemes": [ + { + "type": "gtin", + "format": "(\\d{12,14}|\\d{8})", + "carriers": ["barcode"] + }, + { + "type": "nlis", + "format": "^[A-Z0-9]{8}[A-Z][A-Z][A-Z][A-Z0-9]{5}$", + "carriers": ["manual_entry"] + }, + { + "type": "abn", + "format": "^(\\d *?){11}$", + "carriers": ["manual_entry"] + } + ], + "defaultVerificationServiceLink": { + "title": "Default Verification Service", + "context": "Default Verification Service", + "type": "application/json", + "href": "http://localhost:3332/agent/routeVerificationCredential", + "hreflang": ["en"], + "headers": { + "Authorization": "Bearer test123", + "Content-Type": "application/json" + } + } +} diff --git a/cypress.config.ts b/cypress.config.ts new file mode 100644 index 00000000..50de0284 --- /dev/null +++ b/cypress.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from 'cypress'; + +export default defineConfig({ + e2e: { + baseUrl: 'http://localhost:3003', // Replace with your application's base URL + supportFile: false, // Disable the default support file if not needed + specPattern: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}', // Specifies the test file pattern + video: false, // Disable video recording (optional) + chromeWebSecurity: false, // Helps bypass security restrictions (if needed) + retries: { + runMode: 2, // Retries in headless mode + openMode: 0, // No retries in interactive mode + }, + defaultCommandTimeout: 4000, + defaultBrowser: "chrome" + }, +}); diff --git a/cypress/e2e/Function_test/issueDPP.cy.ts b/cypress/e2e/Function_test/issueDPP.cy.ts new file mode 100644 index 00000000..7e3ef2dd --- /dev/null +++ b/cypress/e2e/Function_test/issueDPP.cy.ts @@ -0,0 +1,106 @@ + +describe('Facility Links Test', () => { + beforeEach(() => { + // Load app config JSON + cy.fixture('app-config.json').then((data) => { + Cypress.env('AppConfig', data); + }); + }); + + it('should access the right the app config data', () => { + const AppConfig = Cypress.env('AppConfig'); + expect(AppConfig?.name).to.eq('CHERRIES SUPPLY CHAIN TRACEABILITY'); + }); + + it('should visit the homepage, navigate to "Orchard Facility", handle API calls, and show success message', () => { + const AppConfig = Cypress.env('AppConfig'); + // Visit the homepage + cy.visit('/'); + + // Verify the "Orchard Facility" link exists and contains the correct text + cy.contains('a', 'Orchard Facility') // Find tag by text + .should('be.visible') // Ensure it's visible + .and('not.be.disabled') // Ensure it's clickable + .click(); // Click the link + + // Verify navigation to the correct page + cy.url().should('include', '/orchard-facility'); + // Intercept API call triggered by clicking "ISSUE DPP" + const shemaDPP = AppConfig.apps[0]?.features[0]?.components[0].props?.schema?.url; + const appService = AppConfig.apps[0]?.features[0]?.services[0]?.parameters[0]; + cy.intercept('GET', shemaDPP) + .as('getProductSchema'); // Create an alias for this request + + // Check if "ISSUE DPP" button appears and is interactable + cy.contains('a', 'Issue DPP') // Find button by text + .should('be.visible') + .and('not.be.disabled') + .click(); + + // Wait for the API call + cy.wait('@getProductSchema', { timeout: 20000 }).then((interception) => { + expect(interception?.response?.statusCode).to.eq(200); + }); + + const API_ENDPOINT = { + ISSUE_BITSTRING_STATUS_LIST: "/agent/issueBitstringStatusList", + VCKit_URL: appService?.vckit?.vckitAPIUrl + '/credentials/issue', + STORAGE_URL: appService?.storage?.url, + IDR_URL: appService?.dlr?.dlrAPIUrl + appService?.dlr?.linkRegisterPath, + }; + cy.intercept('POST', API_ENDPOINT.ISSUE_BITSTRING_STATUS_LIST).as('issueBitStringStatusList'); + cy.intercept('POST', API_ENDPOINT.VCKit_URL).as('issueCredentials'); + cy.intercept('POST', API_ENDPOINT.STORAGE_URL).as('storeVC'); + cy.intercept('POST', API_ENDPOINT.IDR_URL).as('linkResolverRegister'); + + // Check if "Submit" button appears after API response + cy.contains('button', 'Submit') + .should('be.visible') + .and('not.be.disabled') + .click(); + + // await API create credential status + cy.wait('@issueBitStringStatusList').then((interception) => { + expect(interception?.response?.statusCode).to.eq(200); + cy.log('Completed: issueBitstringStatusList'); + }); + + // await API issue VC + cy.wait('@issueCredentials').then((interception) => { + expect(interception?.response?.statusCode).to.eq(201); + cy.log('Completed: issueCredentials'); + }); + + // await API storage VC + cy.wait('@storeVC').then((interception) => { + expect(interception?.response?.statusCode).to.eq(201); + cy.log('Completed: storeVC'); + + // Extract the URI from the response + const { uri, hash, key } = interception?.response?.body; + expect(uri).to.not.be.undefined; + expect(hash).to.not.be.undefined; + expect(key).to.not.be.undefined; + cy.request('GET', uri).then((response) => { + expect(response.status).to.eq(200); + }); + }); + + // await API register link + cy.wait('@linkResolverRegister').then((interception) => { + expect(interception?.response?.statusCode).to.eq(201); + cy.log('Completed: linkResolverRegister'); + }); + + // Verify toast appears, using react-toastify + cy.get('.Toastify__toast') + .should('be.visible') + .and('contain', 'Action Successful'); + + // Validate localStorage + cy.window().then((win) => { + const rawData = win.localStorage.getItem('orchard_facility_dpps'); + expect(rawData).to.not.be.null; + }); + }); +}); diff --git a/cypress/e2e/simple_test/actorTesting.cy.ts b/cypress/e2e/simple_test/actorTesting.cy.ts new file mode 100644 index 00000000..ff2e96d8 --- /dev/null +++ b/cypress/e2e/simple_test/actorTesting.cy.ts @@ -0,0 +1,61 @@ +describe('Facility Links Test', () => { + it('should visit the homepage and verify the facility links', () => { + // Visit the homepage + cy.visit('/'); + // Verify the presence of the "CHERRIES SUPPLY CHAIN TRACEABILITY" text + cy.contains('h5', 'CHERRIES SUPPLY CHAIN TRACEABILITY').should('be.visible'); + }); + + it('should verify all tags from the second match the expected texts', () => { + // Danh sách các text mong đợi, tương ứng với từ thẻ thứ 2 trở đi + const expectedTexts = [ + 'Orchard Facility', + 'Packhouse Facility', + 'Fumigation and Freight Forwarding Facility', + 'Airport Terminal Facility', + 'Scanning', + 'General features', + ]; + + // Truy cập trang + cy.visit('/'); + + // Lấy tất cả các thẻ (trừ thẻ đầu tiên) + cy.get('a').then(($aTags) => { + // Đảm bảo tổng số thẻ (trừ thẻ đầu) bằng với danh sách expectedTexts + expect($aTags.length - 1).to.equal(expectedTexts.length); + + // Lặp qua từng thẻ từ index = 1 (thẻ thứ 2 trở đi) + $aTags.each((index, el) => { + if (index === 0) return; // Bỏ qua thẻ đầu tiên + + // Lấy nội dung text của thẻ hiện tại + cy.wrap(el) + .invoke('text') + .then((text) => { + // So sánh text với giá trị tương ứng trong expectedTexts + expect(text.trim()).to.equal(expectedTexts[index - 1]); // Trừ đi 1 vì bỏ qua thẻ đầu tiên + }); + }); + }); + }); + + describe('Facility Links Test', () => { + it('should visit the homepage and click on the "Orchard Facility" link', () => { + // Visit the homepage + cy.visit('/'); + + // Locate the Orchard Facility link by its href attribute and class + cy.get('a').eq(1).should('be.visible').and('not.be.disabled').click() + + // Verify the URL to confirm navigation + cy.url().should('include', '/orchard-facility'); + // Check if the Submit button appears after clicking + cy.get('a') // Adjust this selector if the button isn't of type submit + .eq(1) + .should('be.visible') + .and('not.be.disabled') + .click() + }); + }); +}); diff --git a/cypress/fixtures/app-config.json b/cypress/fixtures/app-config.json new file mode 100644 index 00000000..e033ea57 --- /dev/null +++ b/cypress/fixtures/app-config.json @@ -0,0 +1,7079 @@ +{ + "name": "CHERRIES SUPPLY CHAIN TRACEABILITY", + "styles": { + "primaryColor": "rgb(35, 138, 186)", + "secondaryColor": "black", + "tertiaryColor": "black" + }, + "generalFeatures": [ + { + "name": "General features", + "type": "", + "styles": { + "primaryColor": "rgb(35, 138, 186)", + "secondaryColor": "black", + "tertiaryColor": "black" + }, + "features": [] + } + ], + "apps": [ + { + "name": "Orchard Facility", + "type": "producer", + "assets": { + "logo": "Cherries-farm-logo.webp", + "brandTitle": "Orchard Facility" + }, + "styles": { + "primaryColor": "#b5651d", + "secondaryColor": "#391561", + "tertiaryColor": "#ffffff" + }, + "features": [ + { + "name": "Issue DPP", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "09359502000034", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "2024-04-24", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2024-04-25" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transformation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Aggregation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Association Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "validUntil": "2025-11-28T04:47:15.136Z", + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/credentials", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": { + "primary": { + "ai": "01", + "path": "/registeredId" + }, + "qualifiers": [ + { + "ai": "10", + "path": "/batchNumber" + } + ] + } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_dpps" + } + ] + } + ] + }, + { + "name": "Issue DLP", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/3ABCD123XBDC0447", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "3ABCD123XBDC0447", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "2024-04-24", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2024-04-25" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transformation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Aggregation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Association Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "nlis", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "resultPath": "/uri", + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": { + "primary": { + "ai": "01", + "path": "/registeredId" + } + } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_dpps" + } + ] + } + ] + }, + { + "name": "Move to Next Facility", + "id": "transaction_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "orchard_facility_dpps", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransactionEvent.json?class=TransactionEvent" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/id", + "destinationPath": "/epcList/index/name" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/epcList/index/id" + }, + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/name", + "destinationPath": "/quantityList/0/productName" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/quantityList/0/productId" + } + ], + "dummyFields": [ + { + "path": "/type", + "data": ["TransactionEvent", "Event"] + }, + { + "path": "/id", + "data": "https://events.sample.com/01/09359502000034/21/123456" + }, + { + "path": "/processType", + "data": "Weaving" + }, + { + "path": "/eventTime", + "data": "2024-09-01T12:00:00" + }, + { + "path": "/action", + "data": "add" + }, + { + "path": "/disposition", + "data": "https://ref.gs1.org/cbv/Disp-active" + }, + { + "path": "/bizStep", + "data": "https://ref.gs1.org/cbv/BizStep-commissioning" + }, + { + "path": "/bizLocation", + "data": "https://id.gs1.org/414/9520123456788" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/type", + "data": ["Item"] + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/id", + "data": "https://id.gs1.org/01/09520123456788/21/12345" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/name", + "data": "EV battery 300Ah." + }, + { + "path": "/sensorElementList/0/sensorMetadata/dataProcessingMethod", + "data": "https://standards.org/sensorMethod#1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/time", + "data": "2024-07-24T12:00:00" + }, + { + "path": "/sensorElementList/0/sensorReport/0/sensorType", + "data": "https://samplesensors.com/model1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/value", + "data": 25 + }, + { + "path": "/sensorElementList/0/sensorReport/0/uom", + "data": "KGM" + }, + { + "path": "/sensorElementList/0/sensorIntegrityProof", + "data": "https://jargon.sh" + }, + { + "path": "/sourcePartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/destinationPartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/bizTransaction", + "data": "https://ref.gs1.org/cbv/BTT-prodorder" + }, + { + "path": "/epcList/0/type", + "data": ["Item"] + }, + { + "path": "/quantityList/0/quantity", + "data": 20 + }, + { + "path": "/quantityList/0/uom", + "data": "KGM" + } + ], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "includeDownload": true, + "downloadFileName": "transaction" + } + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransactionEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transaction Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "localStorageParams": { "storageKey": "orchard_facility_dpps", "keyPath": "/0/epcList/index/name" } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_transaction_event", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/0/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "orchard_facility_transaction_event" + } + ] + } + ] + }, + { + "name": "Issue traceability Event", + "id": "issue_traceability_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "type": "array", + "items": { + "$ref": "#/$defs/Event" + }, + "$defs": { + "CredentialIssuer": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["CredentialIssuer"], + "default": ["CredentialIssuer"], + "items": { + "type": "string", + "enum": ["CredentialIssuer"] + } + }, + "id": { + "example": "did:web:identifiers.example-company.com:12345", + "type": "string", + "format": "uri", + "description": "The W3C DID of the issuer - should be a did:web or did:tdw" + }, + "name": { + "example": "Example Company Pty Ltd", + "type": "string", + "description": "The name of the issuer person or organisation" + }, + "otherIdentifier": { + "type": "array", + "items": { + "$ref": "#/$defs/Identifier" + }, + "description": "An optional list of other registered identifiers for this credential issuer " + } + }, + "description": "The issuer party (person or organisation) of a verifiable credential.", + "required": ["id", "name"] + }, + "Identifier": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["Identifier"], + "default": ["Identifier"], + "items": { + "type": "string", + "enum": ["Identifier"] + } + }, + "id": { + "example": "https://id.gs1.org/01/09520123456788/21/12345", + "type": "string", + "format": "uri", + "description": "The globally unique ID of the entity as a resolvable URL according to ISO 18975. ExamplesProduct - id.gs1.org/01/09520123456788/21/12345 Party - abr.business.gov.au/ABN/View?abn=90664869327. Facility - did:web:facilities.example-company.com:123. " + }, + "name": { + "example": "EV battery 300Ah.", + "type": "string", + "description": "The registered name of the entity within the identifier scheme. Examples: product - EV battery 300Ah, Party - Sample Company Pty Ltd, Facility - Green Acres battery factory" + }, + "registeredId": { + "example": "90664869327", + "type": "string", + "description": "The registration number (alphanumeric) of the entity within the register. Unique within the register." + }, + "idScheme": { + "$ref": "#/$defs/IdentifierScheme", + "description": "The identifier scheme. Examples : Product - id.gs1.org/01, Party - business.gov.au/abn, Facility - did:web:facilities.acme.com. " + } + }, + "description": "The ID and Name of an identified entity such as a product, facility, party, standard, etc. If the identifier is a W3C DID then the corresponding DID document SHOULD include a serviceEndpoint of type \"IdentityResolver\". If the identifier is not a W3C DID then the id property SHOULD be an identity resolver URL.", + "required": ["id", "name"] + }, + "IdentifierScheme": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["IdentifierScheme"], + "default": ["IdentifierScheme"], + "items": { + "type": "string", + "enum": ["IdentifierScheme"] + } + }, + "id": { + "example": "https://id.gs1.org/01/", + "type": "string", + "format": "uri", + "description": "The globally unique identifier of the registration scheme. The scheme should be registered and discoverable from vocabulary.uncefact.org/identifierSchemes" + }, + "name": { + "example": "Global Trade Identification Number (GTIN)", + "type": "string", + "description": "The name of the identifier scheme. " + } + }, + "description": "An identifier registration scheme for products, facilities, or organisations. Typically operated by a state, national or global authority." + }, + "TransformationEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["TransformationEvent", "Event"], + "default": ["TransformationEvent", "Event"], + "items": { + "type": "string", + "enum": ["TransformationEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "outputEPCList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of uniquely identified items that are the output of this transformation event - for example a list of individually identified bolts of cloth that are the output of a weaving process." + }, + "inputEPCList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of uniquely identified items that are the input of this transformation event - for example a list of individually identified bobbins of yarn that are the input of a weaving process." + }, + "inputQuantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "The quantified list of product classes that are the input of this transformation event - used when each item does not have a unique identity. for example the weight of raw cotton that is the input to a ginning process." + }, + "outputQuantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "The quantified list of product classes that are the output of this transformation event - used when each item does not have a unique identity. for example a count of the bales of cleaned cotton that are the output of a ginning process." + } + }, + "description": "Transformation represents an event in which input objects are fully or partially consumed and output objects are produced, such that any of the input objects may have contributed to all of the output objects - for example consuming bales of cotton to produce yarn." + }, + "SensorElement": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["SensorElement"], + "default": ["SensorElement"], + "items": { + "type": "string", + "enum": ["SensorElement"] + } + }, + "sensorMetadata": { + "$ref": "#/$defs/Sensor", + "description": "Data that describes the physical sensor that recorded the sensor data set." + }, + "sensorReport": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorData" + }, + "description": "A list of sensor readings from the given sensor relevant to the traceability event context." + }, + "sensorIntegrityProof": { + "type": "string", + "format": "uri", + "description": "An optional reference to a verifiable credential signed by the sensor device or device manufacturer that contains the digitally signed raw data associated with this sensor report." + } + }, + "description": "A SensorElement is used to carry data related to an event that is captured one sensor such as an IoT device. Include one sensor property and an array of sensor data values." + }, + "Sensor": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["Sensor"], + "default": ["Sensor"], + "items": { + "type": "string", + "enum": ["Sensor"] + } + }, + "device": { + "$ref": "#/$defs/Item", + "description": "The device Identifier for the sensor as a URI (typically an EPC)" + }, + "dataProcessingMethod": { + "example": "https://standards.org/sensorMethod#1234", + "type": "string", + "format": "uri", + "description": "The data processing method used by the sensor - should reference a documented standard criteria as a URI" + } + }, + "description": "A physical sensor that records a sensor data set." + }, + "Item": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["Item"], + "default": ["Item"], + "items": { + "type": "string", + "enum": ["Item"] + } + }, + "id": { + "example": "https://id.gs1.org/01/09520123456788/21/12345", + "type": "string", + "format": "uri", + "description": "The globally unique ID of the product as a URI. Ideally as a resolvable URL according to ISO 18975. " + }, + "name": { + "example": "EV battery 300Ah.", + "type": "string", + "description": "The name of the product class to which the product item belongs. " + } + }, + "description": "A specific serialised trade item which is an instance of a more generic product. ", + "required": ["id", "name"] + }, + "SensorData": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["SensorData"], + "default": ["SensorData"], + "items": { + "type": "string", + "enum": ["SensorData"] + } + }, + "time": { + "example": "2024-07-24T12:00:00", + "type": "string", + "format": "date-time", + "description": "the timestamp at which the sensor reading was made." + }, + "sensorType": { + "example": "https://samplesensors.com/model1234", + "type": "string", + "format": "uri", + "description": "the measurement type of the sensor reading, as a URI reference to a measurement method specification." + }, + "value": { + "example": 25, + "type": "number", + "description": "the sensor reading" + }, + "uom": { + "type": "string", + "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode", + "description": "the unit of measure for the sensor reading, drawn from UNECE rec20 code list.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n " + } + }, + "description": "A data point read by a sensor." + }, + "QuantityElement": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["QuantityElement"], + "default": ["QuantityElement"], + "items": { + "type": "string", + "enum": ["QuantityElement"] + } + }, + "productId": { + "example": "https://id.gs1.org/01/09520123456788/21/12345", + "type": "string", + "format": "uri", + "description": "THe identifier of a product class (as opposed to a product instance) such as a GTIN code for a manufactured product." + }, + "productName": { + "example": "EV battery 300Ah.", + "type": "string", + "description": "The registered name of the product within the identifier scheme. " + }, + "quantity": { + "example": 20, + "type": "number", + "description": "The numeric quantity of the product class (eg 100 kg of cotton)" + }, + "uom": { + "type": "string", + "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode", + "description": "The unit of measure for the quantity value (eg Kg or meters etc) using the UNECE Rec 20 unit of measure codelist.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://vocabulary.uncefact.org/UnitMeasureCode\n " + } + }, + "description": "The quantity element is used to define the quantity (eg 100 kg of a product class. Used when serialised items are not applicable.", + "required": ["productId", "productName", "quantity"] + }, + "ObjectEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["ObjectEvent", "Event"], + "default": ["ObjectEvent", "Event"], + "items": { + "type": "string", + "enum": ["ObjectEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "epcList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "A list of uniquely identified items (eg specific items serial numbers or tagged shipments / packages) that are the focus of this object event. " + }, + "quantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "A quantified list of product classes (eg GS1 GTINs) that are the focus of this object event" + } + }, + "description": "Object represents an event that happened to one or more physical or digital objects - such as an inspection or certification of a product or shipment. The physical objects may be identified either as specific items (eg a unique consignment number) or as a quantified amount of a product class (eg 100Kg of cotton yarn)" + }, + "AggregationEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["AggregationEvent", "Event"], + "default": ["AggregationEvent", "Event"], + "items": { + "type": "string", + "enum": ["AggregationEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "parentEPC": { + "$ref": "#/$defs/Item", + "description": "The unique item identifier that is the result of this aggregation. Typically a packaging ID used in shipments that represents a box/ pallet / container of contained items." + }, + "childEPCList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of child items that have been aggregated into the parent (or dis-aggregated from the parent). Maybe a list of package references (eg boxes on a pallet) or may be individual items (eg products in a box)." + }, + "childQuantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "List of quantified product classes that have been aggregated into the parent. Used when the child items do not have unique identifiers (eg 100 Kg of cotton bales)" + } + }, + "description": "Aggregation represents an event that happened to one or more objects that are physically aggregated together (physically constrained to be in the same place at the same time, as when cases are aggregated to a pallet). This event is also used to represent de-aggregation (eg unpacking) when businessStepCode is unpacking." + }, + "TransactionEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["TransactionEvent", "Event"], + "default": ["TransactionEvent", "Event"], + "items": { + "type": "string", + "enum": ["TransactionEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "sourcePartyId": { + "example": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "type": "string", + "format": "uri", + "description": "The source party for this supply chain transaction - typically the seller party" + }, + "destinationPartyId": { + "example": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "type": "string", + "format": "uri", + "description": "The destination party for this supply chain transaction - typically the buyer party." + }, + "bizTransaction": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BTT", + "description": "The document type representing the trade transaction drawn from the business transaction type vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BTT\n " + }, + "epcList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of uniquely identified trade items included in this supply chain transaction." + }, + "quantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "List of quantified product classes that are included in this transaction. Used when the trade items do not have unique identifiers (eg 100 reels of yarn)" + } + }, + "description": "Transaction represents an event in which one or more objects become associated or disassociated with one or more identified business transactions - such as the purchase / shipment of goods between buyer and seller.", + "required": ["sourcePartyId", "destinationPartyId"] + }, + "AssociationEvent": { + "type": "object", + "additionalProperties": true, + "properties": { + "type": { + "type": "array", + "readOnly": true, + "const": ["AssociationEvent", "Event"], + "default": ["AssociationEvent", "Event"], + "items": { + "type": "string", + "enum": ["AssociationEvent", "Event"] + } + }, + "id": { + "readOnly": true, + "example": "https://events.sample.com/01/09359502000034/21/123456", + "type": "string", + "format": "uri", + "description": "The unique identifier of this event - SHOULD be a UUID" + }, + "processType": { + "example": "Weaving", + "type": "string", + "description": "A human readable name for industry specific process represented by this event." + }, + "eventTime": { + "example": "2024-09-01T12:00:00", + "type": "string", + "format": "date-time", + "description": "The ISO-8601 date time when the event occurred." + }, + "action": { + "type": "string", + "enum": ["observe", "add", "delete"], + "example": "observe", + "description": "Code describing how an event relates to the life-cycle of the entity impacted by the event." + }, + "disposition": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/Disp", + "description": "Disposition code describing the state of the item after the event. \n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/Disp\n " + }, + "bizStep": { + "type": "string", + "x-external-enumeration": "https://ref.gs1.org/cbv/BizStep", + "description": "A business step code drawn from a controlled vocabulary.\n\n This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL: https://ref.gs1.org/cbv/BizStep\n " + }, + "bizLocation": { + "example": "https://id.gs1.org/414/9520123456788", + "type": "string", + "format": "uri", + "description": "A Business Location is a uniquely identified and discretely recorded geospatial location that is meant to designate the specific place where an object is assumed to be following an event until it is reported to be at a different Business Location by a subsequent event. The bizLocation must be a resolvable URI that links to facility information and geo-location data." + }, + "sensorElementList": { + "type": "array", + "items": { + "$ref": "#/$defs/SensorElement" + }, + "description": "An array (one for each sensor) of sensor device data sets associated with the event. " + }, + "parentEPC": { + "$ref": "#/$defs/Item", + "description": "The unique item identifier that is the parent of this association. Typically an assembled product ID such as a desktop computer that is built from the associated child components." + }, + "childEPCList": { + "type": "array", + "items": { + "$ref": "#/$defs/Item" + }, + "description": "The list of child items that have been assembled to create the parent - for example the power supply or hard drive components of a desktop computer." + }, + "childQuantityList": { + "type": "array", + "items": { + "$ref": "#/$defs/QuantityElement" + }, + "description": "List of quantified product classes that have been assembled into the parent. Used when the child items do not have unique identifiers (eg brackets and screws used in the assembly of a desktop computer)" + } + }, + "description": "The association event represents the assembly of child sub-components to create a parent assembled item. For example a desktop computer assembled from power supply, hard drive, and motherboard. The association event is very similar in structure to the aggregation event but is used for physical assembly. An association event may represent a bill of materials used to assemble a product whilst an aggregation event may represent a packing list or items for transport. " + }, + "Event": { + "type": "object", + "oneOf": [ + { + "$ref": "#/$defs/TransformationEvent" + }, + { + "$ref": "#/$defs/ObjectEvent" + }, + { + "$ref": "#/$defs/AggregationEvent" + }, + { + "$ref": "#/$defs/TransactionEvent" + }, + { + "$ref": "#/$defs/AssociationEvent" + } + ], + "description": "This abstract event structure provides a common language to describe supply chain events such as shipments, inspections, manufacturing processes, etc. There are four types of EPCIS event but this is an abstract class representing all common properties of an EPCIS event.", + "additionalProperties": true + } + } + }, + "data": [ + { + "type": ["TransformationEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "observe", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "outputEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "inputEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "inputQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ], + "outputQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + } + ], + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processTraceabilityEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Traceability Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "eventTypePath": "/0/type/0" + } + ] + } + ] + }, + { + "name": "Issue Object Event", + "id": "issue_object_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/ObjectEvent.json?class=ObjectEvent" + }, + "data": { + "type": ["ObjectEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "add", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "epcList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "quantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processObjectEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Object Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id" + } + ] + } + ] + }, + { + "name": "Issue Association Event", + "id": "issue_association_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/AssociationEvent.json?class=AssociationEvent" + }, + "data": { + "type": ["AssociationEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "add", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "parentEPC": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "childEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "childQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processAssociationEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Association Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id" + } + ] + } + ] + }, + { + "name": "Issue Aggregation Event", + "id": "issue_aggregation_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/AggregationEvent.json?class=AggregationEvent" + }, + "data": { + "type": ["AggregationEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "add", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "parentEPC": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "childEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "childQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processAggregationEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Aggregation Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id" + } + ] + } + ] + }, + { + "name": "Issue Transformation Event", + "id": "issue_transformation_event", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransformationEvent.json?class=TransformationEvent" + }, + "data": { + "type": ["TransformationEvent", "Event"], + "id": "https://events.sample.com/01/09359502000034/21/123456", + "processType": "Weaving", + "eventTime": "2024-09-01T12:00:00", + "action": "observe", + "disposition": "https://ref.gs1.org/cbv/Disp-active", + "bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning", + "bizLocation": "https://id.gs1.org/414/9520123456788", + "sensorElementList": [ + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + }, + { + "sensorMetadata": { + "device": { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + "dataProcessingMethod": "https://standards.org/sensorMethod#1234" + }, + "sensorReport": [ + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + }, + { + "time": "2024-07-24T12:00:00", + "sensorType": "https://samplesensors.com/model1234", + "value": 25, + "uom": "KGM" + } + ], + "sensorIntegrityProof": "https://jargon.sh" + } + ], + "outputEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "inputEPCList": [ + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + }, + { + "type": ["Item"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah." + } + ], + "inputQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ], + "outputQuantityList": [ + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + }, + { + "productId": "https://id.gs1.org/01/09520123456788/21/12345", + "productName": "EV battery 300Ah.", + "quantity": 20, + "uom": "KGM" + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransformationEventOnly", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transformation Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id" + } + ] + } + ] + }, + { + "name": "Issue DCC", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/ConformityCredential/v/working/artefacts/jsonSchemas/ConformityAttestation.json?class=ConformityAttestation" + }, + "data": { + "type": ["ConformityAttestation", "Attestation"], + "id": "https://exampleCAB.com/01/09359502000034", + "name": "Conformity attestation Name e.g. Product GHG Footprint certificate in accordance with GBA Rulebook.", + "assessorLevel": "Self", + "assessmentLevel": "GovtApproval", + "attestationType": "certification", + "description": "Attestation description SampleCAB Inc attests that the product class LiFePO4 EV batteries manufactured at Sample battery facility have reported GHG foorptint that conform to the GBA rulebook version 1.5.", + "issuedToParty": { + "type": ["Party"], + "id": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "name": "ABC Example Company PTY LTD", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "description": "A leading electric energy storage company" + }, + "authorisation": [ + { + "type": ["Endorsement"], + "id": "https://authority.gov/schemeABC/123456789", + "name": "Endorsement name e.g. Accreditation of certifiers.com under the Australian National Greenhouse and Energy Reporting scheme (NGER)", + "trustmark": { + "type": ["BinaryFile"], + "fileName": "GHG protocol trust mark", + "fileType": "image/png", + "file": "iVBORw0KGgoAAAANSUhEUgAAADkAAAA2CAYAAAB9TjFQAAAABGdBTUEAAi/9H3pWy6vI9uFdAAAAAElFTkSuQmCC" + }, + "issuingAuthority": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "Authorising Entity", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "endorsementEvidence": { + "type": ["Link"], + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc" + } + }, + { + "type": ["Endorsement"], + "id": "https://authority.gov/schemeABC/123456789", + "name": "Endorsement name e.g. Accreditation of certifiers.com under the Australian National Greenhouse and Energy Reporting scheme (NGER)", + "trustmark": { + "type": ["BinaryFile"], + "fileName": "GHG protocol trust mark", + "fileType": "image/png", + "file": "iVBORw0KGgoAAAANSUhEUgAAADkAAAA2CAYAAAB9TjFQAAAABGdBTUEAAi/9H3pWy6vI9uFdAAAAAElFTkSuQmCC" + }, + "issuingAuthority": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "Authorising Entity", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "endorsementEvidence": { + "type": ["Link"], + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc" + } + } + ], + "conformityCertificate": { + "type": ["SecureLink", "Link"], + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "encryptionMethod": "none" + }, + "auditableEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "encryptionMethod": "none" + }, + "scope": { + "type": ["ConformityAssessmentScheme", "Standard"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf", + "name": "GBA Battery Passport Greenhouse Gas Rulebook - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "issueDate": "2023-12-05", + "trustmark": { + "type": ["BinaryFile"], + "fileName": "GHG protocol trust mark", + "fileType": "image/png", + "file": "iVBORw0KGgoAAAANSUhEUgAAADkAAAA2CAYAAAB9TjFQAAAABGdBTUEAAi/9H3pWy6vI9uFdAAAAAElFTkSuQmCC" + } + }, + "assessment": [ + { + "type": ["ConformityAssessment", "Declaration"], + "assessmentDate": "2024-04-25", + "id": "https://exampleCAB.com/38f73303-a39e-45a7-b8b7-e73517548f27/01", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf", + "name": "GBA Battery Passport", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "AU", + "administeredBy": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "emissions intensity", + "metricValue": { + "type": ["Measure"], + "value": 1.8, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "type": ["Metric"], + "metricName": "emissions footprint", + "metricValue": { + "type": ["Measure"], + "value": 12, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + }, + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Other battery assessment criteria rulebook", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "emissions intensity", + "metricValue": { + "type": ["Measure"], + "value": 1.8, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "type": ["Metric"], + "metricName": "emissions footprint", + "metricValue": { + "type": ["Measure"], + "value": 12, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + } + ], + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "emissions intensity", + "metricValue": { + "type": ["Measure"], + "value": 10, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "type": ["Metric"], + "metricName": "emissions footprint", + "metricValue": { + "type": ["Measure"], + "value": 10, + "unit": "kg" + }, + "score": "BB", + "accuracy": 0.05 + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "assessedProduct": [ + { + "type": ["Product"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "09520123456788.21.12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "IDverifiedByCAB": true + }, + { + "type": ["Product"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "09520123456788.21.12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "IDverifiedByCAB": true + }, + { + "type": ["Product"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "09520123456788.21.12345", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "IDverifiedByCAB": true + } + ], + "assessedFacility": [ + { + "type": ["Facility"], + "id": "https://sample-facility-register.com/1234567", + "name": "Greenacres battery factory", + "registeredId": "1234567", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "locationInformation": { + "type": ["Location"], + "plusCode": "https://plus.codes/8CGRC78W+MM", + "geoLocation": { + "type": "Point", + "coordinates": [12.34, 56.78, 90.12] + }, + "geoBoundary": { + "type": "Polygon", + "coordinates": [[[12.34, 56.78, 90.12]]] + } + }, + "address": { + "type": ["Address"], + "streetAddress": "level 11, 15 London Circuit", + "postalCode": "2601", + "addressLocality": "Acton", + "addressRegion": "ACT", + "addressCountry": "AU" + }, + "IDverifiedByCAB": true + }, + { + "type": ["Facility"], + "id": "https://sample-facility-register.com/1234567", + "name": "Greenacres battery factory", + "registeredId": "1234567", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "locationInformation": { + "type": ["Location"], + "plusCode": "https://plus.codes/8CGRC78W+MM", + "geoLocation": { + "type": "Point", + "coordinates": [12.34, 56.78, 90.12] + }, + "geoBoundary": { + "type": "Polygon", + "coordinates": [[[12.34, 56.78, 90.12]]] + } + }, + "address": { + "type": ["Address"], + "streetAddress": "level 11, 15 London Circuit", + "postalCode": "2601", + "addressLocality": "Acton", + "addressRegion": "ACT", + "addressCountry": "AU" + }, + "IDverifiedByCAB": true + }, + { + "type": ["Facility"], + "id": "https://sample-facility-register.com/1234567", + "name": "Greenacres battery factory", + "registeredId": "1234567", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "locationInformation": { + "type": ["Location"], + "plusCode": "https://plus.codes/8CGRC78W+MM", + "geoLocation": { + "type": "Point", + "coordinates": [12.34, 56.78, 90.12] + }, + "geoBoundary": { + "type": "Polygon", + "coordinates": [[[12.34, 56.78, 90.12]]] + } + }, + "address": { + "type": ["Address"], + "streetAddress": "level 11, 15 London Circuit", + "postalCode": "2601", + "addressLocality": "Acton", + "addressRegion": "ACT", + "addressCountry": "AU" + }, + "IDverifiedByCAB": true + } + ], + "assessedOrganisation": { + "type": ["Party"], + "id": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "name": "Sample Company Pty Ltd.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "description": "A leading electric energy storage company" + }, + "auditor": { + "type": ["Party"], + "id": "https://abr.business.gov.au/ABN/View?abn=90664869327", + "name": "Auditor Name", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "description": "A leading electric energy storage company" + } + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDigitalConformityCredential", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "digitalConformityCredential": { + "context": ["https://test.uncefact.org/vocabulary/untp/dcc/0.5.0/"], + "renderTemplate": [ + { + "template": " DigitalConformityCredential
CONFORMITY CREDENTIAL

{{credentialSubject.name}}

{{credentialSubject.description}}

Level of independent assurance:

{{credentialSubject.assessorLevel}}

Type of authority endorsement:

{{credentialSubject.assessmentLevel}}

Type of the attestation credential:

{{credentialSubject.attestationType}}
Assessments

The list of specific assessments made within this conformity attestation.

{{#each credentialSubject.assessment}}

{{conformityTopic}}

Declared values
{{#each declaredValue}}
Name
{{metricName}}
Value
{{metricValue.value}}{{metricValue.unit}}
Accuracy
{{accuracy}}
{{/each}}
Assessment Criteria
{{#each assessmentCriteria}}
{{name}}
    {{#each thresholdValues}}
  • Industry average {{metricName}} is {{metricValue.value}}{{metricValue.unit}}.

  • {{/each}}
{{/each}}
Assessed facilities
{{#each assessedFacility}}

{{name}}

{{/each}}
Assessed products
{{#each assessedProduct}}
{{name}}
{{/each}}
Other details
Assessed
{{assessmentDate}}
Organisation assessed
{{assessedOrganisation.name}}
{{/each}}
Issuer endorsement
{{#each credentialSubject.authorisation}}
trustmark
{{name}} is accredited by {{issuingAuthority.name}}.
{{/each}}
Issuing details
Valid from
{{validFrom}}
Valid until
{{validUntil}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalConformityCredential"], + "dlrLinkTitle": "DigitalConformityCredential", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + } + ] + }, + { + "name": "Issue DFR", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalFacilityRecord/v/working/artefacts/jsonSchemas/Facility.json?class=Facility" + }, + "data": { + "type": ["Facility"], + "id": "https://id.gs1.org/414/9359502000034", + "registeredId": "4149359502000034", + "description": "LiFePO4 Battery plant number 7", + "name": "Example facility 7", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "countryOfOperation": "AU", + "processCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells and primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells and primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "operatedByParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "otherIdentifier": [ + { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + } + ], + "address": { + "streetAddress": "level 11, 15 London Circuit", + "postalCode": "2601", + "addressLocality": "Acton", + "addressRegion": "ACT", + "addressCountry": "AU" + }, + "locationInformation": { + "plusCode": "https://plus.codes/8CGRC78W+MM", + "geoLocation": { + "type": "Point", + "coordinates": [3.141579, 3.141579] + }, + "geoBoundary": { + "type": "Polygon", + "coordinates": [[[3.141579, 3.141579]]] + } + }, + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf", + "name": "GBA Battery Passport Greenhouse Gas Rulebook - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "NNational Greenhouse and Energy Reporting (Measurement) Determination", + "jurisdictionCountry": "Enumeration Value", + "administeredBy": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines.", + "thresholdValues": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + }, + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines.", + "thresholdValues": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + } + ], + "declaredValue": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ], + "conformance": true, + "conformityTopic": "environment.emissions", + "conformityEvidence": { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-03-15", + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf", + "name": "GBA Battery Passport Greenhouse Gas Rulebook - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "NNational Greenhouse and Energy Reporting (Measurement) Determination", + "jurisdictionCountry": "Enumeration Value", + "administeredBy": { + "type": ["Identifier"], + "id": "https://id.gs1.org/01/09520123456788/21/12345", + "name": "EV battery 300Ah.", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + } + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines.", + "thresholdValues": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + }, + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "GBA Battery rule book v2.0 battery assembly guidelines.", + "thresholdValues": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ] + } + ], + "declaredValue": [ + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + }, + { + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 10, + "unit": "KGM" + }, + "score": "BB", + "accuracy": 0.05 + } + ], + "conformance": true, + "conformityTopic": "environment.emissions", + "conformityEvidence": { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "GBA rule book conformity certificate", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + } + ] + }, + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [ + { + "path": "/eventID", + "handler": "generateIdWithSerialNumber" + } + ] + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDigitalFacilityRecord", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "digitalFacilityRecord": { + "context": ["https://test.uncefact.org/vocabulary/untp/dfr/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Facility Record
FACILITY RECORD

{{credentialSubject.name}}

{{credentialSubject.description}}

Country
{{credentialSubject.countryOfOperation}}
Address
{{!-- TODO 1: plain text --}} {{!--
{{credentialSubject.address.streetAddress}} {{credentialSubject.address.addressLocality}}, {{credentialSubject.address.postalCode}}
--}} {{!-- TODO 2: confirm --}} {{!-- {{credentialSubject.address.streetAddress}} --}} {{!-- TODO 3: confirm --}} {{credentialSubject.address.streetAddress}} {{credentialSubject.address.addressLocality}}, {{credentialSubject.address.postalCode}}
Processes
{{#each credentialSubject.processCategory}} {{name}} {{/each}}
Geolocation
Show on map
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
Valid until
{{validUntil}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalFacilityRecord"], + "dlrLinkTitle": "DigitalFacilityRecord", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + } + ] + }, + { + "name": "Issue DIA", + "id": "produce_product", + "components": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalIdentityAnchor/v/working/artefacts/jsonSchemas/RegisteredIdentity.json?class=RegisteredIdentity" + }, + "data": { + "type": [ + "RegisteredIdentity", + "Identifier" + ], + "id": "https://id.gs1.org/01/09359502000010", + "name": "Sample business Ltd", + "registeredId": "0109359502000010", + "idScheme": { + "type": [ + "IdentifierScheme" + ], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "registerType": "Business", + "registrationScopeList": [ + "https://jargon.sh", + "https://jargon.sh" + ] + }, + "style": {}, + "className": "", + "constructData": { + "mappingFields": [], + "dummyFields": [], + "generationFields": [] + } + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "label": "Issue DIA", + "description": "", + "includeDownload": false, + "downloadFileName": "" + } + } + ], + "services": [ + { + "name": "processDigitalIdentityAnchor", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "digitalIdentityAnchor": { + "context": ["https://test.uncefact.org/vocabulary/untp/dia/0.2.1/"], + "renderTemplate": [ + { + "template": " Digital Identity Anchor
DIGITAL IDENTITY ANCHOR

{{credentialSubject.name}}

{{credentialSubject.id}}

{{credentialSubject.idScheme.name}}

{{credentialSubject.registeredId}}

Type

{{credentialSubject.registerType}}

Issuing details
Issued by
Valid from
{{validFrom}}
Valid until
{{validUntil}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalIdentityAnchor"], + "dlrLinkTitle": "DigitalIdentityAnchor", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + } + ] + } + ] + }, + { + "name": "Packhouse Facility", + "type": "producer", + "assets": { + "logo": "Cherries-farm-logo.webp", + "brandTitle": "Packhouse Facility" + }, + "styles": { + "primaryColor": "#b5651d", + "secondaryColor": "#391561", + "tertiaryColor": "#ffffff" + }, + "features": [ + { + "name": "Issue DPP", + "id": "produce_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "orchard_facility_transaction_event", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "095201234", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "15 August 2024", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/linkResolver", + "destinationPath": "/traceabilityInformation/traceabilityEvent/0/linkURL" + } + ], + "dummyFields": [ + { + "path": "/traceabilityInformation/0/eventType", + "data": "transaction" + } + ], + "generationFields": [] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Packhouse Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "packhouse_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "packhouse_facility_dpps" + } + ] + } + ] + }, + { + "name": "Move to Next Facility", + "id": "transaction_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "packhouse_facility_dpps", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransactionEvent.json?class=TransactionEvent" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/id", + "destinationPath": "/epcList/index/name" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/epcList/index/id" + }, + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/name", + "destinationPath": "/quantityList/0/productName" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/quantityList/0/productId" + } + ], + "dummyFields": [ + { + "path": "/type", + "data": ["TransactionEvent", "Event"] + }, + { + "path": "/id", + "data": "https://events.sample.com/01/09359502000034/21/123456" + }, + { + "path": "/processType", + "data": "Weaving" + }, + { + "path": "/eventTime", + "data": "2024-09-01T12:00:00" + }, + { + "path": "/action", + "data": "add" + }, + { + "path": "/disposition", + "data": "https://ref.gs1.org/cbv/Disp-active" + }, + { + "path": "/bizStep", + "data": "https://ref.gs1.org/cbv/BizStep-commissioning" + }, + { + "path": "/bizLocation", + "data": "https://id.gs1.org/414/9520123456788" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/type", + "data": ["Item"] + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/id", + "data": "https://id.gs1.org/01/09520123456788/21/12345" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/name", + "data": "EV battery 300Ah." + }, + { + "path": "/sensorElementList/0/sensorMetadata/dataProcessingMethod", + "data": "https://standards.org/sensorMethod#1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/time", + "data": "2024-07-24T12:00:00" + }, + { + "path": "/sensorElementList/0/sensorReport/0/sensorType", + "data": "https://samplesensors.com/model1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/value", + "data": 25 + }, + { + "path": "/sensorElementList/0/sensorReport/0/uom", + "data": "KGM" + }, + { + "path": "/sensorElementList/0/sensorIntegrityProof", + "data": "https://jargon.sh" + }, + { + "path": "/sourcePartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/destinationPartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/bizTransaction", + "data": "https://ref.gs1.org/cbv/BTT-prodorder" + }, + { + "path": "/epcList/0/type", + "data": ["Item"] + }, + { + "path": "/quantityList/0/quantity", + "data": 20 + }, + { + "path": "/quantityList/0/uom", + "data": "KGM" + } + ], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "includeDownload": true, + "downloadFileName": "transaction" + } + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransactionEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Packhouse Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transaction Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "localStorageParams": { "storageKey": "packhouse_facility_dpps", "keyPath": "/0/epcList/index/name" } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "packhouse_facility_transaction_event", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/0/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "packhouse_facility_transaction_event" + } + ] + } + ] + } + ] + }, + { + "name": "Fumigation and Freight Forwarding Facility", + "type": "producer", + "assets": { + "logo": "Cherries-farm-logo.webp", + "brandTitle": "Fumigation and Freight Forwarding Facility" + }, + "styles": { + "primaryColor": "#b5651d", + "secondaryColor": "#391561", + "tertiaryColor": "#ffffff" + }, + "features": [ + { + "name": "Issue DPP", + "id": "produce_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "packhouse_facility_transaction_event", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "095201234", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "15 August 2024", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/linkResolver", + "destinationPath": "/traceabilityInformation/traceabilityEvent/0/linkURL" + } + ], + "dummyFields": [ + { + "path": "/traceabilityInformation/0/eventType", + "data": "transaction" + } + ], + "generationFields": [] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Fumigation and Freight Forwarding Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "fumigation_and_freight_forwarding_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "fumigation_and_freight_forwarding_facility_dpps" + } + ] + } + ] + }, + { + "name": "Move to Next Facility", + "id": "transaction_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "fumigation_and_freight_forwarding_facility_dpps", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransactionEvent.json?class=TransactionEvent" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/id", + "destinationPath": "/epcList/index/name" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/epcList/index/id" + }, + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/name", + "destinationPath": "/quantityList/0/productName" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/quantityList/0/productId" + } + ], + "dummyFields": [ + { + "path": "/type", + "data": ["TransactionEvent", "Event"] + }, + { + "path": "/id", + "data": "https://events.sample.com/01/09359502000034/21/123456" + }, + { + "path": "/processType", + "data": "Weaving" + }, + { + "path": "/eventTime", + "data": "2024-09-01T12:00:00" + }, + { + "path": "/action", + "data": "add" + }, + { + "path": "/disposition", + "data": "https://ref.gs1.org/cbv/Disp-active" + }, + { + "path": "/bizStep", + "data": "https://ref.gs1.org/cbv/BizStep-commissioning" + }, + { + "path": "/bizLocation", + "data": "https://id.gs1.org/414/9520123456788" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/type", + "data": ["Item"] + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/id", + "data": "https://id.gs1.org/01/09520123456788/21/12345" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/name", + "data": "EV battery 300Ah." + }, + { + "path": "/sensorElementList/0/sensorMetadata/dataProcessingMethod", + "data": "https://standards.org/sensorMethod#1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/time", + "data": "2024-07-24T12:00:00" + }, + { + "path": "/sensorElementList/0/sensorReport/0/sensorType", + "data": "https://samplesensors.com/model1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/value", + "data": 25 + }, + { + "path": "/sensorElementList/0/sensorReport/0/uom", + "data": "KGM" + }, + { + "path": "/sensorElementList/0/sensorIntegrityProof", + "data": "https://jargon.sh" + }, + { + "path": "/sourcePartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/destinationPartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/bizTransaction", + "data": "https://ref.gs1.org/cbv/BTT-prodorder" + }, + { + "path": "/epcList/0/type", + "data": ["Item"] + }, + { + "path": "/quantityList/0/quantity", + "data": 20 + }, + { + "path": "/quantityList/0/uom", + "data": "KGM" + } + ], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "includeDownload": true, + "downloadFileName": "transaction" + } + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransactionEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Fumigation and Freight Forwarding Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transaction Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "localStorageParams": { + "storageKey": "fumigation_and_freight_forwarding_facility_dpps", + "keyPath": "/0/epcList/index/name" + } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "fumigation_and_freight_forwarding_facility_transaction_event", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/0/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "fumigation_and_freight_forwarding_facility_transaction_event" + } + ] + } + ] + } + ] + }, + { + "name": "Airport Terminal Facility", + "type": "producer", + "assets": { + "logo": "Cherries-farm-logo.webp", + "brandTitle": "Airport Terminal" + }, + "styles": { + "primaryColor": "#b5651d", + "secondaryColor": "#391561", + "tertiaryColor": "#ffffff" + }, + "features": [ + { + "name": "Issue DPP", + "id": "produce_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "fumigation_and_freight_forwarding_facility_transaction_event", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/DigitalProductPassport/v/working/artefacts/jsonSchemas/Product.json?class=Product" + }, + "data": { + "type": ["Product"], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "095201234", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": ["Link"], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": ["Classification"], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": ["Link"], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": ["Identifier"], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": ["Identifier"], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": ["Dimension"], + "weight": { "value": 10, "unit": "kg" }, + "length": { "value": 90, "unit": "mm" }, + "width": { "value": 60, "unit": "mm" }, + "height": { "value": 10, "unit": "mm" }, + "volume": { "value": 7.5, "unit": "L" } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "15 August 2024", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": ["Link"], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": ["Link"], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": ["Material"], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": ["Classification"], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { "value": 1.0, "unit": "kg" }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": ["Claim", "Declaration"], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": ["Metric"], + "metricName": "GHG emissions intensity", + "metricValue": { "value": 1.5, "unit": "kg" }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": ["Standard"], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": ["Identifier"], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": ["Regulation"], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": ["Identifier"], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": ["Criterion"], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": ["Metric"], + "metricName": "Minimum compressive strength", + "metricValue": { "value": 500, "unit": "MPA" } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": ["SecureLink", "Link"], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": ["CircularityPerformance"], + "recyclingInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": ["Link"], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": ["EmissionsPerformance"], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": ["Standard"], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": ["Identifier"], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": ["IdentifierScheme"], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "className": "json-form", + "style": { + "margin": "40px auto", + "paddingTop": "40px", + "width": "80%" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/linkResolver", + "destinationPath": "/traceabilityInformation/traceabilityEvent/0/linkURL" + } + ], + "dummyFields": [ + { + "path": "/traceabilityInformation/0/eventType", + "data": "transaction" + } + ], + "generationFields": [] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": {} + } + ], + "services": [ + { + "name": "processDPP", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Airport Terminal Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "dpp": { + "context": ["https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/"], + "renderTemplate": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalProductPassport"], + "dlrLinkTitle": "Cherries Product Passport", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/id" + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "airport_terminal_facility_dpps", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "airport_terminal_facility_dpps" + } + ] + } + ] + }, + { + "name": "Move to Next Facility", + "id": "transaction_product", + "components": [ + { + "name": "LocalStorageLoader", + "type": "EntryData", + "props": { + "storageKey": "airport_terminal_facility_dpps", + "nestedComponents": [ + { + "name": "JsonForm", + "type": "EntryData", + "props": { + "schema": { + "url": "https://jargon.sh/user/unece/traceabilityEvents/v/working/artefacts/jsonSchemas/TransactionEvent.json?class=TransactionEvent" + } + }, + "constructData": { + "mappingFields": [ + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/id", + "destinationPath": "/epcList/index/name" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/epcList/index/id" + }, + { + "sourcePath": "/decodedEnvelopedVC/credentialSubject/name", + "destinationPath": "/quantityList/0/productName" + }, + { + "sourcePath": "/linkResolver", + "destinationPath": "/quantityList/0/productId" + } + ], + "dummyFields": [ + { + "path": "/type", + "data": ["TransactionEvent", "Event"] + }, + { + "path": "/id", + "data": "https://events.sample.com/01/09359502000034/21/123456" + }, + { + "path": "/processType", + "data": "Weaving" + }, + { + "path": "/eventTime", + "data": "2024-09-01T12:00:00" + }, + { + "path": "/action", + "data": "add" + }, + { + "path": "/disposition", + "data": "https://ref.gs1.org/cbv/Disp-active" + }, + { + "path": "/bizStep", + "data": "https://ref.gs1.org/cbv/BizStep-commissioning" + }, + { + "path": "/bizLocation", + "data": "https://id.gs1.org/414/9520123456788" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/type", + "data": ["Item"] + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/id", + "data": "https://id.gs1.org/01/09520123456788/21/12345" + }, + { + "path": "/sensorElementList/0/sensorMetadata/device/name", + "data": "EV battery 300Ah." + }, + { + "path": "/sensorElementList/0/sensorMetadata/dataProcessingMethod", + "data": "https://standards.org/sensorMethod#1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/time", + "data": "2024-07-24T12:00:00" + }, + { + "path": "/sensorElementList/0/sensorReport/0/sensorType", + "data": "https://samplesensors.com/model1234" + }, + { + "path": "/sensorElementList/0/sensorReport/0/value", + "data": 25 + }, + { + "path": "/sensorElementList/0/sensorReport/0/uom", + "data": "KGM" + }, + { + "path": "/sensorElementList/0/sensorIntegrityProof", + "data": "https://jargon.sh" + }, + { + "path": "/sourcePartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/destinationPartyId", + "data": "https://abr.business.gov.au/ABN/View?abn=90664869327" + }, + { + "path": "/bizTransaction", + "data": "https://ref.gs1.org/cbv/BTT-prodorder" + }, + { + "path": "/epcList/0/type", + "data": ["Item"] + }, + { + "path": "/quantityList/0/quantity", + "data": 20 + }, + { + "path": "/quantityList/0/uom", + "data": "KGM" + } + ], + "generationFields": [ + { + "path": "/eventTime", + "handler": "generateCurrentDatetime" + } + ] + } + } + ] + } + }, + { + "name": "CustomButton", + "type": "Submit", + "props": { + "includeDownload": true, + "downloadFileName": "transaction" + } + } + ], + "services": [ + { "name": "convertObjectToArray1Item", "parameters": [{ "path": "/data" }] }, + { + "name": "processTransactionEvent", + "parameters": [ + { + "vckit": { + "vckitAPIUrl": "http://localhost:3332/v2", + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Airport Terminal Facility" + }, + "headers": { + "Authorization": "Bearer test123" + } + }, + "traceabilityEvent": { + "context": ["https://test.uncefact.org/vocabulary/untp/dte/0.5.0/"], + "renderTemplate": [ + { + "template": "
DIGITAL TRACEABILITY EVENT
{{#each credentialSubject}}
{{processType}}
{{bizStep}} {{eventTime}}
Transformation
Output
{{#each outputEPCList}}
{{name}}
View
{{/each}} {{#each outputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}

Transformed

Input
{{#each inputEPCList}}
{{name}}
View
{{/each}} {{#each inputQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Transaction
Source
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Destination
{{!-- TODO: to be confirmed, since the navigation link wasn't provided --}} {{!-- being assumed --}}
View
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Object event
Object list
{{#each epcList}}
{{name}}
View
{{/each}} {{#each quantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Aggregation
{{parentEPC.name}}
View

Aggregated

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{processType}}
{{bizStep}} {{eventTime}}
Association
{{parentEPC.name}}
View

Assembled

Child list
{{#each childEPCList}}
{{name}}
View
{{/each}} {{#each childQuantityList}}
{{quantity}}{{uom}} {{productName}}
View
{{/each}}
Event sensor information
{{#each sensorElementList}}
{{sensorMetadata.device.name}}
{{#each sensorReport}}
Captured at
{{time}}
Sensor type
Reading
{{value}}{{uom}}
{{/each}}
Integrity proof
{{/each}}
{{!-- TODO: to be confirmed, since the SensorElementList.sensorIntegrityProof duplicate --}} {{!-- being assumed --}} Event location information
{{/each}}
Issuing details
Issued by
Valid from
{{validFrom}}
", + "@type": "WebRenderingTemplate2022" + } + ], + "type": ["DigitalTraceabilityEvent"], + "dlrLinkTitle": "Transaction Event", + "dlrVerificationPage": "http://localhost:3003/verify" + }, + "dlr": { + "dlrAPIUrl": "http://localhost:3000", + "dlrAPIKey": "test123", + "namespace": "gs1", + "linkRegisterPath": "/api/resolver" + }, + "storage": { + "url": "http://localhost:3334/v1/documents", + "params": { + "bucket": "verifiable-credentials" + }, + "options": { + "method": "POST", + "headers": { + "Content-Type": "application/json" + } + } + }, + "identifierKeyPath": "/0/id", + "localStorageParams": { + "storageKey": "airport_terminal_facility_dpps", + "keyPath": "/0/epcList/index/name" + } + } + ] + }, + { + "name": "mergeToLocalStorage", + "parameters": [ + { + "storageKey": "airport_terminal_facility_transaction_event", + "objectKeyPath": "/decodedEnvelopedVC/credentialSubject/0/id" + } + ] + }, + { + "name": "getValueFromLocalStorage", + "parameters": [ + { + "storageKey": "airport_terminal_facility_transaction_event" + } + ] + } + ] + } + ] + } + ], + "identifyProvider": { + "type": "gs1", + "url": "http://localhost:3001", + "namespace": "gs1" + }, + "identifierSchemes": [ + { + "type": "gtin", + "format": "(\\d{12,14}|\\d{8})", + "carriers": ["barcode"] + }, + { + "type": "nlis", + "format": "^[A-Z0-9]{8}[A-Z][A-Z][A-Z][A-Z0-9]{5}$", + "carriers": ["manual_entry"] + }, + { + "type": "abn", + "format": "^(\\d *?){11}$", + "carriers": ["manual_entry"] + } + ], + "defaultVerificationServiceLink": { + "title": "Default Verification Service", + "context": "Default Verification Service", + "type": "application/json", + "href": "http://localhost:3332/agent/routeVerificationCredential", + "hreflang": ["en"], + "headers": { + "Authorization": "Bearer test123", + "Content-Type": "application/json" + } + } +} diff --git a/docker-compose.e2e.yml b/docker-compose.e2e.yml new file mode 100644 index 00000000..ca08a7e4 --- /dev/null +++ b/docker-compose.e2e.yml @@ -0,0 +1,156 @@ +services: + vckit-api: + image: ghcr.io/uncefact/project-vckit:sha-8a1a7ea@sha256:21414e4cdfd6b045f57667408256d4951c1d14d0648151ededf3107716b67b5f + env_file: + - local.env + ports: + - 3332:3332 + depends_on: + - db + + db: + image: postgres:16-alpine + ports: + - 5432:5432 + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres + - POSTGRES_DB=vckit + volumes: + - vckit-data:/var/lib/postgresql/data + restart: always + + storage-service: + image: ghcr.io/uncefact/project-identity-resolver:sha-e87d4fc@sha256:54ee7f3adaab9650052b99dbe19b3f5bbd2aa2fe7588410c5f66d1941e3752ce + ports: + - 3334:3334 + environment: + - API_VERSION=v1 + - PROTOCOL=http + - DOMAIN=localhost + - PORT=3334 + - AVAILABLE_BUCKETS=verifiable-credentials,private-verifiable-credentials,epcis-events + - STORAGE_TYPE=local + + identity-resolver-service: + # Replace with local or deployed image + image: ghcr.io/pyx-industries/pyx-identity-resolver:sha-3b4ce08-local@sha256:91b2a9b324d8253e217b6501bf7c715b725551a744891eb24e7e71b9e9a1d69a + ports: + - '3000:3000' + environment: + - OBJECT_STORAGE_ENDPOINT=identity-resolver-service-object-store + - OBJECT_STORAGE_PORT=9000 + - OBJECT_STORAGE_USE_SSL=false + - OBJECT_STORAGE_ACCESS_KEY=minioadmin + - OBJECT_STORAGE_SECRET_KEY=minioadmin + - OBJECT_STORAGE_BUCKET_NAME=idr-bucket-1 + - OBJECT_STORAGE_PATH_STYLE=true + - IDENTIFIER_PATH=identifiers + - API_KEY=test123 + - APP_ENDPOINT=http://localhost:3000 + - APP_NAME=IDR-1 + - RESOLVER_DOMAIN=http://localhost:3000 + - LINK_TYPE_VOC_DOMAIN=http://localhost:3000/voc + - PORT=3000 + depends_on: + - identity-resolver-service-object-store + + identity-resolver-service-object-store: + image: quay.io/minio/minio:RELEASE.2024-08-17T01-24-54Z-cpuv1 + command: server /data --console-address ":9090" + ports: + - '9000:9000' + - '9090:9090' + environment: + - MINIO_ROOT_USER=minioadmin + - MINIO_ROOT_PASSWORD=minioadmin + volumes: + - ./minio_data/identity-resolver-service-object-store:/data + + mock-global-gs1-resolver: + # Replace with local or deployed image + image: ghcr.io/pyx-industries/pyx-identity-resolver:sha-fa017fb-local@sha256:cd514863bdaf65ab1b47b8e71669a0245b041c861285a83fa7cf0a65789d4e58 + ports: + - '3001:3001' + environment: + - OBJECT_STORAGE_ENDPOINT=mock-global-gs1-resolver-object-store + - OBJECT_STORAGE_PORT=9000 + - OBJECT_STORAGE_USE_SSL=false + - OBJECT_STORAGE_ACCESS_KEY=minioadmin + - OBJECT_STORAGE_SECRET_KEY=minioadmin + - OBJECT_STORAGE_BUCKET_NAME=idr-bucket-2 + - OBJECT_STORAGE_PATH_STYLE=true + - IDENTIFIER_PATH=identifiers + - API_KEY=test456 + - APP_ENDPOINT=http://localhost:3001 + - APP_NAME=IDR-2 + - RESOLVER_DOMAIN=http://localhost:3001 + - LINK_TYPE_VOC_DOMAIN=http://localhost:3001/voc + - PORT=3001 + depends_on: + - mock-global-gs1-resolver-object-store + + mock-global-gs1-resolver-object-store: + image: quay.io/minio/minio:RELEASE.2024-08-17T01-24-54Z-cpuv1 + command: server /data --console-address ":9091" + ports: + - '9001:9000' + - '9091:9090' + environment: + - MINIO_ROOT_USER=minioadmin + - MINIO_ROOT_PASSWORD=minioadmin + volumes: + - ./minio_data/mock-global-gs1-resolver-object-store:/data + + seeding-data: + image: alpine:3.20.3 + environment: + # IDR service environment variables + - IDR_SERVICE_HOST=identity-resolver-service + - IDR_SERVICE_PORT=3000 + - IDR_SERVICE_API_KEY=test123 + + # Mock GS1 service environment variables + - IDR_SERVICE_DOMAIN=http://localhost:3000 + - MOCK_GS1_SERVICE_HOST=mock-global-gs1-resolver + - MOCK_GS1_SERVICE_PORT=3001 + - MOCK_GS1_SERVICE_API_KEY=test456 + command: + - /bin/sh + - -c + - | + if [ "$SEEDING" = "true" ]; then + apk add curl jq && \ + ./seeding/idr-data.sh + ./seeding/mock-gs1-data.sh + fi + volumes: + - ./seeding:/seeding + depends_on: + - identity-resolver-service + - mock-global-gs1-resolver + # Mock App + app: + build: + context: . + dockerfile: Dockerfile + args: + CONFIG_FILE: app-config.e2e.json + ports: + - "3003:80" + + cypress: + image: cypress/included:13.16.1 + depends_on: + - app + environment: + - CYPRESS_baseUrl=http://app:3003 # Base URL for Cypress to test + volumes: + - ./cypress:/e2e/cypress # Mount the Cypress test files + - ./cypress.config.ts:/e2e/cypress.config.ts # Mount Cypress config file + - ./packages/mock-app:/app/packages/mock-app # Mount the mock-app for context + working_dir: /e2e + entrypoint: ["sh", "-c", "npx wait-on http://app:3003 && npx cypress run"] + +volumes: + vckit-data: \ No newline at end of file diff --git a/package.json b/package.json index 05b4a35b..0a465024 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,9 @@ ], "scripts": { "copy-config": "cp app-config.json packages/mock-app/src/constants/app-config.json && cp app-config.json packages/components/src/constants/app-config.json", + "copy-config-test": "cp app-config.e2e.json packages/mock-app/src/constants/app-config.json && cp app-config.e2e.json packages/components/src/constants/app-config.json && cp app-config.e2e.json cypress/fixtures/app-config.json", "start": "yarn copy-config && cd packages/mock-app && yarn start", + "start:e2e-test": "yarn copy-config-test && cd packages/mock-app && yarn start", "start:untp-playground": "cd packages/untp-playground && PORT=4001 yarn dev", "build": "yarn copy-config && yarn build:services && yarn build:components && yarn build:untp-test-suite", "build:services": "cd packages/services && yarn run build", @@ -38,6 +40,7 @@ "@types/node": "20.10.6", "@types/uuid": "^9.0.7", "cross-env": "^7.0.3", + "cypress": "^13.16.1", "eslint-plugin-prettier": "^5.1.3", "husky": "^8.0.0", "jest": "29.7.0", @@ -64,8 +67,8 @@ "node": ">= 20.12.2" }, "dependencies": { - "rimraf": "^5.0.5", "istanbul-merge": "2.0.0", - "nyc": "17.1.0" + "nyc": "17.1.0", + "rimraf": "^5.0.5" } } diff --git a/packages/services/src/__tests__/cryptoService.test.ts b/packages/services/src/__tests__/cryptoService.test.ts index 4bc60980..43713de2 100644 --- a/packages/services/src/__tests__/cryptoService.test.ts +++ b/packages/services/src/__tests__/cryptoService.test.ts @@ -19,8 +19,8 @@ describe('cryptoService', () => { const decryptionParams = { cipherText, - key: Buffer.from(key).toString('hex'), - iv: Buffer.from(iv).toString('base64'), + key: key.toString('hex'), + iv: iv.toString('base64'), tag, type: EncryptionAlgorithm.AES_256_GCM, }; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..f1be4378 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "es6", + "lib": [ + "es6", + "dom" + ], + "moduleResolution": "node", + "strict": true, + "esModuleInterop": true, + "types": [ + "cypress" + ] + }, + "include": [ + "**/*.ts", + "cypress/**/*.ts" + ], // Include test files + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index ce50df4c..fed5dfed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,9 +3,9 @@ "@adobe/css-tools@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.0.tgz#728c484f4e10df03d5a3acd0d8adcbbebff8ad63" - integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.1.tgz#2447a230bfe072c1659e6815129c03cf170710e3" + integrity sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ== "@alloc/quick-lru@^5.2.0": version "5.2.0" @@ -36,7 +36,7 @@ dependencies: default-browser-id "3.0.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2", "@babel/code-frame@^7.8.3": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== @@ -46,9 +46,9 @@ picocolors "^1.0.0" "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.9", "@babel/compat-data@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" - integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.3.tgz#99488264a56b2aded63983abd6a417f03b92ed02" + integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g== "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.18.9", "@babel/core@^7.23.0", "@babel/core@^7.23.2", "@babel/core@^7.23.9", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.26.0" @@ -80,13 +80,13 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.23.0", "@babel/generator@^7.25.9", "@babel/generator@^7.26.0", "@babel/generator@^7.7.2": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" - integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== +"@babel/generator@^7.23.0", "@babel/generator@^7.26.0", "@babel/generator@^7.26.3", "@babel/generator@^7.7.2": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.3.tgz#ab8d4360544a425c90c248df7059881f4b2ce019" + integrity sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ== dependencies: - "@babel/parser" "^7.26.2" - "@babel/types" "^7.26.0" + "@babel/parser" "^7.26.3" + "@babel/types" "^7.26.3" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" @@ -98,14 +98,6 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz#f41752fe772a578e67286e6779a68a5a92de1ee9" - integrity sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" @@ -131,18 +123,18 @@ semver "^6.3.1" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz#3e8999db94728ad2b2458d7a470e7770b7764e26" - integrity sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw== + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz#5169756ecbe1d95f7866b90bb555b022595302a0" + integrity sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" - regexpu-core "^6.1.1" + regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== +"@babel/helper-define-polyfill-provider@^0.6.2", "@babel/helper-define-polyfill-provider@^0.6.3": + version "0.6.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz#f4f2792fae2ef382074bc2d713522cf24e6ddb21" + integrity sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -205,14 +197,6 @@ "@babel/helper-optimise-call-expression" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/helper-simple-access@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739" - integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.25.9": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" @@ -253,12 +237,12 @@ "@babel/template" "^7.25.9" "@babel/types" "^7.26.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" - integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.3.tgz#8c51c5db6ddf08134af1ddbacf16aaab48bac234" + integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA== dependencies: - "@babel/types" "^7.26.0" + "@babel/types" "^7.26.3" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": version "7.25.9" @@ -615,11 +599,10 @@ "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-transform-exponentiation-operator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz#ece47b70d236c1d99c263a1e22b62dc20a4c8b0f" - integrity sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA== + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz#e29f01b6de302c7c2c794277a48f04a9ca7f03bc" + integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-transform-export-namespace-from@^7.25.9": @@ -691,13 +674,12 @@ "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-transform-modules-commonjs@^7.23.0", "@babel/plugin-transform-modules-commonjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz#d165c8c569a080baf5467bda88df6425fc060686" - integrity sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg== + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" + integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== dependencies: - "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-module-transforms" "^7.26.0" "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-simple-access" "^7.25.9" "@babel/plugin-transform-modules-systemjs@^7.25.9": version "7.25.9" @@ -921,9 +903,9 @@ "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-transform-typescript@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz#69267905c2b33c2ac6d8fe765e9dc2ddc9df3849" - integrity sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ== + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.3.tgz#3d6add9c78735623317387ee26d5ada540eee3fd" + integrity sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" "@babel/helper-create-class-features-plugin" "^7.25.9" @@ -1056,9 +1038,9 @@ esutils "^2.0.2" "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0", "@babel/preset-react@^7.22.15", "@babel/preset-react@^7.7.0": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.25.9.tgz#5f473035dc2094bcfdbc7392d0766bd42dce173e" - integrity sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw== + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.26.3.tgz#7c5e028d623b4683c1f83a0bd4713b9100560caa" + integrity sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-validator-option" "^7.25.9" @@ -1106,22 +1088,22 @@ "@babel/types" "^7.25.9" "@babel/traverse@^7.18.9", "@babel/traverse@^7.23.2", "@babel/traverse@^7.25.9", "@babel/traverse@^7.7.2": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" - integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== + version "7.26.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.4.tgz#ac3a2a84b908dde6d463c3bfa2c5fdc1653574bd" + integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w== dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/generator" "^7.25.9" - "@babel/parser" "^7.25.9" + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.3" + "@babel/parser" "^7.26.3" "@babel/template" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/types" "^7.26.3" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.23.0", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" - integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== +"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.23.0", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.3.tgz#37e79830f04c2b5687acc77db97fbc75fb81f3c0" + integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA== dependencies: "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" @@ -1272,6 +1254,38 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== +"@cypress/request@^3.0.6": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.7.tgz#6a74a4da98d9e5ae9121d6e2d9c14780c9b5cf1a" + integrity sha512-LzxlLEMbBOPYB85uXrDqvD4MgcenjRBLIns3zyhx7vTPj/0u2eQhzXvPiGcaJrV38Q9dbkExWp6cOHPJ+EtFYg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~4.0.0" + http-signature "~1.4.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "6.13.1" + safe-buffer "^5.1.2" + tough-cookie "^5.0.0" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + "@date-io/core@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@date-io/core/-/core-3.0.0.tgz#9fd2375383b5791b7211dfce3e576211f9ddce5e" @@ -1332,16 +1346,16 @@ dependencies: tslib "^2.4.0" -"@emotion/babel-plugin@^11.12.0": - version "11.12.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz#7b43debb250c313101b3f885eba634f1d723fcc2" - integrity sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw== +"@emotion/babel-plugin@^11.13.5": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" "@emotion/hash" "^0.9.2" "@emotion/memoize" "^0.9.0" - "@emotion/serialize" "^1.2.0" + "@emotion/serialize" "^1.3.3" babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" @@ -1349,14 +1363,14 @@ source-map "^0.5.7" stylis "4.2.0" -"@emotion/cache@^11.11.0", "@emotion/cache@^11.13.0": - version "11.13.1" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.13.1.tgz#fecfc54d51810beebf05bf2a161271a1a91895d7" - integrity sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw== +"@emotion/cache@^11.11.0", "@emotion/cache@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== dependencies: "@emotion/memoize" "^0.9.0" "@emotion/sheet" "^1.4.0" - "@emotion/utils" "^1.4.0" + "@emotion/utils" "^1.4.2" "@emotion/weak-memoize" "^0.4.0" stylis "4.2.0" @@ -1378,28 +1392,28 @@ integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== "@emotion/react@^11.11.1": - version "11.13.3" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.13.3.tgz#a69d0de2a23f5b48e0acf210416638010e4bd2e4" - integrity sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg== + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" + integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.12.0" - "@emotion/cache" "^11.13.0" - "@emotion/serialize" "^1.3.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" - "@emotion/utils" "^1.4.0" + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.14.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" "@emotion/weak-memoize" "^0.4.0" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.2.0", "@emotion/serialize@^1.3.0", "@emotion/serialize@^1.3.1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.2.tgz#e1c1a2e90708d5d85d81ccaee2dfeb3cc0cccf7a" - integrity sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA== +"@emotion/serialize@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" + integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== dependencies: "@emotion/hash" "^0.9.2" "@emotion/memoize" "^0.9.0" "@emotion/unitless" "^0.10.0" - "@emotion/utils" "^1.4.1" + "@emotion/utils" "^1.4.2" csstype "^3.0.2" "@emotion/sheet@^1.4.0": @@ -1408,31 +1422,31 @@ integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== "@emotion/styled@^11.11.0": - version "11.13.0" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.13.0.tgz#633fd700db701472c7a5dbef54d6f9834e9fb190" - integrity sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA== + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.14.0.tgz#f47ca7219b1a295186d7661583376fcea95f0ff3" + integrity sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.12.0" + "@emotion/babel-plugin" "^11.13.5" "@emotion/is-prop-valid" "^1.3.0" - "@emotion/serialize" "^1.3.0" - "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" - "@emotion/utils" "^1.4.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" "@emotion/unitless@^0.10.0": version "0.10.0" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== -"@emotion/use-insertion-effect-with-fallbacks@^1.0.0", "@emotion/use-insertion-effect-with-fallbacks@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz#1a818a0b2c481efba0cf34e5ab1e0cb2dcb9dfaf" - integrity sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw== +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0", "@emotion/use-insertion-effect-with-fallbacks@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" + integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== -"@emotion/utils@^1.4.0", "@emotion/utils@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.1.tgz#b3adbb43de12ee2149541c4f1337d2eb7774f0ad" - integrity sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA== +"@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== "@emotion/weak-memoize@^0.4.0": version "0.4.0" @@ -2368,27 +2382,27 @@ prop-types "^15.8.1" "@mui/base@^5.0.0-beta.22": - version "5.0.0-beta.61" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.61.tgz#729e816b5104da1eeeacb11d1e61be90f2c21dcc" - integrity sha512-YaMOTXS3ecDNGsPKa6UdlJ8loFLvcL9+VbpCK3hfk71OaNauZRp4Yf7KeXDYr7Ms3M/XBD3SaiR6JMr6vYtfDg== + version "5.0.0-beta.64" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.64.tgz#694992e79d28beaf66205187022c9e68afb3cc12" + integrity sha512-nu663PoZs/Pee0fkPYkjUADfT+AAi2QWvvHghDhLeSx8sa3i+GGaOoUsFmB4CPlyYqWfq9hRGA7H1T3d6VrGgw== dependencies: "@babel/runtime" "^7.26.0" "@floating-ui/react-dom" "^2.1.1" "@mui/types" "^7.2.19" - "@mui/utils" "^6.1.6" + "@mui/utils" "^6.1.10" "@popperjs/core" "^2.11.8" clsx "^2.1.1" prop-types "^15.8.1" -"@mui/core-downloads-tracker@^5.16.7": - version "5.16.7" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.7.tgz#182a325a520f7ebd75de051fceabfc0314cfd004" - integrity sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ== +"@mui/core-downloads-tracker@^5.16.9": + version "5.16.9" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.9.tgz#df68e6b685857d48cab5ed73ec2bf47fdd48d252" + integrity sha512-ue3j79XJ56+F6DlTtFTM+n//5AvNENOvl3MFruZZP5iZzz+hOq6WBwnr+YxiMlr+kvmMHuHxgOHFdPR8+mElDw== "@mui/icons-material@^5.15.5": - version "5.16.7" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.16.7.tgz#e27f901af792065efc9f3d75d74a66af7529a10a" - integrity sha512-UrGwDJCXEszbDI7yV047BYU5A28eGJ79keTCP4cc74WyncuVrnurlmIRxaHL8YK+LI1Kzq+/JM52IAkNnv4u+Q== + version "5.16.9" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.16.9.tgz#0f754ef0b943e3bea78343cd2861e8d95a114617" + integrity sha512-nnOJIqan6FS6zEsLX3vf8LZ4vXpZjP5xfCFezeXmqfQConypCOZG4nangoVwKwROlas7b6/bqOdacFUb/HuM/g== dependencies: "@babel/runtime" "^7.23.9" @@ -2406,15 +2420,15 @@ prop-types "^15.8.1" "@mui/material@^5.15.5": - version "5.16.7" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.7.tgz#6e814e2eefdaf065a769cecf549c3569e107a50b" - integrity sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg== + version "5.16.9" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.9.tgz#d0d3e2e9882d11d94171298e2d7ab38db736ce1f" + integrity sha512-XC0oHFm7mrWV0tvhed9uv/o6kLNClnLj1eo/ufuKbj+rgk47ek8Y6HjHe3cGvMn4Bcq8KyoQPgzdwqvS2ZzYrA== dependencies: "@babel/runtime" "^7.23.9" - "@mui/core-downloads-tracker" "^5.16.7" - "@mui/system" "^5.16.7" + "@mui/core-downloads-tracker" "^5.16.9" + "@mui/system" "^5.16.8" "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.6" + "@mui/utils" "^5.16.8" "@popperjs/core" "^2.11.8" "@types/react-transition-group" "^4.4.10" clsx "^2.1.0" @@ -2423,35 +2437,35 @@ react-is "^18.3.1" react-transition-group "^4.4.5" -"@mui/private-theming@^5.16.6": - version "5.16.6" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.6.tgz#547671e7ae3f86b68d1289a0b90af04dfcc1c8c9" - integrity sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw== +"@mui/private-theming@^5.16.8": + version "5.16.8" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.8.tgz#7914996caaf6eedc59914aeab83dcd2d4e4da1ec" + integrity sha512-3Vl9yFVLU6T3CFtxRMQTcJ60Ijv7wxQi4yjH92+9YXcsqvVspeIYoocqNoIV/1bXGYfyWu5zrCmwQVHaGY7bug== dependencies: "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.16.6" + "@mui/utils" "^5.16.8" prop-types "^15.8.1" -"@mui/styled-engine@^5.16.6": - version "5.16.6" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.6.tgz#60110c106dd482dfdb7e2aa94fd6490a0a3f8852" - integrity sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g== +"@mui/styled-engine@^5.16.8": + version "5.16.8" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.8.tgz#b8ca35f93f503a51d0759a05475bfd28e10757ea" + integrity sha512-OFdgFf8JczSRs0kvWGdSn0ZeXxWrY0LITDPJ/nAtLEvUUTyrlFaO4il3SECX8ruzvf1VnAxHx4M/4mX9oOn9yA== dependencies: "@babel/runtime" "^7.23.9" "@emotion/cache" "^11.11.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.15.5", "@mui/system@^5.16.7": - version "5.16.7" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.7.tgz#4583ca5bf3b38942e02c15a1e622ba869ac51393" - integrity sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA== +"@mui/system@^5.15.5", "@mui/system@^5.16.8": + version "5.16.8" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.8.tgz#e5010d76cd2fdcc403ad3f98abfba99d330055ad" + integrity sha512-L32TaFDFpGIi1g6ysRtmhc9zDgrlxDXu3NlrGE8gAsQw/ziHrPdr0PNr20O0POUshA1q14W4dNZ/z0Nx2F9lhA== dependencies: "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.16.6" - "@mui/styled-engine" "^5.16.6" + "@mui/private-theming" "^5.16.8" + "@mui/styled-engine" "^5.16.8" "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.6" + "@mui/utils" "^5.16.8" clsx "^2.1.0" csstype "^3.1.3" prop-types "^15.8.1" @@ -2461,10 +2475,10 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.19.tgz#c941954dd24393fdce5f07830d44440cf4ab6c80" integrity sha512-6XpZEM/Q3epK9RN8ENoXuygnqUQxE+siN/6rGRi2iwJPgBUR25mphYQ9ZI87plGh58YoZ5pp40bFvKYOCDJ3tA== -"@mui/utils@^5.14.16", "@mui/utils@^5.15.5", "@mui/utils@^5.16.6": - version "5.16.6" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.6.tgz#905875bbc58d3dcc24531c3314a6807aba22a711" - integrity sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA== +"@mui/utils@^5.14.16", "@mui/utils@^5.15.5", "@mui/utils@^5.16.8": + version "5.16.8" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.8.tgz#e44acf38d446d361347c46b3e81ae366f615f37b" + integrity sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A== dependencies: "@babel/runtime" "^7.23.9" "@mui/types" "^7.2.15" @@ -2473,10 +2487,10 @@ prop-types "^15.8.1" react-is "^18.3.1" -"@mui/utils@^6.1.6": - version "6.1.6" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.1.6.tgz#4b9fd34da3a1dd4700fe506a20ca7da3933ba48e" - integrity sha512-sBS6D9mJECtELASLM+18WUcXF6RH3zNxBRFeyCRg8wad6NbyNrdxLuwK+Ikvc38sTZwBzAz691HmSofLqHd9sQ== +"@mui/utils@^6.1.10": + version "6.1.10" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.1.10.tgz#edf8c5c9cf930a8290b5347550ece15f5800b1c3" + integrity sha512-1ETuwswGjUiAf2dP9TkBy8p49qrw2wXa+RuAjNTRE5+91vtXJ1HKrs7H9s8CZd1zDlQVzUcUAPm9lpQwF5ogTw== dependencies: "@babel/runtime" "^7.26.0" "@mui/types" "^7.2.19" @@ -2512,10 +2526,10 @@ pump "^3.0.0" tar-fs "^2.1.1" -"@next/env@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/env/-/env-15.0.3.tgz#a2e9bf274743c52b74d30f415f3eba750d51313a" - integrity sha512-t9Xy32pjNOvVn2AS+Utt6VmyrshbpfUMhIjFO60gI58deSo/KgLOp31XZ4O+kY/Is8WAGYwA5gR7kOb1eORDBA== +"@next/env@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/env/-/env-15.0.4.tgz#97da0fe3bae2f2b2968c4c925d7936660f5b3836" + integrity sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw== "@next/eslint-plugin-next@15.0.3": version "15.0.3" @@ -2524,45 +2538,45 @@ dependencies: fast-glob "3.3.1" -"@next/swc-darwin-arm64@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.3.tgz#4c40c506cf3d4d87da0204f4cccf39e6bdc46a71" - integrity sha512-s3Q/NOorCsLYdCKvQlWU+a+GeAd3C8Rb3L1YnetsgwXzhc3UTWrtQpB/3eCjFOdGUj5QmXfRak12uocd1ZiiQw== - -"@next/swc-darwin-x64@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.3.tgz#8e06cacae3dae279744f9fbe88dea679ec2c1ca3" - integrity sha512-Zxl/TwyXVZPCFSf0u2BNj5sE0F2uR6iSKxWpq4Wlk/Sv9Ob6YCKByQTkV2y6BCic+fkabp9190hyrDdPA/dNrw== - -"@next/swc-linux-arm64-gnu@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.3.tgz#c144ad1f21091b9c6e1e330ecc2d56188763191d" - integrity sha512-T5+gg2EwpsY3OoaLxUIofmMb7ohAUlcNZW0fPQ6YAutaWJaxt1Z1h+8zdl4FRIOr5ABAAhXtBcpkZNwUcKI2fw== - -"@next/swc-linux-arm64-musl@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.3.tgz#3ccb71c6703bf421332f177d1bb0e10528bc73a2" - integrity sha512-WkAk6R60mwDjH4lG/JBpb2xHl2/0Vj0ZRu1TIzWuOYfQ9tt9NFsIinI1Epma77JVgy81F32X/AeD+B2cBu/YQA== - -"@next/swc-linux-x64-gnu@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.3.tgz#b90aa9b07001b4000427c35ab347a9273cbeebb3" - integrity sha512-gWL/Cta1aPVqIGgDb6nxkqy06DkwJ9gAnKORdHWX1QBbSZZB+biFYPFti8aKIQL7otCE1pjyPaXpFzGeG2OS2w== - -"@next/swc-linux-x64-musl@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.3.tgz#0ac9724fb44718fc97bfea971ac3fe17e486590e" - integrity sha512-QQEMwFd8r7C0GxQS62Zcdy6GKx999I/rTO2ubdXEe+MlZk9ZiinsrjwoiBL5/57tfyjikgh6GOU2WRQVUej3UA== - -"@next/swc-win32-arm64-msvc@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.3.tgz#932437d4cf27814e963ba8ae5f033b4421fab9ca" - integrity sha512-9TEp47AAd/ms9fPNgtgnT7F3M1Hf7koIYYWCMQ9neOwjbVWJsHZxrFbI3iEDJ8rf1TDGpmHbKxXf2IFpAvheIQ== - -"@next/swc-win32-x64-msvc@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.3.tgz#940a6f7b370cdde0cc67eabe945d9e6d97e0be9f" - integrity sha512-VNAz+HN4OGgvZs6MOoVfnn41kBzT+M+tB+OK4cww6DNyWS6wKaDpaAm/qLeOUbnMh0oVx1+mg0uoYARF69dJyA== +"@next/swc-darwin-arm64@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.4.tgz#66087f397564d6ece4c5493536d30bc2b158a80e" + integrity sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w== + +"@next/swc-darwin-x64@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.4.tgz#6eb098e183dfed72d8f3c4b281a323ad17d72446" + integrity sha512-pb7Bye3y1Og3PlCtnz2oO4z+/b3pH2/HSYkLbL0hbVuTGil7fPen8/3pyyLjdiTLcFJ+ymeU3bck5hd4IPFFCA== + +"@next/swc-linux-arm64-gnu@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.4.tgz#3c082ad1a4c8060a5c56127fdefb82a149d3b94e" + integrity sha512-12oSaBFjGpB227VHzoXF3gJoK2SlVGmFJMaBJSu5rbpaoT5OjP5OuCLuR9/jnyBF1BAWMs/boa6mLMoJPRriMA== + +"@next/swc-linux-arm64-musl@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.4.tgz#c4e18c89ea4dab6b150b889643ec19896aebc1eb" + integrity sha512-QARO88fR/a+wg+OFC3dGytJVVviiYFEyjc/Zzkjn/HevUuJ7qGUUAUYy5PGVWY1YgTzeRYz78akQrVQ8r+sMjw== + +"@next/swc-linux-x64-gnu@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.4.tgz#f81c3952a60f3075b48e0b5a862f4deecd550c2d" + integrity sha512-Z50b0gvYiUU1vLzfAMiChV8Y+6u/T2mdfpXPHraqpypP7yIT2UV9YBBhcwYkxujmCvGEcRTVWOj3EP7XW/wUnw== + +"@next/swc-linux-x64-musl@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.4.tgz#f14c9730599985538d4d01d6da825b4e41fea0c1" + integrity sha512-7H9C4FAsrTAbA/ENzvFWsVytqRYhaJYKa2B3fyQcv96TkOGVMcvyS6s+sj4jZlacxxTcn7ygaMXUPkEk7b78zw== + +"@next/swc-win32-arm64-msvc@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.4.tgz#14297572feedcd5b14388be8a7ea8c50accb4c96" + integrity sha512-Z/v3WV5xRaeWlgJzN9r4PydWD8sXV35ywc28W63i37G2jnUgScA4OOgS8hQdiXLxE3gqfSuHTicUhr7931OXPQ== + +"@next/swc-win32-x64-msvc@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.4.tgz#d25953baffb92721f0fb96c8be71d7efb37a57b7" + integrity sha512-NGLchGruagh8lQpDr98bHLyWJXOBSmkEAfK980OiNBa7vNm6PsNoPvzTfstT78WyOeMRQphEQ455rggd7Eo+Dw== "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" @@ -2577,16 +2591,21 @@ integrity sha512-QCOA9cgf3Rc33owG0AYBB9wszz+Ul2kramWN8tXG44Gyciud/tbkEqvxRF/IpqQaBpRBNi9f4jdNxqB2CQCIXg== "@noble/curves@^1.0.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" - integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== + version "1.7.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45" + integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw== dependencies: - "@noble/hashes" "1.5.0" + "@noble/hashes" "1.6.0" -"@noble/hashes@1.5.0", "@noble/hashes@^1.3.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" - integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== +"@noble/hashes@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5" + integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ== + +"@noble/hashes@^1.3.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" + integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3538,9 +3557,9 @@ integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA== "@scure/base@^1.1.3": - version "1.1.9" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" - integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865" + integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ== "@sigstore/bundle@^1.1.0": version "1.1.0" @@ -4257,9 +4276,9 @@ lodash "^4.17.15" "@storybook/csf@^0.1.2": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.11.tgz#ad685a4fe564a47a6b73571c2e7c07b526f4f71b" - integrity sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg== + version "0.1.12" + resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.12.tgz#1dcfa0f398a69b834c563884b5f747db3d5a81df" + integrity sha512-9/exVhabisyIVL0VxTCxo01Tdm8wefIXKXfltAPTSr8cbLn5JAxGQ6QV3mjdecLGEOucfoVhAKtJfVHxEK1iqw== dependencies: type-fest "^2.19.0" @@ -4607,74 +4626,74 @@ "@svgr/plugin-svgo" "^5.5.0" loader-utils "^2.0.0" -"@swc/core-darwin-arm64@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.42.tgz#a3c59cb3e487f660ca87d6b78e81b2d7193bada9" - integrity sha512-fWhaCs2+8GDRIcjExVDEIfbptVrxDqG8oHkESnXgymmvqTWzWei5SOnPNMS8Q+MYsn/b++Y2bDxkcwmq35Bvxg== - -"@swc/core-darwin-x64@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.7.42.tgz#a4ce0e1ff52a238b6b00e2f73428474a65fa2f7c" - integrity sha512-ZaVHD2bijrlkCyD7NDzLmSK849Jgcx+6DdL4x1dScoz1slJ8GTvLtEu0JOUaaScQwA+cVlhmrmlmi9ssjbRLGQ== - -"@swc/core-linux-arm-gnueabihf@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.42.tgz#cb70c3f26e020ebf1efecbde508936a6e90cdcf9" - integrity sha512-iF0BJj7hVTbY/vmbvyzVTh/0W80+Q4fbOYschdUM3Bsud39TA+lSaPOefOHywkNH58EQ1z3EAxYcJOWNES7GFQ== - -"@swc/core-linux-arm64-gnu@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.42.tgz#93a18284c29788ec2ce7fb0ef821b864a6df122e" - integrity sha512-xGu8j+DOLYTLkVmsfZPJbNPW1EkiWgSucT0nOlz77bLxImukt/0+HVm2hOwHSKuArQ8C3cjahAMY3b/s4VH2ww== - -"@swc/core-linux-arm64-musl@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.42.tgz#c1346dbaf75c72704b0ab7d0cb9db2f1fa060f24" - integrity sha512-qtW3JNO7i1yHEko59xxz+jY38+tYmB96JGzj6XzygMbYJYZDYbrOpXQvKbMGNG3YeTDan7Fp2jD0dlKf7NgDPA== - -"@swc/core-linux-x64-gnu@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.42.tgz#a3c09eaf389030f1317c48511914de9aee6b85fb" - integrity sha512-F9WY1TN+hhhtiEzZjRQziNLt36M5YprMeOBHjsLVNqwgflzleSI7ulgnlQECS8c8zESaXj3ksGduAoJYtPC1cA== - -"@swc/core-linux-x64-musl@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.42.tgz#99a5c4f1e2ec41707dd5c263c286704856527ecd" - integrity sha512-7YMdOaYKLMQ8JGfnmRDwidpLFs/6ka+80zekeM0iCVO48yLrJR36G0QGXzMjKsXI0BPhq+mboZRRENK4JfQnEA== - -"@swc/core-win32-arm64-msvc@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.42.tgz#6803ff002a931604b31260052841a1bf94707fda" - integrity sha512-C5CYWaIZEyqPl5W/EwcJ/mLBJFHVoUEa/IwWi0b4q2fCXcSCktQGwKXOQ+d67GneiZoiq0HasgcdMmMpGS9YRQ== - -"@swc/core-win32-ia32-msvc@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.42.tgz#9379dece3fd5089daf8d0defdbce3b981909a563" - integrity sha512-3j47seZ5pO62mbrqvPe1iwhe2BXnM5q7iB+n2xgA38PCGYt0mnaJafqmpCXm/uYZOCMqSNynaoOWCMMZm4sqtA== - -"@swc/core-win32-x64-msvc@1.7.42": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.42.tgz#f779952389ad91145d71455da6165a779adaa9e0" - integrity sha512-FXl9MdeUogZLGDcLr6QIRdDVkpG0dkN4MLM4dwQ5kcAk+XfKPrQibX6M2kcfhsCx+jtBqtK7hRFReRXPWJZGbA== +"@swc/core-darwin-arm64@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.1.tgz#faaaab19b4a039ae67ef661c0144a6f20fe8a78e" + integrity sha512-NyELPp8EsVZtxH/mEqvzSyWpfPJ1lugpTQcSlMduZLj1EASLO4sC8wt8hmL1aizRlsbjCX+r0PyL+l0xQ64/6Q== + +"@swc/core-darwin-x64@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.1.tgz#754600f453abd24471c202d48836f1161d798f49" + integrity sha512-L4BNt1fdQ5ZZhAk5qoDfUnXRabDOXKnXBxMDJ+PWLSxOGBbWE6aJTnu4zbGjJvtot0KM46m2LPAPY8ttknqaZA== + +"@swc/core-linux-arm-gnueabihf@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.1.tgz#b0f43c482d0d1819b382a4eb4a0733ce2e386257" + integrity sha512-Y1u9OqCHgvVp2tYQAJ7hcU9qO5brDMIrA5R31rwWQIAKDkJKtv3IlTHF0hrbWk1wPR0ZdngkQSJZple7G+Grvw== + +"@swc/core-linux-arm64-gnu@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.1.tgz#e02a9e22c25ba85ef00335742e549e06284cf33a" + integrity sha512-tNQHO/UKdtnqjc7o04iRXng1wTUXPgVd8Y6LI4qIbHVoVPwksZydISjMcilKNLKIwOoUQAkxyJ16SlOAeADzhQ== + +"@swc/core-linux-arm64-musl@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.1.tgz#3a0530af8f8bd3717f2f1bd8a2f5183fc58d4cf1" + integrity sha512-x0L2Pd9weQ6n8dI1z1Isq00VHFvpBClwQJvrt3NHzmR+1wCT/gcYl1tp9P5xHh3ldM8Cn4UjWCw+7PaUgg8FcQ== + +"@swc/core-linux-x64-gnu@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.1.tgz#5eb4d282b047a22896ab1d4627403be4c3e4fa6a" + integrity sha512-yyYEwQcObV3AUsC79rSzN9z6kiWxKAVJ6Ntwq2N9YoZqSPYph+4/Am5fM1xEQYf/kb99csj0FgOelomJSobxQA== + +"@swc/core-linux-x64-musl@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.1.tgz#890f2eda3e67ccc6817cdd04eff91e6ad9e761c4" + integrity sha512-tcaS43Ydd7Fk7sW5ROpaf2Kq1zR+sI5K0RM+0qYLYYurvsJruj3GhBCaiN3gkzd8m/8wkqNqtVklWaQYSDsyqA== + +"@swc/core-win32-arm64-msvc@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.1.tgz#4ea7b2a2fab47f801d31ea8b001a141efaa5e6bf" + integrity sha512-D3Qo1voA7AkbOzQ2UGuKNHfYGKL6eejN8VWOoQYtGHHQi1p5KK/Q7V1ku55oxXBsj79Ny5FRMqiRJpVGad7bjQ== + +"@swc/core-win32-ia32-msvc@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.1.tgz#729102669ccdb72e69884cce58e3686ac63d6f36" + integrity sha512-WalYdFoU3454Og+sDKHM1MrjvxUGwA2oralknXkXL8S0I/8RkWZOB++p3pLaGbTvOO++T+6znFbQdR8KRaa7DA== + +"@swc/core-win32-x64-msvc@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.1.tgz#7d665a7c69642861aed850ecb0cdf5d87197edda" + integrity sha512-JWobfQDbTnoqaIwPKQ3DVSywihVXlQMbDuwik/dDWlj33A8oEHcjPOGs4OqcA3RHv24i+lfCQpM3Mn4FAMfacA== "@swc/core@^1.3.82": - version "1.7.42" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.7.42.tgz#8053e2ede08207d67b3ffef38c1c3d2befeb8848" - integrity sha512-iQrRk3SKndQZ4ptJv1rzeQSiCYQIhMjiO97QXOlCcCoaazOLKPnLnXzU4Kv0FuBFyYfG2FE94BoR0XI2BN02qw== + version "1.10.1" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.10.1.tgz#16b3b8284bafb0ecabb253925796883971e5a761" + integrity sha512-rQ4dS6GAdmtzKiCRt3LFVxl37FaY1cgL9kSUTnhQ2xc3fmHOd7jdJK/V4pSZMG1ruGTd0bsi34O2R0Olg9Zo/w== dependencies: "@swc/counter" "^0.1.3" - "@swc/types" "^0.1.13" + "@swc/types" "^0.1.17" optionalDependencies: - "@swc/core-darwin-arm64" "1.7.42" - "@swc/core-darwin-x64" "1.7.42" - "@swc/core-linux-arm-gnueabihf" "1.7.42" - "@swc/core-linux-arm64-gnu" "1.7.42" - "@swc/core-linux-arm64-musl" "1.7.42" - "@swc/core-linux-x64-gnu" "1.7.42" - "@swc/core-linux-x64-musl" "1.7.42" - "@swc/core-win32-arm64-msvc" "1.7.42" - "@swc/core-win32-ia32-msvc" "1.7.42" - "@swc/core-win32-x64-msvc" "1.7.42" + "@swc/core-darwin-arm64" "1.10.1" + "@swc/core-darwin-x64" "1.10.1" + "@swc/core-linux-arm-gnueabihf" "1.10.1" + "@swc/core-linux-arm64-gnu" "1.10.1" + "@swc/core-linux-arm64-musl" "1.10.1" + "@swc/core-linux-x64-gnu" "1.10.1" + "@swc/core-linux-x64-musl" "1.10.1" + "@swc/core-win32-arm64-msvc" "1.10.1" + "@swc/core-win32-ia32-msvc" "1.10.1" + "@swc/core-win32-x64-msvc" "1.10.1" "@swc/counter@0.1.3", "@swc/counter@^0.1.3": version "0.1.3" @@ -4688,10 +4707,10 @@ dependencies: tslib "^2.4.0" -"@swc/types@^0.1.13": - version "0.1.13" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.13.tgz#441734f8bfa6e9e738f1c68e98be6da282ecc7db" - integrity sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q== +"@swc/types@^0.1.17": + version "0.1.17" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.17.tgz#bd1d94e73497f27341bf141abdf4c85230d41e7c" + integrity sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ== dependencies: "@swc/counter" "^0.1.3" @@ -4760,9 +4779,9 @@ "@types/react-dom" "^18.0.0" "@testing-library/react@^16.0.1": - version "16.0.1" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-16.0.1.tgz#29c0ee878d672703f5e7579f239005e4e0faa875" - integrity sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg== + version "16.1.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-16.1.0.tgz#aa0c61398bac82eaf89776967e97de41ac742d71" + integrity sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg== dependencies: "@babel/runtime" "^7.12.5" @@ -4986,9 +5005,9 @@ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz#3c9997ae9d00bc236e45c6374e84f2596458d9db" - integrity sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA== + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz#812d2871e5eea17fb0bd5214dda7a7b748c0e12a" + integrity sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg== dependencies: "@types/node" "*" "@types/qs" "*" @@ -5154,14 +5173,14 @@ integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/mocha@^10.0.7": - version "10.0.9" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.9.tgz#101e9da88d2c02e5ac8952982c23b224524d662a" - integrity sha512-sicdRoWtYevwxjOHNMPTl3vSfJM6oyW8o1wXeI7uww6b6xHg8eBznQDNSGBCDJmsE8UMxP05JgZRtsKbTqt//Q== + version "10.0.10" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" + integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== "@types/node-fetch@^2.6.4": - version "2.6.11" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" - integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== + version "2.6.12" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.12.tgz#8ab5c3ef8330f13100a7479e2cd56d3386830a03" + integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== dependencies: "@types/node" "*" form-data "^4.0.0" @@ -5174,11 +5193,11 @@ "@types/node" "*" "@types/node@*": - version "22.8.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.8.6.tgz#e8a0c0871623283d8b3ef7d7b9b1bfdfd3028e22" - integrity sha512-tosuJYKrIqjQIlVCM4PEGxOmyg3FCPa/fViuJChnGeEIhjA46oy8FMVoF9su1/v8PNs2a8Q0iFNyOx0uOF91nw== + version "22.10.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766" + integrity sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ== dependencies: - undici-types "~6.19.8" + undici-types "~6.20.0" "@types/node@20.10.6": version "20.10.6" @@ -5188,21 +5207,21 @@ undici-types "~5.26.4" "@types/node@^16.18.72": - version "16.18.118" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.118.tgz#ec00e43ce642f38b2b9a87f4842cbd6f551b1e25" - integrity sha512-YgPbVGrf+mL4Qp8KTcd18OXfIsm1QYwHkldmWTNIR8aZH2EYSPNyLFFZHEXZIGYvYrwnW++xGoWyt4w279QDrQ== + version "16.18.121" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.121.tgz#88c4e91474b1eb4ae68e39cec8b274e9c792650a" + integrity sha512-Gk/pOy8H0cvX8qNrwzElYIECpcUn87w4EAEFXFvPJ8qsP9QR/YqukUORSy0zmyDyvdo149idPpy4W6iC5aSbQA== "@types/node@^18.0.0": - version "18.19.63" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.63.tgz#2b2cdb8b3bd2b739ae38c5676cd012c80568022f" - integrity sha512-hcUB7THvrGmaEcPcvUZCZtQ2Z3C+UR/aOcraBLCvTsFMh916Gc1kCCYcfcMuB76HM2pSerxl1PoP3KnmHzd9Lw== + version "18.19.67" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.67.tgz#77c4b01641a1e3e1509aff7e10d39e4afd5ae06d" + integrity sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ== dependencies: undici-types "~5.26.4" "@types/node@^20": - version "20.17.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.8.tgz#42748cdb169adf5be7c9760604c72820c7b7d560" - integrity sha512-ahz2g6/oqbKalW9sPv6L2iRbhLnojxjYWspAqhjvqSWBgGebEJT5GvRmk0QXPj3sbC6rU0GTQjPLQkmR8CObvA== + version "20.17.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.9.tgz#5f141d4b7ee125cdee5faefe28de095398865bab" + integrity sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw== dependencies: undici-types "~6.19.2" @@ -5227,9 +5246,9 @@ integrity sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA== "@types/prop-types@*", "@types/prop-types@^15.7.12", "@types/prop-types@^15.7.13": - version "15.7.13" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451" - integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA== + version "15.7.14" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2" + integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ== "@types/q@^1.5.1": version "1.5.8" @@ -5244,9 +5263,9 @@ "@types/node" "*" "@types/qs@*", "@types/qs@^6.9.5": - version "6.9.16" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.16.tgz#52bba125a07c0482d26747d5d4947a64daf8f794" - integrity sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A== + version "6.9.17" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.17.tgz#fc560f60946d0aeff2f914eb41679659d3310e1a" + integrity sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ== "@types/range-parser@*": version "1.2.7" @@ -5254,11 +5273,9 @@ integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== "@types/react-dom@^18", "@types/react-dom@^18.0.0", "@types/react-dom@^18.2.18", "@types/react-dom@^18.2.7": - version "18.3.1" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.1.tgz#1e4654c08a9cdcfb6594c780ac59b55aad42fe07" - integrity sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ== - dependencies: - "@types/react" "*" + version "18.3.3" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.3.tgz#3654138d0da1b0c7916f6ed0dc1cc2b576d47650" + integrity sha512-uTYkxTLkYp41nq/ULXyXMtkNT1vu5fXJoqad6uTNCOGat5t9cLgF4vMNLBXsTOXpdOI44XzKPY1M5RRm0bQHuw== "@types/react-transition-group@^4.4.10", "@types/react-transition-group@^4.4.8": version "4.4.11" @@ -5267,10 +5284,17 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@>=16", "@types/react@^18", "@types/react@^18.2.15", "@types/react@^18.2.48": - version "18.3.12" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.12.tgz#99419f182ccd69151813b7ee24b792fe08774f60" - integrity sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw== +"@types/react@*", "@types/react@>=16": + version "19.0.1" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.1.tgz#a000d5b78f473732a08cecbead0f3751e550b3df" + integrity sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ== + dependencies: + csstype "^3.0.2" + +"@types/react@^18", "@types/react@^18.2.15", "@types/react@^18.2.48": + version "18.3.14" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.14.tgz#7ce43bbca0e15e1c4f67ad33ea3f83d75aa6756b" + integrity sha512-NzahNKvjNhVjuPBQ+2G7WlxstQ+47kXZNHlUvFakDViuIEfGY926GqhMueQFZ7woG+sPiQKlF36XfrIUVSUfFg== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -5321,6 +5345,16 @@ "@types/node" "*" "@types/send" "*" +"@types/sinonjs__fake-timers@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" + integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== + +"@types/sizzle@^2.3.2": + version "2.3.9" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.9.tgz#d4597dbd4618264c414d7429363e3f50acb66ea2" + integrity sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w== + "@types/sockjs@^0.3.33": version "0.3.36" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" @@ -5354,9 +5388,9 @@ integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== "@types/ws@^8.5.5": - version "8.5.12" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" - integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== + version "8.5.13" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.13.tgz#6414c280875e2691d0d1e080b05addbf5cb91e20" + integrity sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA== dependencies: "@types/node" "*" @@ -5379,16 +5413,23 @@ dependencies: "@types/yargs-parser" "*" +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + "@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.16.0.tgz#ac56825bcdf3b392fc76a94b1315d4a162f201a6" - integrity sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q== + version "8.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.0.tgz#0901933326aea4443b81df3f740ca7dfc45c7bea" + integrity sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.16.0" - "@typescript-eslint/type-utils" "8.16.0" - "@typescript-eslint/utils" "8.16.0" - "@typescript-eslint/visitor-keys" "8.16.0" + "@typescript-eslint/scope-manager" "8.18.0" + "@typescript-eslint/type-utils" "8.18.0" + "@typescript-eslint/utils" "8.18.0" + "@typescript-eslint/visitor-keys" "8.18.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" @@ -5418,14 +5459,14 @@ "@typescript-eslint/utils" "5.62.0" "@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.16.0.tgz#ee5b2d6241c1ab3e2e53f03fd5a32d8e266d8e06" - integrity sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w== - dependencies: - "@typescript-eslint/scope-manager" "8.16.0" - "@typescript-eslint/types" "8.16.0" - "@typescript-eslint/typescript-estree" "8.16.0" - "@typescript-eslint/visitor-keys" "8.16.0" + version "8.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.0.tgz#a1c9456cbb6a089730bf1d3fc47946c5fb5fe67b" + integrity sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q== + dependencies: + "@typescript-eslint/scope-manager" "8.18.0" + "@typescript-eslint/types" "8.18.0" + "@typescript-eslint/typescript-estree" "8.18.0" + "@typescript-eslint/visitor-keys" "8.18.0" debug "^4.3.4" "@typescript-eslint/parser@^5.5.0": @@ -5446,13 +5487,13 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.16.0.tgz#ebc9a3b399a69a6052f3d88174456dd399ef5905" - integrity sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg== +"@typescript-eslint/scope-manager@8.18.0": + version "8.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.0.tgz#30b040cb4557804a7e2bcc65cf8fdb630c96546f" + integrity sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw== dependencies: - "@typescript-eslint/types" "8.16.0" - "@typescript-eslint/visitor-keys" "8.16.0" + "@typescript-eslint/types" "8.18.0" + "@typescript-eslint/visitor-keys" "8.18.0" "@typescript-eslint/type-utils@5.62.0": version "5.62.0" @@ -5464,13 +5505,13 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/type-utils@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.16.0.tgz#585388735f7ac390f07c885845c3d185d1b64740" - integrity sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg== +"@typescript-eslint/type-utils@8.18.0": + version "8.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.0.tgz#6f0d12cf923b6fd95ae4d877708c0adaad93c471" + integrity sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow== dependencies: - "@typescript-eslint/typescript-estree" "8.16.0" - "@typescript-eslint/utils" "8.16.0" + "@typescript-eslint/typescript-estree" "8.18.0" + "@typescript-eslint/utils" "8.18.0" debug "^4.3.4" ts-api-utils "^1.3.0" @@ -5479,10 +5520,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.16.0.tgz#49c92ae1b57942458ab83d9ec7ccab3005e64737" - integrity sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ== +"@typescript-eslint/types@8.18.0": + version "8.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.0.tgz#3afcd30def8756bc78541268ea819a043221d5f3" + integrity sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -5497,13 +5538,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.16.0.tgz#9d741e56e5b13469b5190e763432ce5551a9300c" - integrity sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw== +"@typescript-eslint/typescript-estree@8.18.0": + version "8.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.0.tgz#d8ca785799fbb9c700cdff1a79c046c3e633c7f9" + integrity sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg== dependencies: - "@typescript-eslint/types" "8.16.0" - "@typescript-eslint/visitor-keys" "8.16.0" + "@typescript-eslint/types" "8.18.0" + "@typescript-eslint/visitor-keys" "8.18.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -5525,15 +5566,15 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.16.0.tgz#c71264c437157feaa97842809836254a6fc833c3" - integrity sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA== +"@typescript-eslint/utils@8.18.0": + version "8.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.0.tgz#48f67205d42b65d895797bb7349d1be5c39a62f7" + integrity sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.16.0" - "@typescript-eslint/types" "8.16.0" - "@typescript-eslint/typescript-estree" "8.16.0" + "@typescript-eslint/scope-manager" "8.18.0" + "@typescript-eslint/types" "8.18.0" + "@typescript-eslint/typescript-estree" "8.18.0" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -5543,18 +5584,18 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@8.16.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.16.0.tgz#d5086afc060b01ff7a4ecab8d49d13d5a7b07705" - integrity sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ== +"@typescript-eslint/visitor-keys@8.18.0": + version "8.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.0.tgz#7b6d33534fa808e33a19951907231ad2ea5c36dd" + integrity sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw== dependencies: - "@typescript-eslint/types" "8.16.0" + "@typescript-eslint/types" "8.18.0" eslint-visitor-keys "^4.2.0" "@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + version "1.2.1" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.1.tgz#28fa185f67daaf7b7a1a8c1d445132c5d979f8bd" + integrity sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA== "@unimodules/core@*": version "7.1.2" @@ -5590,125 +5631,125 @@ "@vckit/core-types" "^1.0.0-beta.7" handlebars "^4.7.6" -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== -"@webassemblyjs/wasm-edit@^1.11.5", "@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== +"@webassemblyjs/wasm-edit@^1.11.5", "@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== dependencies: - "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -5840,7 +5881,7 @@ acorn@^7.1.1, acorn@^7.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.1.0, acorn@^8.11.0, acorn@^8.12.1, acorn@^8.14.0, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.1.0, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: version "8.14.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== @@ -5875,12 +5916,10 @@ agent-base@6, agent-base@^6.0.2: dependencies: debug "4" -agent-base@^7.0.2, agent-base@^7.1.0, agent-base@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" - integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== - dependencies: - debug "^4.3.4" +agent-base@^7.1.0, agent-base@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1" + integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: version "4.5.0" @@ -5953,7 +5992,7 @@ ansi-colors@^4.1.1, ansi-colors@^4.1.3: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -6029,6 +6068,11 @@ append-transform@^2.0.0: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== +arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + archy@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" @@ -6241,6 +6285,13 @@ asn1.js@^4.10.1: inherits "^2.0.1" minimalistic-assert "^1.0.0" +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + asn1js@^3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.5.tgz#5ea36820443dbefb51cc7f88a2ebb5b462114f38" @@ -6250,6 +6301,11 @@ asn1js@^3.0.5: pvutils "^1.1.3" tslib "^2.4.0" +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + assert@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" @@ -6278,12 +6334,17 @@ ast-types@^0.16.1: dependencies: tslib "^2.0.1" +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@^3.2.3: +async@^3.2.0, async@^3.2.3: version "3.2.6" resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== @@ -6322,6 +6383,16 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.13.2" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef" + integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== + axe-core@^4.10.0: version "4.10.2" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df" @@ -6336,9 +6407,9 @@ axios-mock-adapter@^1.19.0: is-buffer "^2.0.5" axios@^1.6.0, axios@^1.6.7, axios@^1.7.2: - version "1.7.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" - integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== + version "1.7.9" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a" + integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -6469,12 +6540,12 @@ babel-plugin-named-exports-order@^0.0.2: integrity sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw== babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + version "0.4.12" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" + integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" semver "^6.3.1" babel-plugin-polyfill-corejs3@^0.10.6: @@ -6486,11 +6557,11 @@ babel-plugin-polyfill-corejs3@^0.10.6: core-js-compat "^3.38.0" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + version "0.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz#abeb1f3f1c762eace37587f42548b08b57789bc8" + integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" babel-plugin-transform-import-meta@^2.2.1: version "2.2.1" @@ -6584,6 +6655,13 @@ batch@0.6.1: resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + bech32@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" @@ -6636,15 +6714,20 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" +blob-util@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + version "4.12.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== bn.js@^5.2.1: version "5.2.1" @@ -6670,9 +6753,9 @@ body-parser@1.20.3: unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" - integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + version "1.3.0" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.3.0.tgz#80d867430b5a0da64e82a8047fc1e355bdb71722" + integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA== dependencies: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" @@ -6838,7 +6921,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@^5.5.0: +buffer@^5.5.0, buffer@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -6948,6 +7031,11 @@ cacache@^18.0.0: tar "^6.1.11" unique-filename "^3.0.0" +cachedir@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" + integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== + caching-transform@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" @@ -6958,16 +7046,23 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +call-bind-apply-helpers@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz#32e5892e6361b29b0b545ba6f7763378daca2840" + integrity sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g== dependencies: - es-define-property "^1.0.0" es-errors "^1.3.0" function-bind "^1.1.2" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" callsites@^3.0.0: version "3.1.0" @@ -7016,15 +7111,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669: - version "1.0.30001676" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001676.tgz#fe133d41fe74af8f7cc93b8a714c3e86a86e6f04" - integrity sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw== - -caniuse-lite@^1.0.30001579: - version "1.0.30001684" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz#0eca437bab7d5f03452ff0ef9de8299be6b08e16" - integrity sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669: + version "1.0.30001687" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz#d0ac634d043648498eedf7a3932836beba90ebae" + integrity sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ== canonicalize@^1.0.1: version "1.0.8" @@ -7046,6 +7136,11 @@ case-sensitive-paths-webpack-plugin@^2.4.0: resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + chai@^4.3.6: version "4.5.0" resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" @@ -7103,9 +7198,9 @@ char-regex@^1.0.2: integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== char-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== + version "2.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.2.tgz#81385bb071af4df774bff8721d0ca15ef29ea0bb" + integrity sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg== chardet@^0.7.0: version "0.7.0" @@ -7119,6 +7214,11 @@ check-error@^1.0.3: dependencies: get-func-name "^2.0.2" +check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + check-types@^11.2.3: version "11.2.3" resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" @@ -7159,13 +7259,18 @@ ci-info@^3.2.0, ci-info@^3.6.1: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +ci-info@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.1.0.tgz#92319d2fa29d2620180ea5afed31f589bc98cf83" + integrity sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A== + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + version "1.0.6" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7" + integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + safe-buffer "^5.2.1" citty@^0.1.6: version "0.1.6" @@ -7227,7 +7332,7 @@ cli-spinners@^2.5.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== -cli-table3@^0.6.1, cli-table3@^0.6.3: +cli-table3@^0.6.1, cli-table3@^0.6.3, cli-table3@~0.6.1: version "0.6.5" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== @@ -7236,6 +7341,14 @@ cli-table3@^0.6.1, cli-table3@^0.6.3: optionalDependencies: "@colors/colors" "1.5.0" +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -7366,7 +7479,7 @@ colord@^2.9.1: resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== -colorette@^2.0.10: +colorette@^2.0.10, colorette@^2.0.16: version "2.0.20" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== @@ -7379,7 +7492,7 @@ columnify@1.6.0: strip-ansi "^6.0.1" wcwidth "^1.0.0" -combined-stream@^1.0.8: +combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -7641,6 +7754,11 @@ core-js@^3.19.2: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.39.0.tgz#57f7647f4d2d030c32a72ea23a0555b2eaa30f83" integrity sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g== +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" @@ -7758,9 +7876,9 @@ cross-fetch@^3.0.4: node-fetch "^2.6.12" cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -7989,6 +8107,55 @@ csstype@^3.0.2, csstype@^3.1.3: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== +cypress@^13.16.1: + version "13.16.1" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.16.1.tgz#82e776f6ad2037ccce6b6feabed768615c476258" + integrity sha512-17FtCaz0cx7ssWYKXzGB0Vub8xHwpVPr+iPt2fHhLMDhVAPVrplD+rTQsZUsfb19LVBn5iwkEUFjQ1yVVJXsLA== + dependencies: + "@cypress/request" "^3.0.6" + "@cypress/xvfb" "^1.2.4" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.7.1" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + ci-info "^4.0.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^6.2.1" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.4" + enquirer "^2.3.6" + eventemitter2 "6.4.7" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.8" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + process "^0.11.10" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.5.3" + supports-color "^8.1.1" + tmp "~0.2.3" + tree-kill "1.2.2" + untildify "^4.0.0" + yauzl "^2.10.0" + damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -7999,6 +8166,13 @@ dargs@^7.0.0: resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + data-uri-to-buffer@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" @@ -8059,6 +8233,11 @@ dayjs@1.10.7: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== +dayjs@^1.10.4: + version "1.11.13" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== + debug@2.6.9, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -8066,14 +8245,14 @@ debug@2.6.9, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.3.7: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: ms "^2.1.3" -debug@^3.2.7: +debug@^3.1.0, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -8568,15 +8747,24 @@ dotenv@^10.0.0: integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== dotenv@^16.0.0: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + version "16.4.7" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" + integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ== dotenv@~16.3.1: version "16.3.2" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== +dunder-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.0.tgz#c2fce098b3c8f8899554905f4377b6d85dabaa80" + integrity sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer@^0.1.1, duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -8592,6 +8780,14 @@ duplexify@^3.5.0, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + ecdsa-sig-formatter@1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" @@ -8612,14 +8808,14 @@ ejs@^3.1.6, ejs@^3.1.7, ejs@^3.1.8: jake "^10.8.5" electron-to-chromium@^1.5.41: - version "1.5.50" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz#d9ba818da7b2b5ef1f3dd32bce7046feb7e93234" - integrity sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw== + version "1.5.72" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz#a732805986d3a5b5fedd438ddf4616c7d78ac2df" + integrity sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw== elliptic@^6.5.3, elliptic@^6.5.4, elliptic@^6.5.5: - version "6.6.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210" - integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA== + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== dependencies: bn.js "^4.11.9" brorand "^1.1.0" @@ -8700,6 +8896,14 @@ enhanced-resolve@^5.15.0, enhanced-resolve@^5.17.1: graceful-fs "^4.2.4" tapable "^2.2.0" +enquirer@^2.3.6: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -8751,10 +8955,10 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== +es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5: + version "1.23.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.5.tgz#f4599a4946d57ed467515ed10e4f157289cd52fb" + integrity sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ== dependencies: array-buffer-byte-length "^1.0.1" arraybuffer.prototype.slice "^1.0.3" @@ -8771,7 +8975,7 @@ es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22 function.prototype.name "^1.1.6" get-intrinsic "^1.2.4" get-symbol-description "^1.0.2" - globalthis "^1.0.3" + globalthis "^1.0.4" gopd "^1.0.1" has-property-descriptors "^1.0.2" has-proto "^1.0.3" @@ -8787,10 +8991,10 @@ es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22 is-string "^1.0.7" is-typed-array "^1.1.13" is-weakref "^1.0.2" - object-inspect "^1.13.1" + object-inspect "^1.13.3" object-keys "^1.1.1" object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" + regexp.prototype.flags "^1.5.3" safe-array-concat "^1.1.2" safe-regex-test "^1.0.3" string.prototype.trim "^1.2.9" @@ -8808,12 +9012,10 @@ es-array-method-boxes-properly@^1.0.0: resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.2.1, es-errors@^1.3.0: version "1.3.0" @@ -8836,9 +9038,9 @@ es-get-iterator@^1.1.3: stop-iteration-iterator "^1.0.0" es-iterator-helpers@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz#f6d745d342aea214fe09497e7152170dc333a7a6" - integrity sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz#2f1a3ab998b30cb2d10b195b587c6d9ebdebf152" + integrity sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q== dependencies: call-bind "^1.0.7" define-properties "^1.2.1" @@ -8848,6 +9050,7 @@ es-iterator-helpers@^1.1.0: function-bind "^1.1.2" get-intrinsic "^1.2.4" globalthis "^1.0.4" + gopd "^1.0.1" has-property-descriptors "^1.0.2" has-proto "^1.0.3" has-symbols "^1.0.3" @@ -8884,13 +9087,13 @@ es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: hasown "^2.0.0" es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" es6-error@^4.0.1: version "4.1.1" @@ -9031,20 +9234,20 @@ eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9: resolve "^1.22.4" eslint-import-resolver-typescript@^3.5.2: - version "3.6.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz#bb8e388f6afc0f940ce5d2c5fd4a3d147f038d9e" - integrity sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA== + version "3.7.0" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.7.0.tgz#e69925936a771a9cb2de418ccebc4cdf6c0818aa" + integrity sha512-Vrwyi8HHxY97K5ebydMtffsWAn1SCR9eol49eCd5fJS4O1WV7PaAjbcjmbfJJSMz/t4Mal212Uz/fQZrOB8mow== dependencies: "@nolyfill/is-core-module" "1.0.39" - debug "^4.3.5" + debug "^4.3.7" enhanced-resolve "^5.15.0" - eslint-module-utils "^2.8.1" fast-glob "^3.3.2" get-tsconfig "^4.7.5" is-bun-module "^1.0.2" is-glob "^4.0.3" + stable-hash "^0.0.4" -eslint-module-utils@^2.12.0, eslint-module-utils@^2.8.1: +eslint-module-utils@^2.12.0: version "2.12.0" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== @@ -9126,9 +9329,9 @@ eslint-plugin-react-hooks@^4.3.0: integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== eslint-plugin-react-hooks@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz#72e2eefbac4b694f5324154619fee44f5f60f101" - integrity sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw== + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz#3d34e37d5770866c34b87d5b499f5f0b53bf0854" + integrity sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw== eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.35.0: version "7.37.2" @@ -9320,6 +9523,11 @@ event-target-shim@^5.0.0: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== +eventemitter2@6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" + integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== + eventemitter3@^4.0.0, eventemitter3@^4.0.4: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -9338,6 +9546,21 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@4.1.0, execa@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + execa@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" @@ -9353,21 +9576,6 @@ execa@5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -9398,6 +9606,13 @@ execa@^8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" +executable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -9459,9 +9674,9 @@ exponential-backoff@^3.1.1: integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== express@^4.17.3: - version "4.21.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" - integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" @@ -9482,7 +9697,7 @@ express@^4.17.3: methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.10" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" qs "6.13.0" range-parser "~1.2.1" @@ -9495,7 +9710,7 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -extend@^3.0.0: +extend@^3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -9509,6 +9724,17 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + extract-zip@^1.6.6: version "1.7.0" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" @@ -9519,6 +9745,16 @@ extract-zip@^1.6.6: mkdirp "^0.5.4" yauzl "^2.10.0" +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -9540,7 +9776,7 @@ fast-glob@3.3.1: merge2 "^1.3.0" micromatch "^4.0.4" -fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: +fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -9614,7 +9850,7 @@ fetch-retry@^5.0.2: resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.6.tgz#17d0bc90423405b7a88b74355bf364acd2a7fa56" integrity sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ== -figures@3.2.0, figures@^3.0.0: +figures@3.2.0, figures@^3.0.0, figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -9637,9 +9873,9 @@ file-loader@^6.2.0: schema-utils "^3.0.0" file-selector@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-2.1.1.tgz#21833801bfa3d696d44788c871e4e6704967627c" - integrity sha512-pJVY80PuSiHbnYEZ0gZYQf15x0z/lkeIF1yn95yRC/Usb43343ewXtMClQ9GLPvPm4/SscX4zvQz9QhCAyLqlg== + version "2.1.2" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-2.1.2.tgz#fe7c7ee9e550952dfbc863d73b14dc740d7de8b4" + integrity sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig== dependencies: tslib "^2.7.0" @@ -9767,14 +10003,14 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + version "3.3.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27" + integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== flow-parser@0.*: - version "0.251.1" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.251.1.tgz#b561c765baff1a93d85c510360d2d9c78f81ed86" - integrity sha512-8ZuLqJPlL/T9K3zFdr1m88Lx8JOoJluTTdyvN4uH5NT9zoIIFqbCDoXVhkHh022k2lhuAyFF27cu0BYKh5SmDA== + version "0.256.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.256.0.tgz#2a453925caa0f40beb83ef72ea6479ef7b25d739" + integrity sha512-HFb/GgB7hq+TYosLJuMLdLp8aGlyAVfrJaTvcM0w2rz2T33PjkVbRU419ncK/69cjowUksewuspkBheq9ZX9Hw== follow-redirects@^1.0.0, follow-redirects@^1.15.6: version "1.15.9" @@ -9804,6 +10040,11 @@ foreground-child@^3.1.0, foreground-child@^3.3.0: cross-spawn "^7.0.0" signal-exit "^4.0.1" +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + fork-ts-checker-webpack-plugin@^6.5.0: version "6.5.3" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" @@ -9850,7 +10091,7 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@^4.0.0: +form-data@^4.0.0, form-data@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== @@ -10000,15 +10241,18 @@ get-func-name@^2.0.1, get-func-name@^2.0.2: integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + version "1.2.5" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.5.tgz#dfe7dd1b30761b464fe51bf4bb00ac7c37b681e7" + integrity sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg== dependencies: + call-bind-apply-helpers "^1.0.0" + dunder-proto "^1.0.0" + es-define-property "^1.0.1" es-errors "^1.3.0" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" get-nonce@^1.0.0: version "1.0.1" @@ -10050,7 +10294,7 @@ get-stream@6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== -get-stream@^5.0.0: +get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -10083,6 +10327,20 @@ get-tsconfig@^4.7.5: dependencies: resolve-pkg-maps "^1.0.0" +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + giget@^1.0.0: version "1.2.3" resolved "https://registry.yarnpkg.com/giget/-/giget-1.2.3.tgz#ef6845d1140e89adad595f7f3bb60aa31c672cb6" @@ -10213,6 +10471,13 @@ glob@^9.2.0: minipass "^4.2.4" path-scurry "^1.6.1" +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + global-modules@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" @@ -10241,7 +10506,7 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3, globalthis@^1.0.4: +globalthis@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== @@ -10261,12 +10526,10 @@ globby@11.1.0, globby@^11.0.1, globby@^11.0.2, globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.1.0, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== graceful-fs@4.2.11, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" @@ -10324,7 +10587,7 @@ harmony-reflect@^1.4.6: resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== -has-bigints@^1.0.1, has-bigints@^1.0.2: +has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== @@ -10346,15 +10609,17 @@ has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== +has-proto@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.0.1, has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: version "1.0.2" @@ -10378,12 +10643,12 @@ hash-base@^3.0.0: safe-buffer "^5.2.0" hash-base@~3.0, hash-base@~3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow== + version "3.0.5" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.5.tgz#52480e285395cf7fba17dc4c9e47acdc7f248a8a" + integrity sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + safe-buffer "^5.2.1" hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" @@ -10466,9 +10731,9 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: lru-cache "^6.0.0" hosted-git-info@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58" - integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== + version "6.1.3" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.3.tgz#2ee1a14a097a1236bddf8672c35b613c46c55946" + integrity sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw== dependencies: lru-cache "^7.5.1" @@ -10639,6 +10904,15 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" +http-signature@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.4.0.tgz#dee5a9ba2bf49416abc544abd6d967f6a94c8c3f" + integrity sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.18.0" + https-proxy-agent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" @@ -10656,11 +10930,11 @@ https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: debug "4" https-proxy-agent@^7.0.1: - version "7.0.5" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" - integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== + version "7.0.6" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" + integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== dependencies: - agent-base "^7.0.2" + agent-base "^7.1.2" debug "4" human-signals@^1.1.1: @@ -10807,6 +11081,11 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + ini@^1.3.2, ini@^1.3.5, ini@^1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" @@ -10923,12 +11202,12 @@ is-async-function@^2.0.0: dependencies: has-tostringtag "^1.0.0" -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== dependencies: - has-bigints "^1.0.1" + has-bigints "^1.0.2" is-binary-path@~2.1.0: version "2.1.0" @@ -10937,13 +11216,13 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-boolean-object@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.0.tgz#9743641e80a62c094b5941c5bb791d66a88e497a" + integrity sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bind "^1.0.7" + has-tostringtag "^1.0.2" is-buffer@^2.0.5: version "2.0.5" @@ -10957,7 +11236,7 @@ is-bun-module@^1.0.2: dependencies: semver "^7.6.3" -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.1.3, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== @@ -10983,7 +11262,7 @@ is-data-view@^1.0.1: dependencies: is-typed-array "^1.1.13" -is-date-object@^1.0.1, is-date-object@^1.0.5: +is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== @@ -11005,12 +11284,12 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== +is-finalizationregistry@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz#d74a7d0c5f3578e34a20729e69202e578d495dc2" + integrity sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -11041,6 +11320,14 @@ is-gzip@^1.0.0: resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" integrity sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ== +is-installed-globally@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -11074,12 +11361,13 @@ is-negative-zero@^2.0.3: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== +is-number-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.0.tgz#5a867e9ecc3d294dda740d9f127835857af7eb05" + integrity sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw== dependencies: - has-tostringtag "^1.0.0" + call-bind "^1.0.7" + has-tostringtag "^1.0.2" is-number@^7.0.0: version "7.0.0" @@ -11139,12 +11427,14 @@ is-potential-custom-element-name@^1.0.1: integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.0.tgz#41b9d266e7eb7451312c64efc37e8a7d453077cf" + integrity sha512-B6ohK4ZmoftlUe+uvenXSbPJFo6U37BH7oO1B3nQH8f/7h27N56s85MhUtbFJAziz5dcmuR3i8ovUl35zp8pFA== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bind "^1.0.7" + gopd "^1.1.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" is-regexp@^1.0.0: version "1.0.0" @@ -11190,19 +11480,22 @@ is-stream@^3.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +is-string@^1.0.7, is-string@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.0.tgz#8cb83c5d57311bf8058bc6c8db294711641da45d" + integrity sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g== dependencies: - has-tostringtag "^1.0.0" + call-bind "^1.0.7" + has-tostringtag "^1.0.2" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== +is-symbol@^1.0.4, is-symbol@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.0.tgz#ae993830a56d4781886d39f9f0a46b3e89b7b60b" + integrity sha512-qS8KkNNXUZ/I+nX6QT8ZS1/Yx0A444yhzdTKxCzKkNjQ9sHErBxJnJAgh+f5YhusYECEcjo4XcyH87hn6+ks0A== dependencies: - has-symbols "^1.0.2" + call-bind "^1.0.7" + has-symbols "^1.0.3" + safe-regex-test "^1.0.3" is-text-path@^1.0.1: version "1.0.1" @@ -11218,7 +11511,7 @@ is-typed-array@^1.1.13, is-typed-array@^1.1.3: dependencies: which-typed-array "^1.1.14" -is-typedarray@^1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== @@ -11303,6 +11596,11 @@ isomorphic-webcrypto@^2.3.8: expo-random "*" react-native-securerandom "^0.1.1" +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" @@ -12299,7 +12597,7 @@ jest@^27.4.3: import-local "^3.0.2" jest-cli "^27.5.1" -jiti@^1.21.0, jiti@^1.21.6: +jiti@^1.21.6: version "1.21.6" resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== @@ -12344,6 +12642,11 @@ jsbn@1.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + jscodeshift@^0.15.1: version "0.15.2" resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.15.2.tgz#145563860360b4819a558c75c545f39683e5a0be" @@ -12470,7 +12773,7 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@^0.4.0: +json-schema@0.4.0, json-schema@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== @@ -12480,7 +12783,7 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stringify-safe@^5.0.1: +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== @@ -12546,6 +12849,16 @@ jsonwebtoken@^9.0.2: ms "^2.1.1" semver "^7.5.4" +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: version "3.3.5" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" @@ -12633,6 +12946,11 @@ launch-editor@^2.6.0: picocolors "^1.0.0" shell-quote "^1.8.1" +lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + lazy-universal-dotenv@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz#0b220c264e89a042a37181a4928cdd298af73422" @@ -12779,15 +13097,15 @@ libnpmpublish@7.3.0: sigstore "^1.4.0" ssri "^10.0.1" -lilconfig@^2.0.3, lilconfig@^2.1.0: +lilconfig@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== -lilconfig@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" - integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== +lilconfig@^3.0.0, lilconfig@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" @@ -12799,6 +13117,20 @@ lines-and-columns@~2.0.3: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== +listr2@^3.8.3: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + load-json-file@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" @@ -12930,7 +13262,7 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.once@^4.0.0: +lodash.once@^4.0.0, lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== @@ -12958,6 +13290,16 @@ log-symbols@^4.0.0, log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -13021,9 +13363,9 @@ magic-string@^0.25.0, magic-string@^0.25.7: sourcemap-codec "^1.4.8" magic-string@^0.30.5: - version "0.30.12" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.12.tgz#9eb11c9d072b9bcb4940a5b2c2e1a217e4ee1a60" - integrity sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw== + version "0.30.14" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.14.tgz#e9bb29870b81cfc1ec3cc656552f5a7fcbf19077" + integrity sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" @@ -13138,9 +13480,9 @@ map-or-similar@^1.5.0: integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== markdown-to-jsx@^7.1.8: - version "7.5.0" - resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.5.0.tgz#42ece0c71e842560a7d8bd9f81e7a34515c72150" - integrity sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw== + version "7.7.1" + resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.7.1.tgz#8840c35583c1c024330573adb0effa28746708ee" + integrity sha512-BjLkHb+fWCAH9gp7ndbgPrY+zeZlGFtCiQNTWk+PD+GKfLg9YsUPNonSsYXGw6nQ7eZqeR+i71X59PpWXlxc/w== md5.js@^1.3.4: version "1.3.5" @@ -13255,7 +13597,7 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== -mime-types@^2.1.12, mime-types@^2.1.25, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.25, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -13356,7 +13698,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -13474,13 +13816,13 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== mlly@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.2.tgz#21c0d04543207495b8d867eff0ac29fac9a023c0" - integrity sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA== + version "1.7.3" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.3.tgz#d86c0fcd8ad8e16395eb764a5f4b831590cee48c" + integrity sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A== dependencies: - acorn "^8.12.1" + acorn "^8.14.0" pathe "^1.1.2" - pkg-types "^1.2.0" + pkg-types "^1.2.1" ufo "^1.5.4" mocha@^10.5.2: @@ -13600,16 +13942,11 @@ mz@^2.4.0, mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.6: +nanoid@^3.3.6, nanoid@^3.3.7: version "3.3.8" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" @@ -13636,11 +13973,11 @@ neo-async@^2.5.0, neo-async@^2.6.2: integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== next@^15.0.3: - version "15.0.3" - resolved "https://registry.yarnpkg.com/next/-/next-15.0.3.tgz#804f5b772e7570ef1f088542a59860914d3288e9" - integrity sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw== + version "15.0.4" + resolved "https://registry.yarnpkg.com/next/-/next-15.0.4.tgz#7ddad7299204f16c132d7e524cf903f1a513588e" + integrity sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA== dependencies: - "@next/env" "15.0.3" + "@next/env" "15.0.4" "@swc/counter" "0.1.3" "@swc/helpers" "0.5.13" busboy "1.6.0" @@ -13648,14 +13985,14 @@ next@^15.0.3: postcss "8.4.31" styled-jsx "5.1.6" optionalDependencies: - "@next/swc-darwin-arm64" "15.0.3" - "@next/swc-darwin-x64" "15.0.3" - "@next/swc-linux-arm64-gnu" "15.0.3" - "@next/swc-linux-arm64-musl" "15.0.3" - "@next/swc-linux-x64-gnu" "15.0.3" - "@next/swc-linux-x64-musl" "15.0.3" - "@next/swc-win32-arm64-msvc" "15.0.3" - "@next/swc-win32-x64-msvc" "15.0.3" + "@next/swc-darwin-arm64" "15.0.4" + "@next/swc-darwin-x64" "15.0.4" + "@next/swc-linux-arm64-gnu" "15.0.4" + "@next/swc-linux-arm64-musl" "15.0.4" + "@next/swc-linux-x64-gnu" "15.0.4" + "@next/swc-linux-x64-musl" "15.0.4" + "@next/swc-win32-arm64-msvc" "15.0.4" + "@next/swc-win32-x64-msvc" "15.0.4" sharp "^0.33.5" no-case@^3.0.4: @@ -13711,9 +14048,9 @@ node-forge@^1: integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-gyp@^10.0.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.2.0.tgz#80101c4aa4f7ab225f13fcc8daaaac4eb1a8dd86" - integrity sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw== + version "10.3.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.3.1.tgz#1dd1a1a1c6c5c59da1a76aea06a062786b2c8a1a" + integrity sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ== dependencies: env-paths "^2.2.0" exponential-backoff "^3.1.1" @@ -13962,9 +14299,9 @@ nth-check@^2.0.1: boolbase "^1.0.0" nwsapi@^2.2.0, nwsapi@^2.2.2: - version "2.2.13" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" - integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== + version "2.2.16" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.16.tgz#177760bba02c351df1d2644e220c31dfec8cdb43" + integrity sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ== nx@17.3.2, "nx@>=17.1.2 < 18": version "17.3.2" @@ -14072,10 +14409,10 @@ object-hash@^3.0.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== +object-inspect@^1.13.1, object-inspect@^1.13.3: + version "1.13.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" + integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== object-is@^1.1.5: version "1.1.6" @@ -14265,6 +14602,11 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -14590,10 +14932,10 @@ path-scurry@^1.11.1, path-scurry@^1.6.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" - integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== path-type@^3.0.0: version "3.0.0" @@ -14667,7 +15009,7 @@ pify@5.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== -pify@^2.3.0: +pify@^2.2.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== @@ -14715,7 +15057,7 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" -pkg-types@^1.2.0: +pkg-types@^1.2.0, pkg-types@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.2.1.tgz#6ac4e455a5bb4b9a6185c1c79abd544c901db2e5" integrity sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw== @@ -14949,7 +15291,7 @@ postcss-lab-function@^4.2.1: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -postcss-load-config@^4.0.1, postcss-load-config@^4.0.2: +postcss-load-config@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== @@ -15032,20 +15374,20 @@ postcss-modules-extract-imports@^3.1.0: integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== postcss-modules-local-by-default@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz#f1b9bd757a8edf4d8556e8d0f4f894260e3df78f" - integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz#b0db6bc81ffc7bdc52eb0f84d6ca0bedf0e36d21" + integrity sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q== dependencies: icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^7.0.0" postcss-value-parser "^4.1.0" postcss-modules-scope@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz#a43d28289a169ce2c15c00c4e64c0858e43457d5" - integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== + version "3.2.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== dependencies: - postcss-selector-parser "^6.0.4" + postcss-selector-parser "^7.0.0" postcss-modules-values@^4.0.0: version "4.0.0" @@ -15054,7 +15396,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nested@^6.0.1, postcss-nested@^6.2.0: +postcss-nested@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== @@ -15262,7 +15604,7 @@ postcss-selector-not@^6.0.1: dependencies: postcss-selector-parser "^6.0.10" -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9, postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9, postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: version "6.1.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== @@ -15270,6 +15612,14 @@ postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-select cssesc "^3.0.0" util-deprecate "^1.0.2" +postcss-selector-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz#41bd8b56f177c093ca49435f65731befe25d6b9c" + integrity sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-svgo@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" @@ -15307,7 +15657,7 @@ postcss@^7.0.35: picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8, postcss@^8.4.47: +postcss@^8, postcss@^8.3.5, postcss@^8.4.33, postcss@^8.4.4, postcss@^8.4.47: version "8.4.49" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== @@ -15316,15 +15666,6 @@ postcss@^8, postcss@^8.4.47: picocolors "^1.1.1" source-map-js "^1.2.1" -postcss@^8.3.5, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4: - version "8.4.47" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== - dependencies: - nanoid "^3.3.7" - picocolors "^1.1.0" - source-map-js "^1.2.1" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -15352,7 +15693,7 @@ prettier@^2.8.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: +pretty-bytes@^5.3.0, pretty-bytes@^5.4.1, pretty-bytes@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== @@ -15426,9 +15767,9 @@ process-nextick-args@~2.0.0: integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== process-on-spawn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" - integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.1.0.tgz#9d5999ba87b3bf0a8acb05322d69f2f5aa4fb763" + integrity sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q== dependencies: fromentries "^1.2.0" @@ -15504,15 +15845,22 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== + proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + version "1.15.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" public-encrypt@^4.0.3: version "4.0.3" @@ -15556,7 +15904,7 @@ punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== @@ -15583,11 +15931,11 @@ pure-rand@^6.0.0: integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== pvtsutils@^1.3.2, pvtsutils@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.5.tgz#b8705b437b7b134cd7fd858f025a23456f1ce910" - integrity sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA== + version "1.3.6" + resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.6.tgz#ec46e34db7422b9e4fdc5490578c1883657d6001" + integrity sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg== dependencies: - tslib "^2.6.1" + tslib "^2.8.1" pvutils@^1.1.3: version "1.1.3" @@ -15608,13 +15956,20 @@ qrcode@^1.5.3: pngjs "^5.0.0" yargs "^15.3.1" -qs@6.13.0, qs@^6.10.0, qs@^6.12.3: +qs@6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: side-channel "^1.0.6" +qs@6.13.1, qs@^6.10.0, qs@^6.12.3: + version "6.13.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.1.tgz#3ce5fc72bd3a8171b85c99b93c65dd20b7d1b16e" + integrity sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg== + dependencies: + side-channel "^1.0.6" + querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -16120,18 +16475,19 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -reflect.getprototypeof@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" - integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== +reflect.getprototypeof@^1.0.4, reflect.getprototypeof@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.8.tgz#c58afb17a4007b4d1118c07b92c23fca422c5d82" + integrity sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.23.1" + dunder-proto "^1.0.0" + es-abstract "^1.23.5" es-errors "^1.3.0" get-intrinsic "^1.2.4" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" + gopd "^1.2.0" + which-builtin-type "^1.2.0" regenerate-unicode-properties@^10.2.0: version "10.2.0" @@ -16167,7 +16523,7 @@ regex-parser@^2.2.11: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.3.0.tgz#4bb61461b1a19b8b913f3960364bb57887f920ee" integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg== -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2, regexp.prototype.flags@^1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== @@ -16177,15 +16533,15 @@ regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: es-errors "^1.3.0" set-function-name "^2.0.2" -regexpu-core@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac" - integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw== +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== dependencies: regenerate "^1.4.2" regenerate-unicode-properties "^10.2.0" regjsgen "^0.8.0" - regjsparser "^0.11.0" + regjsparser "^0.12.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" @@ -16194,10 +16550,10 @@ regjsgen@^0.8.0: resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== -regjsparser@^0.11.0: - version "0.11.2" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.11.2.tgz#7404ad42be00226d72bcf1f003f1f441861913d8" - integrity sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA== +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== dependencies: jsesc "~3.0.2" @@ -16244,6 +16600,13 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -16308,11 +16671,11 @@ resolve.exports@^1.1.0: integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" + integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4, resolve@^1.22.8: +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -16353,6 +16716,11 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rfdc@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== + rimraf@^2.6.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -16425,7 +16793,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.5.5: +rxjs@^7.5.1, rxjs@^7.5.5: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== @@ -16461,7 +16829,7 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -16636,7 +17004,7 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== @@ -16725,9 +17093,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.7.3, shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + version "1.8.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" + integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== side-channel@^1.0.4, side-channel@^1.0.6: version "1.0.6" @@ -16794,6 +17162,24 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" @@ -16827,11 +17213,11 @@ socks-proxy-agent@^7.0.0: socks "^2.6.2" socks-proxy-agent@^8.0.3: - version "8.0.4" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz#9071dca17af95f483300316f4b063578fa0db08c" - integrity sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw== + version "8.0.5" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz#b9cdb4e7e998509d7659d689ce7697ac21645bee" + integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== dependencies: - agent-base "^7.1.1" + agent-base "^7.1.2" debug "^4.3.4" socks "^2.8.3" @@ -16844,9 +17230,9 @@ socks@^2.6.2, socks@^2.8.3: smart-buffer "^4.2.0" sonner@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/sonner/-/sonner-1.7.0.tgz#f59a2a70e049a179b6fbd1bb1bf2619d5ced07c0" - integrity sha512-W6dH7m5MujEPyug3lpI2l3TC3Pp1+LTgK0Efg+IHDrBbtEjyCmCHHo6yfNBOsf1tFZ6zf+jceWwB38baC8yO9g== + version "1.7.1" + resolved "https://registry.yarnpkg.com/sonner/-/sonner-1.7.1.tgz#737110a3e6211d8d766442076f852ddde1725205" + integrity sha512-b6LHBfH32SoVasRFECrdY8p8s7hXPDn3OHUFbZZbiB1ctLS9Gdh6rpX2dVrpQA0kiL5jcRzDDldwwLkSKk3+QQ== sort-keys@^2.0.0: version "2.0.0" @@ -17015,6 +17401,21 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +sshpk@^1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + ssri@^10.0.0, ssri@^10.0.1: version "10.0.6" resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" @@ -17036,6 +17437,11 @@ ssri@^9.0.1: dependencies: minipass "^3.1.1" +stable-hash@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stable-hash/-/stable-hash-0.0.4.tgz#55ae7dadc13e4b3faed13601587cec41859b42f7" + integrity sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g== + stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -17329,7 +17735,7 @@ stylis@4.2.0: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== -sucrase@^3.32.0, sucrase@^3.35.0: +sucrase@^3.35.0: version "3.35.0" resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== @@ -17448,38 +17854,10 @@ tailwindcss-animate@^1.0.7: resolved "https://registry.yarnpkg.com/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz#318b692c4c42676cc9e67b19b78775742388bef4" integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA== -tailwindcss@^3.0.2: - version "3.4.14" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.14.tgz#6dd23a7f54ec197b19159e91e3bb1e55e7aa73ac" - integrity sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.5.3" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.3.0" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.21.0" - lilconfig "^2.1.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" - -tailwindcss@^3.4.1: - version "3.4.15" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.15.tgz#04808bf4bf1424b105047d19e7d4bfab368044a9" - integrity sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw== +tailwindcss@^3.0.2, tailwindcss@^3.4.1: + version "3.4.16" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.16.tgz#35a7c3030844d6000fc271878db4096b6a8d2ec9" + integrity sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" @@ -17490,7 +17868,7 @@ tailwindcss@^3.4.1: glob-parent "^6.0.2" is-glob "^4.0.3" jiti "^1.21.6" - lilconfig "^2.1.0" + lilconfig "^3.1.3" micromatch "^4.0.8" normalize-path "^3.0.0" object-hash "^3.0.0" @@ -17624,9 +18002,9 @@ terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.1, terser-webpack-plugi terser "^5.26.0" terser@^5.0.0, terser@^5.10.0, terser@^5.26.0: - version "5.36.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e" - integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== + version "5.37.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.37.0.tgz#38aa66d1cfc43d0638fab54e43ff8a4f72a21ba3" + integrity sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -17671,6 +18049,11 @@ throat@^6.0.1: resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== +throttleit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== + through2@^2.0.0, through2@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -17679,7 +18062,7 @@ through2@^2.0.0, through2@^2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -17694,6 +18077,18 @@ tiny-invariant@^1.3.1, tiny-invariant@^1.3.3: resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== +tldts-core@^6.1.66: + version "6.1.66" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.66.tgz#78f823137876f80bf8986028e8839473c2d114af" + integrity sha512-s07jJruSwndD2X8bVjwioPfqpIc1pDTzszPe9pL1Skbh4bjytL85KNQ3tolqLbCvpQHawIsGfFi9dgerWjqW4g== + +tldts@^6.1.32: + version "6.1.66" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.66.tgz#34cb048acf51964c8f66139284a4c863d8150bb2" + integrity sha512-l3ciXsYFel/jSRfESbyKYud1nOw7WfhrBEF9I3UiarYk/qEaOOwu3qXNECHw4fHGHGTEOuhf/VdKgoDX5M/dhQ== + dependencies: + tldts-core "^6.1.66" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -17701,7 +18096,7 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@~0.2.1: +tmp@~0.2.1, tmp@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== @@ -17719,9 +18114,9 @@ to-regex-range@^5.0.1: is-number "^7.0.0" tocbot@^4.20.1: - version "4.31.0" - resolved "https://registry.yarnpkg.com/tocbot/-/tocbot-4.31.0.tgz#6ea23f225f4af6231882a36aba0442109e94e826" - integrity sha512-Zd9tt6EQn2bvLSHIcug/Z1Sukyn/XJ62dMK9SjIbtHSDkI+Du40CmBvds6BedzXZe1sS1iPGl4Wup/k4cJkVhQ== + version "4.32.2" + resolved "https://registry.yarnpkg.com/tocbot/-/tocbot-4.32.2.tgz#24d178e5f13b8fea7aeb5393522b67d718e5083c" + integrity sha512-UbVZNXX79LUqMzsnSTwE/YF/PYc2pg3G77D/jcolHd6lmw+oklzfcLtHSsmWBhOf1wfWD1HfYzdjGQef1VcQgg== toidentifier@1.0.1: version "1.0.1" @@ -17738,6 +18133,13 @@ tough-cookie@^4.0.0, tough-cookie@^4.1.2: universalify "^0.2.0" url-parse "^1.5.3" +tough-cookie@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" + integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q== + dependencies: + tldts "^6.1.32" + tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" @@ -17764,6 +18166,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +tree-kill@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -17775,9 +18182,9 @@ tryer@^1.0.1: integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== ts-api-utils@^1.3.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.2.tgz#a6a6dff26117ac7965624fc118525971edc6a82a" - integrity sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw== + version "1.4.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" + integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== ts-dedent@^2.0.0, ts-dedent@^2.2.0: version "2.2.0" @@ -17851,7 +18258,7 @@ tslib@^1.13.0, tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.6.1, tslib@^2.6.2, tslib@^2.7.0: +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.6.2, tslib@^2.7.0, tslib@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -17881,11 +18288,23 @@ tuf-js@^2.2.1: debug "^4.3.4" make-fetch-happen "^13.0.1" +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + tween-functions@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/tween-functions/-/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff" integrity sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA== +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -17979,9 +18398,9 @@ typed-array-byte-length@^1.0.1: is-typed-array "^1.1.13" typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz#3fa9f22567700cc86aaf86a1e7176f74b59600f2" + integrity sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw== dependencies: available-typed-arrays "^1.0.7" call-bind "^1.0.7" @@ -17989,18 +18408,19 @@ typed-array-byte-offset@^1.0.2: gopd "^1.0.1" has-proto "^1.0.3" is-typed-array "^1.1.13" + reflect.getprototypeof "^1.0.6" typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== dependencies: call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-proto "^1.0.3" is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -18019,21 +18439,16 @@ typescript@5.1.6: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== -"typescript@>=3 < 6", typescript@^5.3.3, typescript@^5.5.3: - version "5.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== +"typescript@>=3 < 6", typescript@^5, typescript@^5.3.3, typescript@^5.5.3: + version "5.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" + integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== typescript@^4: version "4.9.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -typescript@^5: - version "5.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" - integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== - ufo@^1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754" @@ -18071,11 +18486,16 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici-types@~6.19.2, undici-types@~6.19.8: +undici-types@~6.19.2: version "6.19.8" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" @@ -18177,9 +18597,9 @@ unpipe@1.0.0, unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unplugin@^1.3.1: - version "1.15.0" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.15.0.tgz#cd1e92e537ab14a03354d6f83f29d536fac2e5a9" - integrity sha512-jTPIs63W+DUEDW207ztbaoO7cQ4p5aVaB823LSlxpsFEU3Mykwxf3ZGC/wzxFJeZlASZYgVrWeo7LgOrqJZ8RA== + version "1.16.0" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.16.0.tgz#ca0f248bf8798cd752dd02e5b381223b737cef72" + integrity sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ== dependencies: acorn "^8.14.0" webpack-virtual-modules "^0.6.2" @@ -18358,6 +18778,15 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" @@ -18570,15 +18999,15 @@ webpack-virtual-modules@^0.6.2: integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== webpack@5, webpack@^5.11.0, webpack@^5.64.4: - version "5.96.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.96.1.tgz#3676d1626d8312b6b10d0c18cc049fba7ac01f0c" - integrity sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA== + version "5.97.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.97.1.tgz#972a8320a438b56ff0f1d94ade9e82eac155fa58" + integrity sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.6" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" acorn "^8.14.0" browserslist "^4.24.0" chrome-trace-event "^1.0.2" @@ -18706,26 +19135,27 @@ whatwg-url@^8.0.0, whatwg-url@^8.5.0: webidl-conversions "^6.1.0" which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz#2d850d6c4ac37b95441a67890e19f3fda8b6c6d9" + integrity sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + is-bigint "^1.1.0" + is-boolean-object "^1.2.0" + is-number-object "^1.1.0" + is-string "^1.1.0" + is-symbol "^1.1.0" -which-builtin-type@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.4.tgz#592796260602fc3514a1b5ee7fa29319b72380c3" - integrity sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w== +which-builtin-type@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.0.tgz#58042ac9602d78a6d117c7e811349df1268ba63c" + integrity sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA== dependencies: + call-bind "^1.0.7" function.prototype.name "^1.1.6" has-tostringtag "^1.0.2" is-async-function "^2.0.0" is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" + is-finalizationregistry "^1.1.0" is-generator-function "^1.0.10" is-regex "^1.1.4" is-weakref "^1.0.2" @@ -18750,9 +19180,9 @@ which-module@^2.0.0: integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + version "1.1.16" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.16.tgz#db4db429c4706feca2f01677a144278e4a8c216b" + integrity sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ== dependencies: available-typed-arrays "^1.0.7" call-bind "^1.0.7" @@ -19137,9 +19567,9 @@ yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yaml@^2.3.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.0.tgz#14059ad9d0b1680d0f04d3a60fe00f3a857303c3" - integrity sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ== + version "2.6.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.1.tgz#42f2b1ba89203f374609572d5349fb8686500773" + integrity sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg== yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: version "21.1.1" From fa979d9e224b4f9902a0ed3add8bd7cfa89d70fe Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Fri, 20 Dec 2024 09:26:56 +0700 Subject: [PATCH 02/13] Add README file --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 9d0bf87f..acb0cab2 100644 --- a/README.md +++ b/README.md @@ -92,4 +92,12 @@ export MOCK_GS1_SERVICE_API_KEY=test456 # Mock GS1 service API key # Run seeding scripts ./seeding/idr-data.sh ./seeding/mock-gs1-data.sh +``` + +## End-to-end testing +```bash +# Run end-to-end testing scripts +docker-compose up -d +yarn start:e2e-test +yarn cypress run ``` \ No newline at end of file From 7438b05332d459f708b0d6415bcabb18ea6909fa Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Fri, 20 Dec 2024 10:27:13 +0700 Subject: [PATCH 03/13] Remove App docker from e2e docker compose --- docker-compose.e2e.yml | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/docker-compose.e2e.yml b/docker-compose.e2e.yml index ca08a7e4..075f4491 100644 --- a/docker-compose.e2e.yml +++ b/docker-compose.e2e.yml @@ -129,28 +129,6 @@ services: depends_on: - identity-resolver-service - mock-global-gs1-resolver - # Mock App - app: - build: - context: . - dockerfile: Dockerfile - args: - CONFIG_FILE: app-config.e2e.json - ports: - - "3003:80" - - cypress: - image: cypress/included:13.16.1 - depends_on: - - app - environment: - - CYPRESS_baseUrl=http://app:3003 # Base URL for Cypress to test - volumes: - - ./cypress:/e2e/cypress # Mount the Cypress test files - - ./cypress.config.ts:/e2e/cypress.config.ts # Mount Cypress config file - - ./packages/mock-app:/app/packages/mock-app # Mount the mock-app for context - working_dir: /e2e - entrypoint: ["sh", "-c", "npx wait-on http://app:3003 && npx cypress run"] volumes: vckit-data: \ No newline at end of file From dae8de6f95d28aaba402e42f134ebf650757e555 Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Fri, 20 Dec 2024 10:50:02 +0700 Subject: [PATCH 04/13] Resolve comments --- .../actorName.cy.ts} | 11 ++--------- .../issueDPP.cy.ts | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) rename cypress/e2e/{simple_test/actorTesting.cy.ts => actor_content_test/actorName.cy.ts} (72%) rename cypress/e2e/{Function_test => issue_workflow_test}/issueDPP.cy.ts (98%) diff --git a/cypress/e2e/simple_test/actorTesting.cy.ts b/cypress/e2e/actor_content_test/actorName.cy.ts similarity index 72% rename from cypress/e2e/simple_test/actorTesting.cy.ts rename to cypress/e2e/actor_content_test/actorName.cy.ts index ff2e96d8..4ce6a68c 100644 --- a/cypress/e2e/simple_test/actorTesting.cy.ts +++ b/cypress/e2e/actor_content_test/actorName.cy.ts @@ -7,7 +7,6 @@ describe('Facility Links Test', () => { }); it('should verify all tags from the second match the expected texts', () => { - // Danh sách các text mong đợi, tương ứng với từ thẻ thứ 2 trở đi const expectedTexts = [ 'Orchard Facility', 'Packhouse Facility', @@ -17,24 +16,18 @@ describe('Facility Links Test', () => { 'General features', ]; - // Truy cập trang cy.visit('/'); - // Lấy tất cả các thẻ (trừ thẻ đầu tiên) cy.get('a').then(($aTags) => { - // Đảm bảo tổng số thẻ (trừ thẻ đầu) bằng với danh sách expectedTexts expect($aTags.length - 1).to.equal(expectedTexts.length); - // Lặp qua từng thẻ từ index = 1 (thẻ thứ 2 trở đi) $aTags.each((index, el) => { - if (index === 0) return; // Bỏ qua thẻ đầu tiên + if (index === 0) return; - // Lấy nội dung text của thẻ hiện tại cy.wrap(el) .invoke('text') .then((text) => { - // So sánh text với giá trị tương ứng trong expectedTexts - expect(text.trim()).to.equal(expectedTexts[index - 1]); // Trừ đi 1 vì bỏ qua thẻ đầu tiên + expect(text.trim()).to.equal(expectedTexts[index - 1]); }); }); }); diff --git a/cypress/e2e/Function_test/issueDPP.cy.ts b/cypress/e2e/issue_workflow_test/issueDPP.cy.ts similarity index 98% rename from cypress/e2e/Function_test/issueDPP.cy.ts rename to cypress/e2e/issue_workflow_test/issueDPP.cy.ts index 7e3ef2dd..e101ba28 100644 --- a/cypress/e2e/Function_test/issueDPP.cy.ts +++ b/cypress/e2e/issue_workflow_test/issueDPP.cy.ts @@ -1,5 +1,5 @@ -describe('Facility Links Test', () => { +describe('Issue DPP end-to-end testing flow', () => { beforeEach(() => { // Load app config JSON cy.fixture('app-config.json').then((data) => { From 5d9872ac454aaa663dac0028ef8473ea19cfefc2 Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Fri, 20 Dec 2024 13:28:37 +0700 Subject: [PATCH 05/13] Update README and docker compose e2e file --- README.md | 2 +- docker-compose.e2e.yml | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index acb0cab2..f4f62afc 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ export MOCK_GS1_SERVICE_API_KEY=test456 # Mock GS1 service API key ## End-to-end testing ```bash # Run end-to-end testing scripts -docker-compose up -d +SEEDING=true docker compose -f docker-compose.e2e.yml up -d yarn start:e2e-test yarn cypress run ``` \ No newline at end of file diff --git a/docker-compose.e2e.yml b/docker-compose.e2e.yml index 075f4491..e917cf4b 100644 --- a/docker-compose.e2e.yml +++ b/docker-compose.e2e.yml @@ -130,5 +130,14 @@ services: - identity-resolver-service - mock-global-gs1-resolver + app: + build: + context: . + dockerfile: Dockerfile + args: + CONFIG_FILE: app-config.e2e.json + ports: + - "3003:80" + volumes: vckit-data: \ No newline at end of file From 421b75c74eb958a33b3e9afefaf6d888a2f62aa8 Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Fri, 20 Dec 2024 13:32:15 +0700 Subject: [PATCH 06/13] resolve README file --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f4f62afc..fe764085 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,5 @@ export MOCK_GS1_SERVICE_API_KEY=test456 # Mock GS1 service API key ```bash # Run end-to-end testing scripts SEEDING=true docker compose -f docker-compose.e2e.yml up -d -yarn start:e2e-test yarn cypress run ``` \ No newline at end of file From 38f3738a7d34b0a318d8bcfb446faeb15b8da0ce Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Mon, 23 Dec 2024 13:04:18 +0700 Subject: [PATCH 07/13] Setup issue DPP --- README.md | 1 + cypress.config.ts | 23 +- .../issue_workflow_test/DPP/credentials.json | 10 + .../{ => DPP}/issueDPP.cy.ts | 28 +- .../DPP/test-untp-dpp-scripts.sh | 44 + ...igitalProductPassport_instance-v0.5.0.json | 853 ++++++++++++++++++ run-e2e-tests.sh | 3 + 7 files changed, 960 insertions(+), 2 deletions(-) create mode 100644 cypress/e2e/issue_workflow_test/DPP/credentials.json rename cypress/e2e/issue_workflow_test/{ => DPP}/issueDPP.cy.ts (72%) create mode 100755 cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh create mode 100644 cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json create mode 100755 run-e2e-tests.sh diff --git a/README.md b/README.md index fe764085..d165fc16 100644 --- a/README.md +++ b/README.md @@ -98,5 +98,6 @@ export MOCK_GS1_SERVICE_API_KEY=test456 # Mock GS1 service API key ```bash # Run end-to-end testing scripts SEEDING=true docker compose -f docker-compose.e2e.yml up -d +chmod +x run-e2e-tests.sh yarn cypress run ``` \ No newline at end of file diff --git a/cypress.config.ts b/cypress.config.ts index 50de0284..9a65951c 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -1,5 +1,10 @@ import { defineConfig } from 'cypress'; +import fs from 'fs'; +import path from 'path'; +import { exec } from 'child_process'; +import util from 'util'; +const execPromise = util.promisify(exec); export default defineConfig({ e2e: { baseUrl: 'http://localhost:3003', // Replace with your application's base URL @@ -12,6 +17,22 @@ export default defineConfig({ openMode: 0, // No retries in interactive mode }, defaultCommandTimeout: 4000, - defaultBrowser: "chrome" + defaultBrowser: "chrome", + setupNodeEvents(on) { + on('task', { + writeToFile({ fileName, data }: { fileName: string; data: any }) { + const filePath = path.resolve('cypress/fixtures/credentials-e2e', fileName); + fs.writeFileSync(filePath, JSON.stringify(data, null, 2)); + return null; // Indicates success + }, + runShellScript({ scriptPath }: { scriptPath: string }) { + return execPromise(`bash ${scriptPath}`) + .then(({ stdout }) => stdout) + .catch(({ stderr }) => { + throw new Error(stderr); + }); + }, + }); + }, }, }); diff --git a/cypress/e2e/issue_workflow_test/DPP/credentials.json b/cypress/e2e/issue_workflow_test/DPP/credentials.json new file mode 100644 index 00000000..9bee6fd0 --- /dev/null +++ b/cypress/e2e/issue_workflow_test/DPP/credentials.json @@ -0,0 +1,10 @@ +{ + "credentials": [ + { + "type": "digitalProductPassport", + "version": "v0.5.0", + "dataPath": "../../cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json", + "url": "" + } + ] +} \ No newline at end of file diff --git a/cypress/e2e/issue_workflow_test/issueDPP.cy.ts b/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts similarity index 72% rename from cypress/e2e/issue_workflow_test/issueDPP.cy.ts rename to cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts index e101ba28..3a95ef5c 100644 --- a/cypress/e2e/issue_workflow_test/issueDPP.cy.ts +++ b/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts @@ -1,3 +1,4 @@ +import { LinkType } from "@mock-app/services"; describe('Issue DPP end-to-end testing flow', () => { beforeEach(() => { @@ -67,8 +68,12 @@ describe('Issue DPP end-to-end testing flow', () => { // await API issue VC cy.wait('@issueCredentials').then((interception) => { + const credential = interception.request.body.credential; + cy.log('interception: request: ', JSON.stringify(interception.request.body.credential)); expect(interception?.response?.statusCode).to.eq(201); - cy.log('Completed: issueCredentials'); + // Write the credential to a file + cy.task('writeToFile', { fileName: 'DigitalProductPassport_instance-v0.5.0.json', data: credential }); + cy.log('Completed: issueCredentials and written to file'); }); // await API storage VC @@ -88,8 +93,13 @@ describe('Issue DPP end-to-end testing flow', () => { // await API register link cy.wait('@linkResolverRegister').then((interception) => { + cy.log('linkResolverRegister Request Body:', JSON.stringify(interception.request.body)); expect(interception?.response?.statusCode).to.eq(201); cy.log('Completed: linkResolverRegister'); + const checkLinkTypeURL = 'http://localhost:3000/gs1/gtin/09359502000034?linkType=gs1:' + LinkType.sustainabilityInfo + cy.request('GET', checkLinkTypeURL).then((response) => { + expect(response.status).to.eq(200); + }); }); // Verify toast appears, using react-toastify @@ -103,4 +113,20 @@ describe('Issue DPP end-to-end testing flow', () => { expect(rawData).to.not.be.null; }); }); + + it('Runs testing UNTP V0.5.0', () => { + cy.exec('pwd').then((result) => { + cy.log('Current directory:', result.stdout); + }); + cy.task('runShellScript', { scriptPath: './cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh' }) + .then((output: any) => { + // Loại bỏ mã ANSI từ output + const cleanedOutput = output.replace(/\x1b\[[0-9;]*m/g, ''); + cy.log('Shell Script Output:', cleanedOutput); + // Expect the output to include success message + expect(cleanedOutput).to.include('Script completed successfully!'); + expect(cleanedOutput).to.include('Testing Credential: digitalProductPassport'); + expect(cleanedOutput).to.include('Result: PASS'); + }); + }); }); diff --git a/cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh b/cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh new file mode 100755 index 00000000..8d9475de --- /dev/null +++ b/cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +echo "Current working directory: $(pwd)" +# Set variables +SOURCE_FILE="credentials.json" +DEST_FOLDER="../../../../packages/untp-test-suite" + +# Verify paths +if [ ! -f "$SOURCE_FILE" ]; then + echo "Source file not found: $SOURCE_FILE" + exit 1 +fi + +if [ ! -d "$DEST_FOLDER" ]; then + echo "Destination folder not found: $DEST_FOLDER" + exit 1 +fi + +# Copy the JSON file to the new folder +cp "$SOURCE_FILE" "$DEST_FOLDER" || { echo "Failed to copy $SOURCE_FILE to $DEST_FOLDER"; exit 1; } +# Navigate to the new folder +cd "$DEST_FOLDER" || { echo "Failed to navigate to folder: $DEST_FOLDER"; exit 1; } + +# Run yarn build +if ! command -v yarn &> /dev/null; then + echo "yarn is not installed. Please install it before running the script." + exit 1 +fi + +yarn run build || { echo "Build failed"; exit 1; } + +# Run npm install globally +if ! command -v npm &> /dev/null; then + echo "npm is not installed. Please install it before running the script." + exit 1 +fi + +npm install -g . || { echo "Global npm install failed"; exit 1; } + +# Run untp script +yarn run untp test || { echo "untp script failed"; exit 1; } + +echo "Script completed successfully!" +# End of script diff --git a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json new file mode 100644 index 00000000..e2afaf5a --- /dev/null +++ b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json @@ -0,0 +1,853 @@ +{ + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://test.uncefact.org/vocabulary/untp/dpp/0.5.0/" + ], + "type": [ + "DigitalProductPassport", + "VerifiableCredential" + ], + "issuer": { + "id": "did:web:uncefact.github.io:project-vckit:test-and-development", + "name": "Orchard Facility" + }, + "credentialSubject": { + "type": [ + "Product" + ], + "id": "https://example.com/01/09359502000034", + "name": "EcoCharge Lithium-Ion Battery", + "registeredId": "09359502000034", + "idScheme": { + "type": [ + "IdentifierScheme" + ], + "id": "https://id.gs1.org/01/", + "name": "Global Trade Identification Number (GTIN)" + }, + "serialNumber": "12345678", + "batchNumber": "6789", + "productImage": { + "type": [ + "Link" + ], + "linkURL": "https://c.animaapp.com/b3vf2M20/img/pp-header@2x.png", + "linkName": "EV Battery 300Ah Image" + }, + "description": "The EcoCharge EC-5000 Lithium-Ion Battery is a high-capacity, 5000mAh battery designed for performance and sustainability. Manufactured with responsibly sourced materials and a 95% recyclability rate, it reduces lifecycle emissions through eco-friendly production and verified recycling programs.", + "productCategory": [ + { + "type": [ + "Classification" + ], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary cells", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + }, + { + "type": [ + "Classification" + ], + "id": "https://unstats.un.org/unsd/classifications/Econ/cpc/46410", + "code": "46410", + "name": "Primary batteries", + "schemeID": "https://unstats.un.org/unsd/classifications/Econ/cpc/", + "schemeName": "UN Central Product Classification (CPC)" + } + ], + "furtherInformation": [ + { + "type": [ + "Link" + ], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of document that is further information" + }, + { + "type": [ + "Link" + ], + "linkURL": "https://example-company.com/product-information/1234567", + "linkName": "Name of additional document that is further information" + } + ], + "producedByParty": { + "type": [ + "Identifier" + ], + "id": "https://id.example-company.com/party/6789", + "name": "Example Manufacturing Co." + }, + "producedAtFacility": { + "type": [ + "Identifier" + ], + "id": "https://id.example-company.com/facility/123", + "name": "Green Acres Battery Factory" + }, + "dimensions": { + "type": [ + "Dimension" + ], + "weight": { + "value": 10, + "unit": "kg" + }, + "length": { + "value": 90, + "unit": "mm" + }, + "width": { + "value": 60, + "unit": "mm" + }, + "height": { + "value": 10, + "unit": "mm" + }, + "volume": { + "value": 7.5, + "unit": "L" + } + }, + "characteristic": { + "Battery status": "Recycled", + "Battery cell type": "Prismatic", + "Number of cells per battery": "180", + "Total energy": "100kwh" + }, + "productionDate": "2024-04-24", + "countryOfProduction": "Australia", + "granularityLevel": "item", + "dueDiligenceDeclaration": { + "type": [ + "Link" + ], + "linkURL": "https://example-company.com/due-diligence/1234567", + "linkName": "Due Diligence Declaration" + }, + "materialsProvenance": [ + { + "type": [ + "Material" + ], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": [ + "Classification" + ], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { + "value": 1, + "unit": "kg" + }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": [ + "Material" + ], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": [ + "Classification" + ], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { + "value": 1, + "unit": "kg" + }, + "recycledAmount": 10, + "hazardous": true, + "materialSafetyInformation": { + "type": [ + "Link" + ], + "linkURL": "https://example.com/safety-info/lithium-spodumene.pdf", + "linkName": "Material Safety Data Sheet", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/safetyData" + } + }, + { + "type": [ + "Material" + ], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": [ + "Classification" + ], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { + "value": 1, + "unit": "kg" + }, + "recycledAmount": 0, + "hazardous": false + }, + { + "type": [ + "Material" + ], + "name": "Material", + "originCountry": "AU", + "materialType": { + "type": [ + "Classification" + ], + "id": "https://unfc.org/material-type/Lithium", + "name": "Lithium" + }, + "massFraction": 20, + "massAmount": { + "value": 1, + "unit": "kg" + }, + "recycledAmount": 0, + "hazardous": false + } + ], + "conformityClaim": [ + { + "type": [ + "Claim", + "Declaration" + ], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": [ + "Standard" + ], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": [ + "Identifier" + ], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2024-04-25" + }, + "referenceRegulation": { + "type": [ + "Regulation" + ], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": [ + "Identifier" + ], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": [ + "Criterion" + ], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": [ + "Metric" + ], + "metricName": "Minimum compressive strength", + "metricValue": { + "value": 500, + "unit": "MPA" + } + } + ] + } + ], + "conformance": true, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": [ + "SecureLink", + "Link" + ], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": [ + "Claim", + "Declaration" + ], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": [ + "Standard" + ], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": [ + "Identifier" + ], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": [ + "Regulation" + ], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": [ + "Identifier" + ], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": [ + "Criterion" + ], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": [ + "Metric" + ], + "metricName": "Minimum compressive strength", + "metricValue": { + "value": 500, + "unit": "MPA" + } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": [ + "SecureLink", + "Link" + ], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": [ + "Claim", + "Declaration" + ], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": [ + "Standard" + ], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": [ + "Identifier" + ], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": [ + "Regulation" + ], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": [ + "Identifier" + ], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": [ + "Criterion" + ], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": [ + "Metric" + ], + "metricName": "Minimum compressive strength", + "metricValue": { + "value": 500, + "unit": "MPA" + } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": [ + "SecureLink", + "Link" + ], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": [ + "Claim", + "Declaration" + ], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": [ + "Standard" + ], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": [ + "Identifier" + ], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": [ + "Regulation" + ], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": [ + "Identifier" + ], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": [ + "Criterion" + ], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": [ + "Metric" + ], + "metricName": "Minimum compressive strength", + "metricValue": { + "value": 500, + "unit": "MPA" + } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": [ + "SecureLink", + "Link" + ], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + }, + { + "type": [ + "Claim", + "Declaration" + ], + "assessmentDate": "2024-04-25", + "declaredValue": [ + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + }, + { + "type": [ + "Metric" + ], + "metricName": "GHG emissions intensity", + "metricValue": { + "value": 1.5, + "unit": "kg" + }, + "score": "1.2", + "accuracy": 0.8 + } + ], + "id": "https://products.example-company.com/09520123456788/declarations/12345", + "referenceStandard": { + "type": [ + "Standard" + ], + "id": "https://www.iso.org/standard/60857.html", + "name": "Standard", + "issuingParty": { + "type": [ + "Identifier" + ], + "id": "https://iso.org/issuing-party/123", + "name": "International Organization" + }, + "issueDate": "2023-12-05" + }, + "referenceRegulation": { + "type": [ + "Regulation" + ], + "id": "https://www.legislation.gov.au/F2008L02309/latest/versions", + "name": "National Greenhouse", + "jurisdictionCountry": "Australia", + "administeredBy": { + "type": [ + "Identifier" + ], + "id": "https://gov.au/admin-body/12345", + "name": "Australian Government" + }, + "effectiveDate": "2024-03-20" + }, + "assessmentCriteria": [ + { + "type": [ + "Criterion" + ], + "id": "https://www.globalbattery.org/media/publications/gba-rulebook-v2.0-master.pdf#BatteryAssembly", + "name": "Battery Assembly Guidelines", + "thresholdValues": [ + { + "type": [ + "Metric" + ], + "metricName": "Minimum compressive strength", + "metricValue": { + "value": 500, + "unit": "MPA" + } + } + ] + } + ], + "conformance": false, + "conformityTopic": "environment.energy", + "conformityEvidence": { + "type": [ + "SecureLink", + "Link" + ], + "linkURL": "https://example-certifier.com/evidence/1234567.json", + "hashDigest": "6239119dda5bd4c8a6ffb832fe16feaa5c27b7dba154d24c53d4470a2c69adc2", + "hashMethod": "SHA-256", + "linkName": "Declaration link name", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "encryptionMethod": "AES" + } + } + ], + "circularityScorecard": { + "type": [ + "CircularityPerformance" + ], + "recyclingInformation": { + "type": [ + "Link" + ], + "linkURL": "https://example-company.com/recycling/1234567", + "linkName": "Recycling Information" + }, + "repairInformation": { + "type": [ + "Link" + ], + "linkURL": "https://example-company.com/repair/1234567", + "linkName": "Repair Instructions" + }, + "recyclableContent": 67, + "recycledContent": 86, + "utilityFactor": 1.2, + "materialCircularityIndicator": 0.67 + }, + "emissionsScorecard": { + "type": [ + "EmissionsPerformance" + ], + "carbonFootprint": 12.5, + "declaredUnit": "kg", + "operationalScope": "CradleToGate", + "primarySourcedRatio": 75, + "reportingStandard": { + "type": [ + "Standard" + ], + "id": "https://www.ifrs.org/standards/issb/s2", + "name": "WBSCD Pathfinder framework - V.2.0", + "issuingParty": { + "type": [ + "Identifier" + ], + "id": "https://id.ifrs.org/issuing-party/123", + "name": "International Financial Reporting Standards Foundation", + "registeredId": "90664869327", + "idScheme": { + "type": [ + "IdentifierScheme" + ], + "id": "https://id.ifrs.org/issuing-party/", + "name": "IFRS Issuing Party" + } + }, + "issueDate": "2024-04-25" + } + }, + "traceabilityInformation": { + "valueChainProcess": "Spinning", + "verifiedRatio": 0.5, + "traceabilityEvent": [ + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transformation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Transaction Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Aggregation Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Association Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + }, + { + "linkURL": "https://files.example-certifier.com/1234567.json", + "linkName": "Object Event", + "linkType": "https://test.uncefact.org/vocabulary/linkTypes/dcc", + "hashDigest": "6239119", + "hashMethod": "SHA-256", + "encryptionMethod": "AES" + } + ] + } + }, + "validFrom": "2024-12-23T04:14:55.148Z", + "credentialStatus": { + "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#177", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": 177, + "statusListCredential": "http://localhost:3332/credentials/status/bitstring-status-list/1" + }, + "id": "urn:uuid:d80d805b-ef41-4cec-80b9-2d94fecba31a", + "render": [ + { + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product’s sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

", + "@type": "WebRenderingTemplate2022" + } + ], + "validUntil": "2025-11-28T04:47:15.136Z" +} \ No newline at end of file diff --git a/run-e2e-tests.sh b/run-e2e-tests.sh new file mode 100755 index 00000000..34ebd587 --- /dev/null +++ b/run-e2e-tests.sh @@ -0,0 +1,3 @@ +#!/bin/bash +# grant permission for script +chmod +x cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh From 24664c04104f58cb2d38d08f3824357ca4834294 Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Mon, 23 Dec 2024 13:29:38 +0700 Subject: [PATCH 08/13] Fix run script for issue DPP --- Dockerfile | 1 + README.md | 1 + cypress.config.ts | 18 ++++++++++-------- .../DPP/test-untp-dpp-scripts.sh | 4 ++-- ...DigitalProductPassport_instance-v0.5.0.json | 8 ++++---- tsconfig.json | 1 + 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index ecdb4af1..99d8c1ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,7 @@ RUN yarn build ARG CONFIG_FILE COPY ${CONFIG_FILE} packages/mock-app/src/constants/app-config.json +COPY ${CONFIG_FILE} packages/components/src/constants/app-config.json WORKDIR /app/packages/mock-app RUN yarn build diff --git a/README.md b/README.md index d165fc16..9e33930a 100644 --- a/README.md +++ b/README.md @@ -99,5 +99,6 @@ export MOCK_GS1_SERVICE_API_KEY=test456 # Mock GS1 service API key # Run end-to-end testing scripts SEEDING=true docker compose -f docker-compose.e2e.yml up -d chmod +x run-e2e-tests.sh +./run-e2e-tests.sh yarn cypress run ``` \ No newline at end of file diff --git a/cypress.config.ts b/cypress.config.ts index 9a65951c..1d86e066 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -23,15 +23,17 @@ export default defineConfig({ writeToFile({ fileName, data }: { fileName: string; data: any }) { const filePath = path.resolve('cypress/fixtures/credentials-e2e', fileName); fs.writeFileSync(filePath, JSON.stringify(data, null, 2)); - return null; // Indicates success - }, - runShellScript({ scriptPath }: { scriptPath: string }) { - return execPromise(`bash ${scriptPath}`) - .then(({ stdout }) => stdout) - .catch(({ stderr }) => { - throw new Error(stderr); - }); + return null; }, + async runShellScript({ scriptPath }: { scriptPath: string }) { + const absolutePath = path.resolve(process.cwd(), scriptPath); + try { + const { stdout } = await execPromise(`bash ${absolutePath}`); + return stdout; + } catch (error: any) { + throw error; + } + } }); }, }, diff --git a/cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh b/cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh index 8d9475de..86898611 100755 --- a/cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh +++ b/cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh @@ -2,8 +2,8 @@ echo "Current working directory: $(pwd)" # Set variables -SOURCE_FILE="credentials.json" -DEST_FOLDER="../../../../packages/untp-test-suite" +SOURCE_FILE="cypress/e2e/issue_workflow_test/DPP/credentials.json" +DEST_FOLDER="packages/untp-test-suite" # Verify paths if [ ! -f "$SOURCE_FILE" ]; then diff --git a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json index e2afaf5a..48153255 100644 --- a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json +++ b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json @@ -834,15 +834,15 @@ ] } }, - "validFrom": "2024-12-23T04:14:55.148Z", + "validFrom": "2024-12-23T06:29:11.214Z", "credentialStatus": { - "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#177", + "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#188", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", - "statusListIndex": 177, + "statusListIndex": 188, "statusListCredential": "http://localhost:3332/credentials/status/bitstring-status-list/1" }, - "id": "urn:uuid:d80d805b-ef41-4cec-80b9-2d94fecba31a", + "id": "urn:uuid:1cb3ab96-03b9-4cf2-b33d-83214d904656", "render": [ { "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product’s sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

", diff --git a/tsconfig.json b/tsconfig.json index f1be4378..fe6605a0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "baseUrl": "./", "target": "es6", "lib": [ "es6", From 9baaa19aef5ab211761c0087494deff60a131033 Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Mon, 23 Dec 2024 15:04:17 +0700 Subject: [PATCH 09/13] resolve readme --- README.md | 3 +++ cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts | 2 +- .../DigitalProductPassport_instance-v0.5.0.json | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9e33930a..44123f5b 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,9 @@ export MOCK_GS1_SERVICE_API_KEY=test456 # Mock GS1 service API key ## End-to-end testing ```bash # Run end-to-end testing scripts +yarn build-clean # clean node_modules before setup +yarn install +yarn build SEEDING=true docker compose -f docker-compose.e2e.yml up -d chmod +x run-e2e-tests.sh ./run-e2e-tests.sh diff --git a/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts b/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts index 3a95ef5c..ab05b81a 100644 --- a/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts +++ b/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts @@ -1,4 +1,4 @@ -import { LinkType } from "@mock-app/services"; +import { LinkType } from "../../../../packages/services/src/linkResolver.service"; describe('Issue DPP end-to-end testing flow', () => { beforeEach(() => { diff --git a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json index 48153255..7b23ba18 100644 --- a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json +++ b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json @@ -834,15 +834,15 @@ ] } }, - "validFrom": "2024-12-23T06:29:11.214Z", + "validFrom": "2024-12-23T06:43:35.245Z", "credentialStatus": { - "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#188", + "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#195", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", - "statusListIndex": 188, + "statusListIndex": 195, "statusListCredential": "http://localhost:3332/credentials/status/bitstring-status-list/1" }, - "id": "urn:uuid:1cb3ab96-03b9-4cf2-b33d-83214d904656", + "id": "urn:uuid:99be634a-61dd-49ed-aa70-7cd8278c052f", "render": [ { "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product’s sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

", From e9c46c8763e2a212c6a316dea658a8cdd13d7f92 Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Mon, 23 Dec 2024 15:57:00 +0700 Subject: [PATCH 10/13] Fix bugs run e2e --- .../issue_workflow_test/DPP/issueDPP.cy.ts | 2 +- ...igitalProductPassport_instance-v0.5.0.json | 10 +- yarn.lock | 1647 +++++++++-------- 3 files changed, 860 insertions(+), 799 deletions(-) diff --git a/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts b/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts index ab05b81a..f38ea976 100644 --- a/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts +++ b/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts @@ -1,4 +1,4 @@ -import { LinkType } from "../../../../packages/services/src/linkResolver.service"; +import { LinkType } from "../../../../packages/services/build/linkResolver.service"; describe('Issue DPP end-to-end testing flow', () => { beforeEach(() => { diff --git a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json index 7b23ba18..dbbbef10 100644 --- a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json +++ b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json @@ -834,18 +834,18 @@ ] } }, - "validFrom": "2024-12-23T06:43:35.245Z", + "validFrom": "2024-12-23T08:56:18.254Z", "credentialStatus": { - "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#195", + "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#208", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", - "statusListIndex": 195, + "statusListIndex": 208, "statusListCredential": "http://localhost:3332/credentials/status/bitstring-status-list/1" }, - "id": "urn:uuid:99be634a-61dd-49ed-aa70-7cd8278c052f", + "id": "urn:uuid:8551b9c6-c268-4b51-9ccd-6887a08b6491", "render": [ { - "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product’s sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

", + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", "@type": "WebRenderingTemplate2022" } ], diff --git a/yarn.lock b/yarn.lock index fed5dfed..e1306d33 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1286,17 +1286,17 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@date-io/core@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@date-io/core/-/core-3.0.0.tgz#9fd2375383b5791b7211dfce3e576211f9ddce5e" - integrity sha512-S3j+IAQVBYNkQzchVVhX40eBkGDreBpScy9RXwTS5j2+k07+62pMVPisQ44Gq76Rqy5AOG/EZXCwBpY/jbemvA== +"@date-io/core@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@date-io/core/-/core-3.2.0.tgz#7c8985ac26ccacf4f1b1fec10e2e22c75a28288a" + integrity sha512-hqwXvY8/YBsT9RwQITG868ZNb1MVFFkF7W1Ecv4P472j/ZWa7EFcgSmxy8PUElNVZfvhdvfv+a8j6NWJqOX5mA== "@date-io/dayjs@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@date-io/dayjs/-/dayjs-3.0.0.tgz#46cf595d10639fe00b89e8c23cbcac22c0d542bb" - integrity sha512-vy7DSwoQiPA2L0stRqW3le7lcEBMjoMMEmbpCNkyoX3xXizKInFvhbnOBmCyusIQ7tL/WsNC4X5bVgdNWX0JLA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/@date-io/dayjs/-/dayjs-3.2.0.tgz#87475a87ca8d9a53106a0c4bf882ff1621147aea" + integrity sha512-+3LV+3N+cpQbEtmrFo8odg07k02AFY7diHgbi2EKYYANOOCPkDYUjDr2ENiHuYNidTs3tZwzDKckZoVNN4NXxg== dependencies: - "@date-io/core" "^3.0.0" + "@date-io/core" "^3.2.0" "@digitalbazaar/mocha-w3c-interop-reporter@1.6.0": version "1.6.0" @@ -1363,7 +1363,7 @@ source-map "^0.5.7" stylis "4.2.0" -"@emotion/cache@^11.11.0", "@emotion/cache@^11.14.0": +"@emotion/cache@^11.13.5", "@emotion/cache@^11.14.0": version "11.14.0" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== @@ -2207,9 +2207,9 @@ chalk "^4.0.0" "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -2246,7 +2246,7 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== @@ -2382,27 +2382,27 @@ prop-types "^15.8.1" "@mui/base@^5.0.0-beta.22": - version "5.0.0-beta.64" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.64.tgz#694992e79d28beaf66205187022c9e68afb3cc12" - integrity sha512-nu663PoZs/Pee0fkPYkjUADfT+AAi2QWvvHghDhLeSx8sa3i+GGaOoUsFmB4CPlyYqWfq9hRGA7H1T3d6VrGgw== + version "5.0.0-beta.67" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.67.tgz#c343fb27da76c67493edb9b1f5660523af9db3f6" + integrity sha512-pwjibXqBrSw1Z1fZEIhWJnMJHSvh3BLz0pZcrX/x01B/BVf6QUbFlGVV/k8KCsZ9sPzln1l8bBJ+ynIIE9LtjA== dependencies: "@babel/runtime" "^7.26.0" "@floating-ui/react-dom" "^2.1.1" - "@mui/types" "^7.2.19" - "@mui/utils" "^6.1.10" + "@mui/types" "^7.2.20" + "@mui/utils" "^6.2.1" "@popperjs/core" "^2.11.8" clsx "^2.1.1" prop-types "^15.8.1" -"@mui/core-downloads-tracker@^5.16.9": - version "5.16.9" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.9.tgz#df68e6b685857d48cab5ed73ec2bf47fdd48d252" - integrity sha512-ue3j79XJ56+F6DlTtFTM+n//5AvNENOvl3MFruZZP5iZzz+hOq6WBwnr+YxiMlr+kvmMHuHxgOHFdPR8+mElDw== +"@mui/core-downloads-tracker@^5.16.12": + version "5.16.12" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.12.tgz#fecab4d99059a6af5e6c4bfdbc29e2ed2a33f8a2" + integrity sha512-rkN+bPpe2Xn8h4ZLqKy5JsZt3nzMyTJ2ySdyLHHf0IL+PrxS46dxOIC1i66R8qi14kJBHfy7Byqv1yUvpwf0iw== "@mui/icons-material@^5.15.5": - version "5.16.9" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.16.9.tgz#0f754ef0b943e3bea78343cd2861e8d95a114617" - integrity sha512-nnOJIqan6FS6zEsLX3vf8LZ4vXpZjP5xfCFezeXmqfQConypCOZG4nangoVwKwROlas7b6/bqOdacFUb/HuM/g== + version "5.16.12" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.16.12.tgz#c4e06c4fd50fc3ac3333cec4a31ddaef88cc3bd1" + integrity sha512-4Ocmbl1uzkWxAdYYARCLySJNqALgrJ+Fdr95FLpKZV7zMZxyoJRdPTO/CgUxjFjlj9Sy2Gi7j3HX4f5HS2GLeQ== dependencies: "@babel/runtime" "^7.23.9" @@ -2420,84 +2420,84 @@ prop-types "^15.8.1" "@mui/material@^5.15.5": - version "5.16.9" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.9.tgz#d0d3e2e9882d11d94171298e2d7ab38db736ce1f" - integrity sha512-XC0oHFm7mrWV0tvhed9uv/o6kLNClnLj1eo/ufuKbj+rgk47ek8Y6HjHe3cGvMn4Bcq8KyoQPgzdwqvS2ZzYrA== + version "5.16.12" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.12.tgz#8a8a0ba5a436c6d02772969d46192aa3980b3377" + integrity sha512-+M0UPy0xa9xGo8TV1vp9Mmf85TNUqpk7OoSiw+BaZf3D584S3aqfl+CL+EBTt9t52A97GnCjVNvXTO7hmLqhHw== dependencies: "@babel/runtime" "^7.23.9" - "@mui/core-downloads-tracker" "^5.16.9" - "@mui/system" "^5.16.8" + "@mui/core-downloads-tracker" "^5.16.12" + "@mui/system" "^5.16.12" "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.8" + "@mui/utils" "^5.16.12" "@popperjs/core" "^2.11.8" "@types/react-transition-group" "^4.4.10" clsx "^2.1.0" csstype "^3.1.3" prop-types "^15.8.1" - react-is "^18.3.1" + react-is "^19.0.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.16.8": - version "5.16.8" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.8.tgz#7914996caaf6eedc59914aeab83dcd2d4e4da1ec" - integrity sha512-3Vl9yFVLU6T3CFtxRMQTcJ60Ijv7wxQi4yjH92+9YXcsqvVspeIYoocqNoIV/1bXGYfyWu5zrCmwQVHaGY7bug== +"@mui/private-theming@^5.16.12": + version "5.16.12" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.12.tgz#b98159017e196df91f9fea5c3729ddee2a6a46df" + integrity sha512-hhLTSZxsazwZZ4bUAKgFcbsnfCrwizSnJI7/bXf/R9/tZkZBy+bKY05/Au/bIgGKzuZ4KTlKlPn+U/uufEXrNw== dependencies: "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.16.8" + "@mui/utils" "^5.16.12" prop-types "^15.8.1" -"@mui/styled-engine@^5.16.8": - version "5.16.8" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.8.tgz#b8ca35f93f503a51d0759a05475bfd28e10757ea" - integrity sha512-OFdgFf8JczSRs0kvWGdSn0ZeXxWrY0LITDPJ/nAtLEvUUTyrlFaO4il3SECX8ruzvf1VnAxHx4M/4mX9oOn9yA== +"@mui/styled-engine@^5.16.12": + version "5.16.12" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.12.tgz#868adb12b803a8d9e5bcf443246d325d05b89986" + integrity sha512-TMf3SN19rkJPh1hQZTjoY8UsJa5qExfr78owwCuEZLjIhsajAYiWmbJzJ8mM3grEWLiP3MziDA4zy4LFNri12Q== dependencies: "@babel/runtime" "^7.23.9" - "@emotion/cache" "^11.11.0" + "@emotion/cache" "^11.13.5" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.15.5", "@mui/system@^5.16.8": - version "5.16.8" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.8.tgz#e5010d76cd2fdcc403ad3f98abfba99d330055ad" - integrity sha512-L32TaFDFpGIi1g6ysRtmhc9zDgrlxDXu3NlrGE8gAsQw/ziHrPdr0PNr20O0POUshA1q14W4dNZ/z0Nx2F9lhA== +"@mui/system@^5.15.5", "@mui/system@^5.16.12": + version "5.16.12" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.12.tgz#4bf46e9b09f26a5437beeb7540288bd4b658e61e" + integrity sha512-rDsndVl0ug0Ex2rZt8x0WIF3Zc0EMFT2TmRVWP4jzk38aLS6WsxryXAZUQa0BKEnB3vfx1pSP/xa44TdKQ94dg== dependencies: "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.16.8" - "@mui/styled-engine" "^5.16.8" + "@mui/private-theming" "^5.16.12" + "@mui/styled-engine" "^5.16.12" "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.8" + "@mui/utils" "^5.16.12" clsx "^2.1.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.2.13", "@mui/types@^7.2.15", "@mui/types@^7.2.19": - version "7.2.19" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.19.tgz#c941954dd24393fdce5f07830d44440cf4ab6c80" - integrity sha512-6XpZEM/Q3epK9RN8ENoXuygnqUQxE+siN/6rGRi2iwJPgBUR25mphYQ9ZI87plGh58YoZ5pp40bFvKYOCDJ3tA== +"@mui/types@^7.2.13", "@mui/types@^7.2.15", "@mui/types@^7.2.20": + version "7.2.20" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.20.tgz#16d8c9178b42b62ba95bbedbda8f343feb373d1e" + integrity sha512-straFHD7L8v05l/N5vcWk+y7eL9JF0C2mtph/y4BPm3gn2Eh61dDwDB65pa8DLss3WJfDXYC7Kx5yjP0EmXpgw== -"@mui/utils@^5.14.16", "@mui/utils@^5.15.5", "@mui/utils@^5.16.8": - version "5.16.8" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.8.tgz#e44acf38d446d361347c46b3e81ae366f615f37b" - integrity sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A== +"@mui/utils@^5.14.16", "@mui/utils@^5.15.5", "@mui/utils@^5.16.12": + version "5.16.12" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.12.tgz#f04eff6ef057af92189637577edc69e84e3ab4e4" + integrity sha512-p3JAq7nA0ur8M/zLnBvR6ZeAjM8mD4LnPdKfsJAYPS26w4eDQjQzl55XvoOmch2MeXhmWaO4Pkvs/xurrISNBw== dependencies: "@babel/runtime" "^7.23.9" "@mui/types" "^7.2.15" "@types/prop-types" "^15.7.12" clsx "^2.1.1" prop-types "^15.8.1" - react-is "^18.3.1" + react-is "^19.0.0" -"@mui/utils@^6.1.10": - version "6.1.10" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.1.10.tgz#edf8c5c9cf930a8290b5347550ece15f5800b1c3" - integrity sha512-1ETuwswGjUiAf2dP9TkBy8p49qrw2wXa+RuAjNTRE5+91vtXJ1HKrs7H9s8CZd1zDlQVzUcUAPm9lpQwF5ogTw== +"@mui/utils@^6.2.1": + version "6.2.1" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.2.1.tgz#b89485bef828d66c09ae86ef0dde7e4f35bcffa5" + integrity sha512-ubLqGIMhKUH2TF/Um+wRzYXgAooQw35th+DPemGrTpgrZHpOgcnUDIDbwsk1e8iQiuJ3mV/ErTtcQrecmlj5cg== dependencies: "@babel/runtime" "^7.26.0" - "@mui/types" "^7.2.19" - "@types/prop-types" "^15.7.13" + "@mui/types" "^7.2.20" + "@types/prop-types" "^15.7.14" clsx "^2.1.1" prop-types "^15.8.1" - react-is "^18.3.1" + react-is "^19.0.0" "@mui/x-date-pickers@^6.19.0": version "6.20.2" @@ -2526,10 +2526,10 @@ pump "^3.0.0" tar-fs "^2.1.1" -"@next/env@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/env/-/env-15.0.4.tgz#97da0fe3bae2f2b2968c4c925d7936660f5b3836" - integrity sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw== +"@next/env@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/env/-/env-15.1.2.tgz#fa36e47bbaa33b9ecac228aa786bb05bbc15351c" + integrity sha512-Hm3jIGsoUl6RLB1vzY+dZeqb+/kWPZ+h34yiWxW0dV87l8Im/eMOwpOA+a0L78U0HM04syEjXuRlCozqpwuojQ== "@next/eslint-plugin-next@15.0.3": version "15.0.3" @@ -2538,45 +2538,45 @@ dependencies: fast-glob "3.3.1" -"@next/swc-darwin-arm64@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.4.tgz#66087f397564d6ece4c5493536d30bc2b158a80e" - integrity sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w== - -"@next/swc-darwin-x64@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.4.tgz#6eb098e183dfed72d8f3c4b281a323ad17d72446" - integrity sha512-pb7Bye3y1Og3PlCtnz2oO4z+/b3pH2/HSYkLbL0hbVuTGil7fPen8/3pyyLjdiTLcFJ+ymeU3bck5hd4IPFFCA== - -"@next/swc-linux-arm64-gnu@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.4.tgz#3c082ad1a4c8060a5c56127fdefb82a149d3b94e" - integrity sha512-12oSaBFjGpB227VHzoXF3gJoK2SlVGmFJMaBJSu5rbpaoT5OjP5OuCLuR9/jnyBF1BAWMs/boa6mLMoJPRriMA== - -"@next/swc-linux-arm64-musl@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.4.tgz#c4e18c89ea4dab6b150b889643ec19896aebc1eb" - integrity sha512-QARO88fR/a+wg+OFC3dGytJVVviiYFEyjc/Zzkjn/HevUuJ7qGUUAUYy5PGVWY1YgTzeRYz78akQrVQ8r+sMjw== - -"@next/swc-linux-x64-gnu@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.4.tgz#f81c3952a60f3075b48e0b5a862f4deecd550c2d" - integrity sha512-Z50b0gvYiUU1vLzfAMiChV8Y+6u/T2mdfpXPHraqpypP7yIT2UV9YBBhcwYkxujmCvGEcRTVWOj3EP7XW/wUnw== - -"@next/swc-linux-x64-musl@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.4.tgz#f14c9730599985538d4d01d6da825b4e41fea0c1" - integrity sha512-7H9C4FAsrTAbA/ENzvFWsVytqRYhaJYKa2B3fyQcv96TkOGVMcvyS6s+sj4jZlacxxTcn7ygaMXUPkEk7b78zw== - -"@next/swc-win32-arm64-msvc@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.4.tgz#14297572feedcd5b14388be8a7ea8c50accb4c96" - integrity sha512-Z/v3WV5xRaeWlgJzN9r4PydWD8sXV35ywc28W63i37G2jnUgScA4OOgS8hQdiXLxE3gqfSuHTicUhr7931OXPQ== - -"@next/swc-win32-x64-msvc@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.4.tgz#d25953baffb92721f0fb96c8be71d7efb37a57b7" - integrity sha512-NGLchGruagh8lQpDr98bHLyWJXOBSmkEAfK980OiNBa7vNm6PsNoPvzTfstT78WyOeMRQphEQ455rggd7Eo+Dw== +"@next/swc-darwin-arm64@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.2.tgz#822265999fc76f828f4c671a5ef861b8e2c5213e" + integrity sha512-b9TN7q+j5/7+rGLhFAVZiKJGIASuo8tWvInGfAd8wsULjB1uNGRCj1z1WZwwPWzVQbIKWFYqc+9L7W09qwt52w== + +"@next/swc-darwin-x64@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.2.tgz#78d277bce3d35c6e8d9ad423b6f5b0031aa9a1e2" + integrity sha512-caR62jNDUCU+qobStO6YJ05p9E+LR0EoXh1EEmyU69cYydsAy7drMcOlUlRtQihM6K6QfvNwJuLhsHcCzNpqtA== + +"@next/swc-linux-arm64-gnu@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.2.tgz#4d48c8c37da869b0fdbb51f3f3f71df7a3b6b1bb" + integrity sha512-fHHXBusURjBmN6VBUtu6/5s7cCeEkuGAb/ZZiGHBLVBXMBy4D5QpM8P33Or8JD1nlOjm/ZT9sEE5HouQ0F+hUA== + +"@next/swc-linux-arm64-musl@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.2.tgz#0efbaffc2bc3fad4a6458c91b1655b0c3d509577" + integrity sha512-9CF1Pnivij7+M3G74lxr+e9h6o2YNIe7QtExWq1KUK4hsOLTBv6FJikEwCaC3NeYTflzrm69E5UfwEAbV2U9/g== + +"@next/swc-linux-x64-gnu@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.2.tgz#fcdb19e2a7602f85f103190539d0cf42eca7f217" + integrity sha512-tINV7WmcTUf4oM/eN3Yuu/f8jQ5C6AkueZPKeALs/qfdfX57eNv4Ij7rt0SA6iZ8+fMobVfcFVv664Op0caCCg== + +"@next/swc-linux-x64-musl@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.2.tgz#06b09f1712498dd5c61fac10c56a09535469b4c4" + integrity sha512-jf2IseC4WRsGkzeUw/cK3wci9pxR53GlLAt30+y+B+2qAQxMw6WAC3QrANIKxkcoPU3JFh/10uFfmoMDF9JXKg== + +"@next/swc-win32-arm64-msvc@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.2.tgz#63159223241ff45e8df76b24fc979bbb933c74df" + integrity sha512-wvg7MlfnaociP7k8lxLX4s2iBJm4BrNiNFhVUY+Yur5yhAJHfkS8qPPeDEUH8rQiY0PX3u/P7Q/wcg6Mv6GSAA== + +"@next/swc-win32-x64-msvc@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.2.tgz#6e6b33b1d725c0e98fa76773fe437fb02ad6540b" + integrity sha512-D3cNA8NoT3aWISWmo7HF5Eyko/0OdOO+VagkoJuiTk7pyX3P/b+n8XA/MYvyR+xSVcbKn68B1rY9fgqjNISqzQ== "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" @@ -3011,10 +3011,10 @@ dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/primitive@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.0.tgz#42ef83b3b56dccad5d703ae8c42919a68798bbe2" - integrity sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA== +"@radix-ui/primitive@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.1.tgz#fc169732d755c7fbad33ba8d0cd7fd10c90dc8e3" + integrity sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA== "@radix-ui/react-arrow@1.0.3": version "1.0.3" @@ -3024,12 +3024,12 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-primitive" "1.0.3" -"@radix-ui/react-arrow@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz#744f388182d360b86285217e43b6c63633f39e7a" - integrity sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw== +"@radix-ui/react-arrow@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.1.1.tgz#2103721933a8bfc6e53bbfbdc1aaad5fc8ba0dd7" + integrity sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w== dependencies: - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/react-collection@1.0.3": version "1.0.3" @@ -3042,15 +3042,15 @@ "@radix-ui/react-primitive" "1.0.3" "@radix-ui/react-slot" "1.0.2" -"@radix-ui/react-collection@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.0.tgz#f18af78e46454a2360d103c2251773028b7724ed" - integrity sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw== +"@radix-ui/react-collection@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.1.tgz#be2c7e01d3508e6d4b6d838f492e7d182f17d3b0" + integrity sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA== dependencies: - "@radix-ui/react-compose-refs" "1.1.0" - "@radix-ui/react-context" "1.1.0" - "@radix-ui/react-primitive" "2.0.0" - "@radix-ui/react-slot" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-primitive" "2.0.1" + "@radix-ui/react-slot" "1.1.1" "@radix-ui/react-compose-refs@1.0.1": version "1.0.1" @@ -3059,10 +3059,10 @@ dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-compose-refs@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz#656432461fc8283d7b591dcf0d79152fae9ecc74" - integrity sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw== +"@radix-ui/react-compose-refs@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz#6f766faa975f8738269ebb8a23bad4f5a8d2faec" + integrity sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw== "@radix-ui/react-context@1.0.1": version "1.0.1" @@ -3071,35 +3071,30 @@ dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-context@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.0.tgz#6df8d983546cfd1999c8512f3a8ad85a6e7fcee8" - integrity sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A== - "@radix-ui/react-context@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.1.tgz#82074aa83a472353bb22e86f11bcbd1c61c4c71a" integrity sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q== "@radix-ui/react-dialog@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.1.2.tgz#d9345575211d6f2d13e209e84aec9a8584b54d6c" - integrity sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA== + version "1.1.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.1.4.tgz#d68e977acfcc0d044b9dab47b6dd2c179d2b3191" + integrity sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA== dependencies: - "@radix-ui/primitive" "1.1.0" - "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.3" "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-focus-scope" "1.1.0" + "@radix-ui/react-focus-scope" "1.1.1" "@radix-ui/react-id" "1.1.0" - "@radix-ui/react-portal" "1.1.2" - "@radix-ui/react-presence" "1.1.1" - "@radix-ui/react-primitive" "2.0.0" - "@radix-ui/react-slot" "1.1.0" + "@radix-ui/react-portal" "1.1.3" + "@radix-ui/react-presence" "1.1.2" + "@radix-ui/react-primitive" "2.0.1" + "@radix-ui/react-slot" "1.1.1" "@radix-ui/react-use-controllable-state" "1.1.0" aria-hidden "^1.1.1" - react-remove-scroll "2.6.0" + react-remove-scroll "^2.6.1" "@radix-ui/react-direction@1.0.1": version "1.0.1" @@ -3125,14 +3120,14 @@ "@radix-ui/react-use-callback-ref" "1.0.1" "@radix-ui/react-use-escape-keydown" "1.0.3" -"@radix-ui/react-dismissable-layer@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.1.tgz#cbdcb739c5403382bdde5f9243042ba643883396" - integrity sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ== +"@radix-ui/react-dismissable-layer@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.3.tgz#4ee0f0f82d53bf5bd9db21665799bb0d1bad5ed8" + integrity sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg== dependencies: - "@radix-ui/primitive" "1.1.0" - "@radix-ui/react-compose-refs" "1.1.0" - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-escape-keydown" "1.1.0" @@ -3158,13 +3153,13 @@ "@radix-ui/react-primitive" "1.0.3" "@radix-ui/react-use-callback-ref" "1.0.1" -"@radix-ui/react-focus-scope@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz#ebe2891a298e0a33ad34daab2aad8dea31caf0b2" - integrity sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA== +"@radix-ui/react-focus-scope@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.1.tgz#5c602115d1db1c4fcfa0fae4c3b09bb8919853cb" + integrity sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA== dependencies: - "@radix-ui/react-compose-refs" "1.1.0" - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-id@1.0.1": @@ -3199,16 +3194,16 @@ "@radix-ui/react-use-size" "1.0.1" "@radix-ui/rect" "1.0.1" -"@radix-ui/react-popper@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.2.0.tgz#a3e500193d144fe2d8f5d5e60e393d64111f2a7a" - integrity sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg== +"@radix-ui/react-popper@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.2.1.tgz#2fc66cfc34f95f00d858924e3bee54beae2dff0a" + integrity sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw== dependencies: "@floating-ui/react-dom" "^2.0.0" - "@radix-ui/react-arrow" "1.1.0" - "@radix-ui/react-compose-refs" "1.1.0" - "@radix-ui/react-context" "1.1.0" - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-arrow" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-use-rect" "1.1.0" @@ -3223,20 +3218,20 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-primitive" "1.0.3" -"@radix-ui/react-portal@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.2.tgz#51eb46dae7505074b306ebcb985bf65cc547d74e" - integrity sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg== +"@radix-ui/react-portal@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.3.tgz#b0ea5141103a1671b715481b13440763d2ac4440" + integrity sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw== dependencies: - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/react-use-layout-effect" "1.1.0" -"@radix-ui/react-presence@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.1.tgz#98aba423dba5e0c687a782c0669dcd99de17f9b1" - integrity sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A== +"@radix-ui/react-presence@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.2.tgz#bb764ed8a9118b7ec4512da5ece306ded8703cdc" + integrity sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg== dependencies: - "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-primitive@1.0.3": @@ -3247,25 +3242,25 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-slot" "1.0.2" -"@radix-ui/react-primitive@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz#fe05715faa9203a223ccc0be15dc44b9f9822884" - integrity sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw== +"@radix-ui/react-primitive@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.0.1.tgz#6d9efc550f7520135366f333d1e820cf225fad9e" + integrity sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg== dependencies: - "@radix-ui/react-slot" "1.1.0" + "@radix-ui/react-slot" "1.1.1" -"@radix-ui/react-roving-focus@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz#b30c59daf7e714c748805bfe11c76f96caaac35e" - integrity sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA== +"@radix-ui/react-roving-focus@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.1.tgz#3b3abb1e03646937f28d9ab25e96343667ca6520" + integrity sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw== dependencies: - "@radix-ui/primitive" "1.1.0" - "@radix-ui/react-collection" "1.1.0" - "@radix-ui/react-compose-refs" "1.1.0" - "@radix-ui/react-context" "1.1.0" + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-collection" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-id" "1.1.0" - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" @@ -3298,38 +3293,38 @@ react-remove-scroll "2.5.5" "@radix-ui/react-select@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.1.2.tgz#2346e118966db793940f6a866fd4cc5db2cc275e" - integrity sha512-rZJtWmorC7dFRi0owDmoijm6nSJH1tVw64QGiNIZ9PNLyBDtG+iAq+XGsya052At4BfarzY/Dhv9wrrUr6IMZA== + version "2.1.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.1.4.tgz#8957050203640b668a883a225260c403514b3772" + integrity sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ== dependencies: "@radix-ui/number" "1.1.0" - "@radix-ui/primitive" "1.1.0" - "@radix-ui/react-collection" "1.1.0" - "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-collection" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-dismissable-layer" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.3" "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-focus-scope" "1.1.0" + "@radix-ui/react-focus-scope" "1.1.1" "@radix-ui/react-id" "1.1.0" - "@radix-ui/react-popper" "1.2.0" - "@radix-ui/react-portal" "1.1.2" - "@radix-ui/react-primitive" "2.0.0" - "@radix-ui/react-slot" "1.1.0" + "@radix-ui/react-popper" "1.2.1" + "@radix-ui/react-portal" "1.1.3" + "@radix-ui/react-primitive" "2.0.1" + "@radix-ui/react-slot" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-use-previous" "1.1.0" - "@radix-ui/react-visually-hidden" "1.1.0" + "@radix-ui/react-visually-hidden" "1.1.1" aria-hidden "^1.1.1" - react-remove-scroll "2.6.0" + react-remove-scroll "^2.6.1" -"@radix-ui/react-separator@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-separator/-/react-separator-1.1.0.tgz#ee0f4d86003b0e3ea7bc6ccab01ea0adee32663e" - integrity sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA== +"@radix-ui/react-separator@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-separator/-/react-separator-1.1.1.tgz#dd60621553c858238d876be9b0702287424866d2" + integrity sha512-RRiNRSrD8iUiXriq/Y5n4/3iE8HzqgLHsusUSg5jVpU2+3tqcUFPJXHDymwEypunc2sWxDUS3UC+rkZRlHedsw== dependencies: - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/react-slot@1.0.2": version "1.0.2" @@ -3339,47 +3334,47 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-compose-refs" "1.0.1" -"@radix-ui/react-slot@1.1.0", "@radix-ui/react-slot@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.1.0.tgz#7c5e48c36ef5496d97b08f1357bb26ed7c714b84" - integrity sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw== +"@radix-ui/react-slot@1.1.1", "@radix-ui/react-slot@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.1.1.tgz#ab9a0ffae4027db7dc2af503c223c978706affc3" + integrity sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g== dependencies: - "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.1" -"@radix-ui/react-toggle-group@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.0.tgz#28714c4d1ff4961a8fd259b1feef58b4cac92f80" - integrity sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw== +"@radix-ui/react-toggle-group@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.1.tgz#81fc65212758f3a4c9d505d38c0053f463c2e247" + integrity sha512-OgDLZEA30Ylyz8YSXvnGqIHtERqnUt1KUYTKdw/y8u7Ci6zGiJfXc02jahmcSNK3YcErqioj/9flWC9S1ihfwg== dependencies: - "@radix-ui/primitive" "1.1.0" - "@radix-ui/react-context" "1.1.0" + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-primitive" "2.0.0" - "@radix-ui/react-roving-focus" "1.1.0" - "@radix-ui/react-toggle" "1.1.0" + "@radix-ui/react-primitive" "2.0.1" + "@radix-ui/react-roving-focus" "1.1.1" + "@radix-ui/react-toggle" "1.1.1" "@radix-ui/react-use-controllable-state" "1.1.0" -"@radix-ui/react-toggle@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle/-/react-toggle-1.1.0.tgz#1f7697b82917019330a16c6f96f649f46b4606cf" - integrity sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw== +"@radix-ui/react-toggle@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle/-/react-toggle-1.1.1.tgz#939162f87d2c6cfba912a9908ed5ee651bd1ce8f" + integrity sha512-i77tcgObYr743IonC1hrsnnPmszDRn8p+EGUsUt+5a/JFn28fxaM88Py6V2mc8J5kELMWishI0rLnuGLFD/nnQ== dependencies: - "@radix-ui/primitive" "1.1.0" - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-toolbar@^1.0.4": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-toolbar/-/react-toolbar-1.1.0.tgz#a25d65b394ab6e9e7f45f4843cc0c55845bbcfab" - integrity sha512-ZUKknxhMTL/4hPh+4DuaTot9aO7UD6Kupj4gqXCsBTayX1pD1L+0C2/2VZKXb4tIifQklZ3pf2hG9T+ns+FclQ== + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-toolbar/-/react-toolbar-1.1.1.tgz#cfc142d18858863cc328973087967242d2790bd4" + integrity sha512-r7T80WOCHc2n3KRzFCbHWGVzkfVTCzDofGU4gqa5ZuIzgnVaLogGsdyifFJXWQDp0lAr5hrf+X9uqQdE0pa6Ww== dependencies: - "@radix-ui/primitive" "1.1.0" - "@radix-ui/react-context" "1.1.0" + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-primitive" "2.0.0" - "@radix-ui/react-roving-focus" "1.1.0" - "@radix-ui/react-separator" "1.1.0" - "@radix-ui/react-toggle-group" "1.1.0" + "@radix-ui/react-primitive" "2.0.1" + "@radix-ui/react-roving-focus" "1.1.1" + "@radix-ui/react-separator" "1.1.1" + "@radix-ui/react-toggle-group" "1.1.1" "@radix-ui/react-use-callback-ref@1.0.1": version "1.0.1" @@ -3485,12 +3480,12 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-primitive" "1.0.3" -"@radix-ui/react-visually-hidden@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz#ad47a8572580f7034b3807c8e6740cd41038a5a2" - integrity sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ== +"@radix-ui/react-visually-hidden@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.1.tgz#f7b48c1af50dfdc366e92726aee6d591996c5752" + integrity sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg== dependencies: - "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-primitive" "2.0.1" "@radix-ui/rect@1.0.1": version "1.0.1" @@ -4700,12 +4695,12 @@ resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== -"@swc/helpers@0.5.13": - version "0.5.13" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.13.tgz#33e63ff3cd0cade557672bd7888a39ce7d115a8c" - integrity sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w== +"@swc/helpers@0.5.15": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" + integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== dependencies: - tslib "^2.4.0" + tslib "^2.8.0" "@swc/types@^0.1.17": version "0.1.17" @@ -4912,9 +4907,9 @@ "@types/node" "*" "@types/canvas-confetti@^1.6.4": - version "1.6.4" - resolved "https://registry.yarnpkg.com/@types/canvas-confetti/-/canvas-confetti-1.6.4.tgz#620fd8d78b335d6a4046c0f73236d6988b37552a" - integrity sha512-fNyZ/Fdw/Y92X0vv7B+BD6ysHL4xVU5dJcgzgxLdGbn8O3PezZNIJpml44lKM0nsGur+o/6+NZbZeNTt00U1uA== + version "1.9.0" + resolved "https://registry.yarnpkg.com/@types/canvas-confetti/-/canvas-confetti-1.9.0.tgz#d1077752e046413c9881fbb2ba34a70ebe3c1773" + integrity sha512-aBGj/dULrimR1XDZLtG9JwxX1b4HPRF6CX9Yfwh3NvstZEm1ZL7RBnel4keCPSqs1ANRu1u2Aoz9R+VmtjYuTg== "@types/chai@^4.3.16": version "4.3.20" @@ -5193,9 +5188,9 @@ "@types/node" "*" "@types/node@*": - version "22.10.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766" - integrity sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ== + version "22.10.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.2.tgz#a485426e6d1fdafc7b0d4c7b24e2c78182ddabb9" + integrity sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ== dependencies: undici-types "~6.20.0" @@ -5207,21 +5202,21 @@ undici-types "~5.26.4" "@types/node@^16.18.72": - version "16.18.121" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.121.tgz#88c4e91474b1eb4ae68e39cec8b274e9c792650a" - integrity sha512-Gk/pOy8H0cvX8qNrwzElYIECpcUn87w4EAEFXFvPJ8qsP9QR/YqukUORSy0zmyDyvdo149idPpy4W6iC5aSbQA== + version "16.18.122" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.122.tgz#54948ddbe2ddef8144ee16b37f160e3f99c32397" + integrity sha512-rF6rUBS80n4oK16EW8nE75U+9fw0SSUgoPtWSvHhPXdT7itbvmS7UjB/jyM8i3AkvI6yeSM5qCwo+xN0npGDHg== "@types/node@^18.0.0": - version "18.19.67" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.67.tgz#77c4b01641a1e3e1509aff7e10d39e4afd5ae06d" - integrity sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ== + version "18.19.68" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.68.tgz#f4f10d9927a7eaf3568c46a6d739cc0967ccb701" + integrity sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw== dependencies: undici-types "~5.26.4" "@types/node@^20": - version "20.17.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.9.tgz#5f141d4b7ee125cdee5faefe28de095398865bab" - integrity sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw== + version "20.17.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.10.tgz#3f7166190aece19a0d1d364d75c8b0b5778c1e18" + integrity sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA== dependencies: undici-types "~6.19.2" @@ -5245,7 +5240,7 @@ resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#ee1bd8c9f7a01b3445786aad0ef23aba5f511a44" integrity sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA== -"@types/prop-types@*", "@types/prop-types@^15.7.12", "@types/prop-types@^15.7.13": +"@types/prop-types@*", "@types/prop-types@^15.7.12", "@types/prop-types@^15.7.14": version "15.7.14" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2" integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ== @@ -5273,28 +5268,26 @@ integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== "@types/react-dom@^18", "@types/react-dom@^18.0.0", "@types/react-dom@^18.2.18", "@types/react-dom@^18.2.7": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.3.tgz#3654138d0da1b0c7916f6ed0dc1cc2b576d47650" - integrity sha512-uTYkxTLkYp41nq/ULXyXMtkNT1vu5fXJoqad6uTNCOGat5t9cLgF4vMNLBXsTOXpdOI44XzKPY1M5RRm0bQHuw== + version "18.3.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.5.tgz#45f9f87398c5dcea085b715c58ddcf1faf65f716" + integrity sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q== "@types/react-transition-group@^4.4.10", "@types/react-transition-group@^4.4.8": - version "4.4.11" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.11.tgz#d963253a611d757de01ebb241143b1017d5d63d5" - integrity sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA== - dependencies: - "@types/react" "*" + version "4.4.12" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" + integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== -"@types/react@*", "@types/react@>=16": - version "19.0.1" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.1.tgz#a000d5b78f473732a08cecbead0f3751e550b3df" - integrity sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ== +"@types/react@>=16": + version "19.0.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.2.tgz#9363e6b3ef898c471cb182dd269decc4afc1b4f6" + integrity sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg== dependencies: csstype "^3.0.2" "@types/react@^18", "@types/react@^18.2.15", "@types/react@^18.2.48": - version "18.3.14" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.14.tgz#7ce43bbca0e15e1c4f67ad33ea3f83d75aa6756b" - integrity sha512-NzahNKvjNhVjuPBQ+2G7WlxstQ+47kXZNHlUvFakDViuIEfGY926GqhMueQFZ7woG+sPiQKlF36XfrIUVSUfFg== + version "18.3.18" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.18.tgz#9b382c4cd32e13e463f97df07c2ee3bbcd26904b" + integrity sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -5421,15 +5414,15 @@ "@types/node" "*" "@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.0.tgz#0901933326aea4443b81df3f740ca7dfc45c7bea" - integrity sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw== + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.1.tgz#992e5ac1553ce20d0d46aa6eccd79dc36dedc805" + integrity sha512-Ncvsq5CT3Gvh+uJG0Lwlho6suwDfUXH0HztslDf5I+F2wAFAZMRwYLEorumpKLzmO2suAXZ/td1tBg4NZIi9CQ== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.18.0" - "@typescript-eslint/type-utils" "8.18.0" - "@typescript-eslint/utils" "8.18.0" - "@typescript-eslint/visitor-keys" "8.18.0" + "@typescript-eslint/scope-manager" "8.18.1" + "@typescript-eslint/type-utils" "8.18.1" + "@typescript-eslint/utils" "8.18.1" + "@typescript-eslint/visitor-keys" "8.18.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" @@ -5459,14 +5452,14 @@ "@typescript-eslint/utils" "5.62.0" "@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.0.tgz#a1c9456cbb6a089730bf1d3fc47946c5fb5fe67b" - integrity sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q== - dependencies: - "@typescript-eslint/scope-manager" "8.18.0" - "@typescript-eslint/types" "8.18.0" - "@typescript-eslint/typescript-estree" "8.18.0" - "@typescript-eslint/visitor-keys" "8.18.0" + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.1.tgz#c258bae062778b7696793bc492249027a39dfb95" + integrity sha512-rBnTWHCdbYM2lh7hjyXqxk70wvon3p2FyaniZuey5TrcGBpfhVp0OxOa6gxr9Q9YhZFKyfbEnxc24ZnVbbUkCA== + dependencies: + "@typescript-eslint/scope-manager" "8.18.1" + "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/typescript-estree" "8.18.1" + "@typescript-eslint/visitor-keys" "8.18.1" debug "^4.3.4" "@typescript-eslint/parser@^5.5.0": @@ -5487,13 +5480,13 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.0.tgz#30b040cb4557804a7e2bcc65cf8fdb630c96546f" - integrity sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw== +"@typescript-eslint/scope-manager@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.1.tgz#52cedc3a8178d7464a70beffed3203678648e55b" + integrity sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ== dependencies: - "@typescript-eslint/types" "8.18.0" - "@typescript-eslint/visitor-keys" "8.18.0" + "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/visitor-keys" "8.18.1" "@typescript-eslint/type-utils@5.62.0": version "5.62.0" @@ -5505,13 +5498,13 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/type-utils@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.0.tgz#6f0d12cf923b6fd95ae4d877708c0adaad93c471" - integrity sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow== +"@typescript-eslint/type-utils@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.1.tgz#10f41285475c0bdee452b79ff7223f0e43a7781e" + integrity sha512-jAhTdK/Qx2NJPNOTxXpMwlOiSymtR2j283TtPqXkKBdH8OAMmhiUfP0kJjc/qSE51Xrq02Gj9NY7MwK+UxVwHQ== dependencies: - "@typescript-eslint/typescript-estree" "8.18.0" - "@typescript-eslint/utils" "8.18.0" + "@typescript-eslint/typescript-estree" "8.18.1" + "@typescript-eslint/utils" "8.18.1" debug "^4.3.4" ts-api-utils "^1.3.0" @@ -5520,10 +5513,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.0.tgz#3afcd30def8756bc78541268ea819a043221d5f3" - integrity sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA== +"@typescript-eslint/types@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.1.tgz#d7f4f94d0bba9ebd088de840266fcd45408a8fff" + integrity sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -5538,13 +5531,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.0.tgz#d8ca785799fbb9c700cdff1a79c046c3e633c7f9" - integrity sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg== +"@typescript-eslint/typescript-estree@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.1.tgz#2a86cd64b211a742f78dfa7e6f4860413475367e" + integrity sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg== dependencies: - "@typescript-eslint/types" "8.18.0" - "@typescript-eslint/visitor-keys" "8.18.0" + "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/visitor-keys" "8.18.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -5566,15 +5559,15 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.0.tgz#48f67205d42b65d895797bb7349d1be5c39a62f7" - integrity sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg== +"@typescript-eslint/utils@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.1.tgz#c4199ea23fc823c736e2c96fd07b1f7235fa92d5" + integrity sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.18.0" - "@typescript-eslint/types" "8.18.0" - "@typescript-eslint/typescript-estree" "8.18.0" + "@typescript-eslint/scope-manager" "8.18.1" + "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/typescript-estree" "8.18.1" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -5584,12 +5577,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@8.18.0": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.0.tgz#7b6d33534fa808e33a19951907231ad2ea5c36dd" - integrity sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw== +"@typescript-eslint/visitor-keys@8.18.1": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.1.tgz#344b4f6bc83f104f514676facf3129260df7610a" + integrity sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ== dependencies: - "@typescript-eslint/types" "8.18.0" + "@typescript-eslint/types" "8.18.1" eslint-visitor-keys "^4.2.0" "@ungap/structured-clone@^1.2.0": @@ -6134,13 +6127,13 @@ aria-query@^5.0.0, aria-query@^5.3.2: resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== -array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" + call-bound "^1.0.3" + is-array-buffer "^3.0.5" array-differ@^3.0.0: version "3.0.0" @@ -6199,24 +6192,24 @@ array.prototype.findlastindex@^1.2.5: es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" array.prototype.reduce@^1.0.6: version "1.0.7" @@ -6242,19 +6235,18 @@ array.prototype.tosorted@^1.1.4: es-errors "^1.3.0" es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== dependencies: array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" arrify@^1.0.1: version "1.0.1" @@ -6878,13 +6870,13 @@ browserify-zlib@^0.1.4: pako "~0.2.0" browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.4, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.2: - version "4.24.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" - integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== + version "4.24.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.3.tgz#5fc2725ca8fb3c1432e13dac278c7cc103e026d2" + integrity sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA== dependencies: - caniuse-lite "^1.0.30001669" - electron-to-chromium "^1.5.41" - node-releases "^2.0.18" + caniuse-lite "^1.0.30001688" + electron-to-chromium "^1.5.73" + node-releases "^2.0.19" update-browserslist-db "^1.1.1" bs-logger@0.x: @@ -7046,7 +7038,7 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" -call-bind-apply-helpers@^1.0.0: +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz#32e5892e6361b29b0b545ba6f7763378daca2840" integrity sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g== @@ -7054,7 +7046,7 @@ call-bind-apply-helpers@^1.0.0: es-errors "^1.3.0" function-bind "^1.1.2" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@^1.0.8: +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.7, call-bind@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== @@ -7064,6 +7056,14 @@ call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bin get-intrinsic "^1.2.4" set-function-length "^1.2.2" +call-bound@^1.0.2, call-bound@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.3.tgz#41cfd032b593e39176a71533ab4f384aa04fd681" + integrity sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA== + dependencies: + call-bind-apply-helpers "^1.0.1" + get-intrinsic "^1.2.6" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -7111,10 +7111,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669: - version "1.0.30001687" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz#d0ac634d043648498eedf7a3932836beba90ebae" - integrity sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001688: + version "1.0.30001690" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz#f2d15e3aaf8e18f76b2b8c1481abde063b8104c8" + integrity sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w== canonicalize@^1.0.1: version "1.0.8" @@ -7188,9 +7188,9 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: supports-color "^7.1.0" chalk@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + version "5.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" + integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== char-regex@^1.0.2: version "1.0.2" @@ -7618,9 +7618,9 @@ connect-history-api-fallback@^2.0.0: integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== consola@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" - integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.3.0.tgz#b89affdff331a40eac2f11ecc571eb230b7b560b" + integrity sha512-kxltocVQCwQNFvw40dlVRYeAkAvtYjMFZYNlOcsF5wExPpGwPxMwgx4IfDJvBRPtBpnQwItd5WkTaR0ZwT/TmQ== console-control-strings@^1.1.0: version "1.1.0" @@ -7869,11 +7869,11 @@ cross-env@^7.0.3: cross-spawn "^7.0.1" cross-fetch@^3.0.4: - version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.2.0.tgz#34e9192f53bc757d6614304d9e5e6fb4edb782e3" + integrity sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q== dependencies: - node-fetch "^2.6.12" + node-fetch "^2.7.0" cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.6" @@ -8108,9 +8108,9 @@ csstype@^3.0.2, csstype@^3.1.3: integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== cypress@^13.16.1: - version "13.16.1" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.16.1.tgz#82e776f6ad2037ccce6b6feabed768615c476258" - integrity sha512-17FtCaz0cx7ssWYKXzGB0Vub8xHwpVPr+iPt2fHhLMDhVAPVrplD+rTQsZUsfb19LVBn5iwkEUFjQ1yVVJXsLA== + version "13.17.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.17.0.tgz#34c3d68080c4497eace0f353bd1629587a5f600d" + integrity sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA== dependencies: "@cypress/request" "^3.0.6" "@cypress/xvfb" "^1.2.4" @@ -8196,30 +8196,30 @@ data-urls@^3.0.2: whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.2" es-errors "^1.3.0" is-data-view "^1.0.1" @@ -8376,7 +8376,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.1.3, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -8756,12 +8756,12 @@ dotenv@~16.3.1: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== -dunder-proto@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.0.tgz#c2fce098b3c8f8899554905f4377b6d85dabaa80" - integrity sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A== +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== dependencies: - call-bind-apply-helpers "^1.0.0" + call-bind-apply-helpers "^1.0.1" es-errors "^1.3.0" gopd "^1.2.0" @@ -8807,10 +8807,10 @@ ejs@^3.1.6, ejs@^3.1.7, ejs@^3.1.8: dependencies: jake "^10.8.5" -electron-to-chromium@^1.5.41: - version "1.5.72" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz#a732805986d3a5b5fedd438ddf4616c7d78ac2df" - integrity sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw== +electron-to-chromium@^1.5.73: + version "1.5.75" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.75.tgz#bba96eabf0e8ca36324679caa38b982800acc87d" + integrity sha512-Lf3++DumRE/QmweGjU+ZcKqQ+3bKkU/qjaKYhIJKEOhgIO9Xs6IiAQFkfFoj+RhgDk4LUeNsLo6plExHqSyu6Q== elliptic@^6.5.3, elliptic@^6.5.4, elliptic@^6.5.5: version "6.6.1" @@ -8889,9 +8889,9 @@ endent@^2.0.1: objectorarray "^1.0.5" enhanced-resolve@^5.15.0, enhanced-resolve@^5.17.1: - version "5.17.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + version "5.18.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz#91eb1db193896b9801251eeff1c6980278b1e404" + integrity sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -8955,57 +8955,58 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5: - version "1.23.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.5.tgz#f4599a4946d57ed467515ed10e4f157289cd52fb" - integrity sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ== +es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6: + version "1.23.7" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.7.tgz#36e3da46fdb0d2ae3b9df4235e3a3167c1605b36" + integrity sha512-OygGC8kIcDhXX+6yAZRGLqwi2CmEXCbLQixeGUgYeR+Qwlppqmo7DIDr8XibtEBZp+fJcoYpoatp5qwLMEdcqQ== dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" + call-bind "^1.0.8" + call-bound "^1.0.3" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" es-errors "^1.3.0" es-object-atoms "^1.0.0" es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.2.6" + get-symbol-description "^1.1.0" globalthis "^1.0.4" - gopd "^1.0.1" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" + has-proto "^1.2.0" + has-symbols "^1.1.0" hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" + is-data-view "^1.0.2" + is-regex "^1.2.1" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.0" + math-intrinsics "^1.1.0" object-inspect "^1.13.3" object-keys "^1.1.1" - object.assign "^4.1.5" + object.assign "^4.1.7" regexp.prototype.flags "^1.5.3" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" + safe-array-concat "^1.1.3" + safe-regex-test "^1.1.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.18" es-array-method-boxes-properly@^1.0.0: version "1.0.0" @@ -9017,7 +9018,7 @@ es-define-property@^1.0.0, es-define-property@^1.0.1: resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== -es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== @@ -9038,25 +9039,26 @@ es-get-iterator@^1.1.3: stop-iteration-iterator "^1.0.0" es-iterator-helpers@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz#2f1a3ab998b30cb2d10b195b587c6d9ebdebf152" - integrity sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q== + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz#d1dd0f58129054c0ad922e6a9a1e65eef435fe75" + integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.3" + es-abstract "^1.23.6" es-errors "^1.3.0" es-set-tostringtag "^2.0.3" function-bind "^1.1.2" - get-intrinsic "^1.2.4" + get-intrinsic "^1.2.6" globalthis "^1.0.4" - gopd "^1.0.1" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - iterator.prototype "^1.1.3" - safe-array-concat "^1.1.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + iterator.prototype "^1.1.4" + safe-array-concat "^1.1.3" es-module-lexer@^1.2.1, es-module-lexer@^1.4.1: version "1.5.4" @@ -9079,14 +9081,14 @@ es-set-tostringtag@^2.0.3: has-tostringtag "^1.0.2" hasown "^2.0.1" -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: +es-shim-unscopables@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: hasown "^2.0.0" -es-to-primitive@^1.2.1: +es-to-primitive@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== @@ -10008,9 +10010,9 @@ flatted@^3.2.9: integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== flow-parser@0.*: - version "0.256.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.256.0.tgz#2a453925caa0f40beb83ef72ea6479ef7b25d739" - integrity sha512-HFb/GgB7hq+TYosLJuMLdLp8aGlyAVfrJaTvcM0w2rz2T33PjkVbRU419ncK/69cjowUksewuspkBheq9ZX9Hw== + version "0.257.1" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.257.1.tgz#1d563688f5c0b5a573ce380a86aa1cc2c44c65df" + integrity sha512-7+KYDpAXyBPD/wODhbPYO6IGUx+WwtJcLLG/r3DvbNyxaDyuYaTBKbSqeCldWQzuFcj+MsOVx2bpkEwVPB9JRw== follow-redirects@^1.0.0, follow-redirects@^1.15.6: version "1.15.9" @@ -10196,15 +10198,17 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" functions-have-names@^1.2.3: version "1.2.3" @@ -10240,19 +10244,21 @@ get-func-name@^2.0.1, get-func-name@^2.0.2: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.5" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.5.tgz#dfe7dd1b30761b464fe51bf4bb00ac7c37b681e7" - integrity sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.2, get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.6.tgz#43dd3dd0e7b49b82b2dfcad10dc824bf7fc265d5" + integrity sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA== dependencies: - call-bind-apply-helpers "^1.0.0" + call-bind-apply-helpers "^1.0.1" dunder-proto "^1.0.0" es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.0.0" function-bind "^1.1.2" gopd "^1.2.0" has-symbols "^1.1.0" hasown "^2.0.2" + math-intrinsics "^1.0.0" get-nonce@^1.0.0: version "1.0.1" @@ -10311,14 +10317,14 @@ get-stream@^8.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== dependencies: - call-bind "^1.0.5" + call-bound "^1.0.3" es-errors "^1.3.0" - get-intrinsic "^1.2.4" + get-intrinsic "^1.2.6" get-tsconfig@^4.7.5: version "4.8.1" @@ -10526,7 +10532,7 @@ globby@11.1.0, globby@^11.0.1, globby@^11.0.2, globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -gopd@^1.0.1, gopd@^1.1.0, gopd@^1.2.0: +gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== @@ -10588,9 +10594,9 @@ harmony-reflect@^1.4.6: integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== has-flag@^3.0.0: version "3.0.0" @@ -10609,7 +10615,7 @@ has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: dependencies: es-define-property "^1.0.0" -has-proto@^1.0.3: +has-proto@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== @@ -11130,14 +11136,14 @@ inquirer@^8.2.4: through "^2.3.6" wrap-ansi "^6.0.1" -internal-slot@^1.0.4, internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== dependencies: es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" + hasown "^2.0.2" + side-channel "^1.1.0" invariant@^2.2.4: version "2.2.4" @@ -11170,20 +11176,21 @@ is-absolute-url@^3.0.0: integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== is-arguments@^1.0.4, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" -is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-arrayish@^0.2.1: version "0.2.1" @@ -11216,12 +11223,12 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.0.tgz#9743641e80a62c094b5941c5bb791d66a88e497a" - integrity sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw== +is-boolean-object@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.1.tgz#c20d0c654be05da4fbc23c562635c019e93daf89" + integrity sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.2" has-tostringtag "^1.0.2" is-buffer@^2.0.5: @@ -11248,26 +11255,29 @@ is-ci@3.0.1: dependencies: ci-info "^3.2.0" -is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.5.0, is-core-module@^2.8.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== +is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0, is-core-module@^2.5.0, is-core-module@^2.8.1: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: hasown "^2.0.2" -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" is-typed-array "^1.1.13" -is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-deflate@^1.0.0: version "1.0.0" @@ -11285,11 +11295,11 @@ is-extglob@^2.1.1: integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-finalizationregistry@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz#d74a7d0c5f3578e34a20729e69202e578d495dc2" - integrity sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -11356,17 +11366,12 @@ is-nan@^1.3.2: call-bind "^1.0.0" define-properties "^1.1.3" -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.0.tgz#5a867e9ecc3d294dda740d9f127835857af7eb05" - integrity sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw== +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" has-tostringtag "^1.0.2" is-number@^7.0.0: @@ -11426,13 +11431,13 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.1.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.0.tgz#41b9d266e7eb7451312c64efc37e8a7d453077cf" - integrity sha512-B6ohK4ZmoftlUe+uvenXSbPJFo6U37BH7oO1B3nQH8f/7h27N56s85MhUtbFJAziz5dcmuR3i8ovUl35zp8pFA== +is-regex@^1.1.4, is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: - call-bind "^1.0.7" - gopd "^1.1.0" + call-bound "^1.0.2" + gopd "^1.2.0" has-tostringtag "^1.0.2" hasown "^2.0.2" @@ -11451,12 +11456,12 @@ is-set@^2.0.2, is-set@^2.0.3: resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" is-ssh@^1.4.0: version "1.4.0" @@ -11480,22 +11485,22 @@ is-stream@^3.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -is-string@^1.0.7, is-string@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.0.tgz#8cb83c5d57311bf8058bc6c8db294711641da45d" - integrity sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g== +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" has-tostringtag "^1.0.2" -is-symbol@^1.0.4, is-symbol@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.0.tgz#ae993830a56d4781886d39f9f0a46b3e89b7b60b" - integrity sha512-qS8KkNNXUZ/I+nX6QT8ZS1/Yx0A444yhzdTKxCzKkNjQ9sHErBxJnJAgh+f5YhusYECEcjo4XcyH87hn6+ks0A== +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== dependencies: - call-bind "^1.0.7" - has-symbols "^1.0.3" - safe-regex-test "^1.0.3" + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" is-text-path@^1.0.1: version "1.0.1" @@ -11504,12 +11509,12 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.13, is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15, is-typed-array@^1.1.3: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: - which-typed-array "^1.1.14" + which-typed-array "^1.1.16" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" @@ -11526,20 +11531,20 @@ is-weakmap@^2.0.2: resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +is-weakref@^1.0.2, is-weakref@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.0.tgz#47e3472ae95a63fa9cf25660bcf0c181c39770ef" + integrity sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.2" is-weakset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" - integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-windows@^1.0.2: version "1.0.2" @@ -11685,16 +11690,17 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -iterator.prototype@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" - integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== +iterator.prototype@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.4.tgz#4ae6cf98b97fdc717b7e159d79dc25f8fc9482f1" + integrity sha512-x4WH0BWmrMmg4oHHl+duwubhrvczGlyuGAZu3nvrf0UXOfPu8IhZObFEr7DE/iv01YgVZrsOiRcqw2srkKEDIA== dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" + define-data-property "^1.1.4" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" + reflect.getprototypeof "^1.0.8" + set-function-name "^2.0.2" jackspeak@^3.1.2: version "3.4.3" @@ -12598,9 +12604,9 @@ jest@^27.4.3: jest-cli "^27.5.1" jiti@^1.21.6: - version "1.21.6" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + version "1.21.7" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== jose@^5.9.3: version "5.9.6" @@ -12738,7 +12744,12 @@ jsdom@^20.0.0: ws "^8.11.0" xml-name-validator "^4.0.0" -jsesc@^3.0.2, jsesc@~3.0.2: +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +jsesc@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== @@ -13363,9 +13374,9 @@ magic-string@^0.25.0, magic-string@^0.25.7: sourcemap-codec "^1.4.8" magic-string@^0.30.5: - version "0.30.14" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.14.tgz#e9bb29870b81cfc1ec3cc656552f5a7fcbf19077" - integrity sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw== + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" @@ -13480,9 +13491,14 @@ map-or-similar@^1.5.0: integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== markdown-to-jsx@^7.1.8: - version "7.7.1" - resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.7.1.tgz#8840c35583c1c024330573adb0effa28746708ee" - integrity sha512-BjLkHb+fWCAH9gp7ndbgPrY+zeZlGFtCiQNTWk+PD+GKfLg9YsUPNonSsYXGw6nQ7eZqeR+i71X59PpWXlxc/w== + version "7.7.2" + resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.7.2.tgz#59c1dd64f48b53719311ab140be3cd51cdabccd3" + integrity sha512-N3AKfYRvxNscvcIH6HDnDKILp4S8UWbebp+s92Y8SwIq0CuSbLW4Jgmrbjku3CWKjTQO0OyIMS6AhzqrwjEa3g== + +math-intrinsics@^1.0.0, math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== md5.js@^1.3.4: version "1.3.5" @@ -13973,26 +13989,26 @@ neo-async@^2.5.0, neo-async@^2.6.2: integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== next@^15.0.3: - version "15.0.4" - resolved "https://registry.yarnpkg.com/next/-/next-15.0.4.tgz#7ddad7299204f16c132d7e524cf903f1a513588e" - integrity sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA== + version "15.1.2" + resolved "https://registry.yarnpkg.com/next/-/next-15.1.2.tgz#305d093a9f3d6900b53fa4abb5b213264b22047c" + integrity sha512-nLJDV7peNy+0oHlmY2JZjzMfJ8Aj0/dd3jCwSZS8ZiO5nkQfcZRqDrRN3U5rJtqVTQneIOGZzb6LCNrk7trMCQ== dependencies: - "@next/env" "15.0.4" + "@next/env" "15.1.2" "@swc/counter" "0.1.3" - "@swc/helpers" "0.5.13" + "@swc/helpers" "0.5.15" busboy "1.6.0" caniuse-lite "^1.0.30001579" postcss "8.4.31" styled-jsx "5.1.6" optionalDependencies: - "@next/swc-darwin-arm64" "15.0.4" - "@next/swc-darwin-x64" "15.0.4" - "@next/swc-linux-arm64-gnu" "15.0.4" - "@next/swc-linux-arm64-musl" "15.0.4" - "@next/swc-linux-x64-gnu" "15.0.4" - "@next/swc-linux-x64-musl" "15.0.4" - "@next/swc-win32-arm64-msvc" "15.0.4" - "@next/swc-win32-x64-msvc" "15.0.4" + "@next/swc-darwin-arm64" "15.1.2" + "@next/swc-darwin-x64" "15.1.2" + "@next/swc-linux-arm64-gnu" "15.1.2" + "@next/swc-linux-arm64-musl" "15.1.2" + "@next/swc-linux-x64-gnu" "15.1.2" + "@next/swc-linux-x64-musl" "15.1.2" + "@next/swc-win32-arm64-msvc" "15.1.2" + "@next/swc-win32-x64-msvc" "15.1.2" sharp "^0.33.5" no-case@^3.0.4: @@ -14035,7 +14051,7 @@ node-fetch@3.0.0-beta.9: data-uri-to-buffer "^3.0.1" fetch-blob "^2.1.1" -node-fetch@^2.0.0, node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@^2.0.0, node-fetch@^2.6.7, node-fetch@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -14080,10 +14096,10 @@ node-preload@^0.2.1: dependencies: process-on-spawn "^1.0.0" -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== nopt@^7.0.0: version "7.2.1" @@ -14409,7 +14425,7 @@ object-hash@^3.0.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-inspect@^1.13.1, object-inspect@^1.13.3: +object-inspect@^1.13.3: version "1.13.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== @@ -14427,14 +14443,16 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== +object.assign@^4.1.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" object.entries@^1.1.8: @@ -14479,11 +14497,12 @@ object.groupby@^1.0.3: es-abstract "^1.23.2" object.values@^1.1.0, object.values@^1.1.6, object.values@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" es-object-atoms "^1.0.0" @@ -15374,9 +15393,9 @@ postcss-modules-extract-imports@^3.1.0: integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== postcss-modules-local-by-default@^4.0.5: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz#b0db6bc81ffc7bdc52eb0f84d6ca0bedf0e36d21" - integrity sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q== + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== dependencies: icss-utils "^5.0.0" postcss-selector-parser "^7.0.0" @@ -16170,11 +16189,16 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0, react-is@^18.3.1: +react-is@^18.0.0: version "18.3.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== +react-is@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0.tgz#d6669fd389ff022a9684f708cf6fa4962d1fea7a" + integrity sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g== + react-native-securerandom@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/react-native-securerandom/-/react-native-securerandom-0.1.1.tgz#f130623a412c338b0afadedbc204c5cbb8bf2070" @@ -16192,12 +16216,12 @@ react-refresh@^0.14.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== -react-remove-scroll-bar@^2.3.3, react-remove-scroll-bar@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c" - integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g== +react-remove-scroll-bar@^2.3.3, react-remove-scroll-bar@^2.3.7: + version "2.3.8" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz#99c20f908ee467b385b68a3469b4a3e750012223" + integrity sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q== dependencies: - react-style-singleton "^2.2.1" + react-style-singleton "^2.2.2" tslib "^2.0.0" react-remove-scroll@2.5.5: @@ -16211,15 +16235,15 @@ react-remove-scroll@2.5.5: use-callback-ref "^1.3.0" use-sidecar "^1.1.2" -react-remove-scroll@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz#fb03a0845d7768a4f1519a99fdb84983b793dc07" - integrity sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ== +react-remove-scroll@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.6.2.tgz#2518d2c5112e71ea8928f1082a58459b5c7a2a97" + integrity sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw== dependencies: - react-remove-scroll-bar "^2.3.6" + react-remove-scroll-bar "^2.3.7" react-style-singleton "^2.2.1" tslib "^2.1.0" - use-callback-ref "^1.3.0" + use-callback-ref "^1.3.3" use-sidecar "^1.1.2" react-router-dom@6.21.3: @@ -16292,13 +16316,12 @@ react-scripts@5.0.1: optionalDependencies: fsevents "^2.3.2" -react-style-singleton@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" - integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== +react-style-singleton@^2.2.1, react-style-singleton@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388" + integrity sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ== dependencies: get-nonce "^1.0.0" - invariant "^2.2.4" tslib "^2.0.0" react-toastify@^10.0.4: @@ -16475,19 +16498,19 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -reflect.getprototypeof@^1.0.4, reflect.getprototypeof@^1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.8.tgz#c58afb17a4007b4d1118c07b92c23fca422c5d82" - integrity sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ== +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.8, reflect.getprototypeof@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.9.tgz#c905f3386008de95a62315f3ea8630404be19e2f" + integrity sha512-r0Ay04Snci87djAsI4U+WNRcSw5S4pOH7qFjd/veA5gC7TbqESR3tcj28ia95L/fYUDw11JKP7uqUKUAfVvV5Q== dependencies: call-bind "^1.0.8" define-properties "^1.2.1" - dunder-proto "^1.0.0" - es-abstract "^1.23.5" + dunder-proto "^1.0.1" + es-abstract "^1.23.6" es-errors "^1.3.0" - get-intrinsic "^1.2.4" + get-intrinsic "^1.2.6" gopd "^1.2.0" - which-builtin-type "^1.2.0" + which-builtin-type "^1.2.1" regenerate-unicode-properties@^10.2.0: version "10.2.0" @@ -16523,7 +16546,7 @@ regex-parser@^2.2.11: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.3.0.tgz#4bb61461b1a19b8b913f3960364bb57887f920ee" integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg== -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2, regexp.prototype.flags@^1.5.3: +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== @@ -16676,11 +16699,11 @@ resolve.exports@^2.0.0: integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -16800,14 +16823,15 @@ rxjs@^7.5.1, rxjs@^7.5.5: dependencies: tslib "^2.1.0" -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== +safe-array-concat@^1.1.2, safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" isarray "^2.0.5" safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: @@ -16820,14 +16844,14 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== +safe-regex-test@^1.0.3, safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.2" es-errors "^1.3.0" - is-regex "^1.1.4" + is-regex "^1.2.1" "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" @@ -16905,10 +16929,10 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0, schema-utils@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== +schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0" + integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g== dependencies: "@types/json-schema" "^7.0.9" ajv "^8.9.0" @@ -16969,7 +16993,7 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: +serialize-javascript@^6.0.0, serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== @@ -17016,7 +17040,7 @@ set-function-length@^1.2.2: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1, set-function-name@^2.0.2: +set-function-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== @@ -17097,15 +17121,45 @@ shell-quote@^1.7.3, shell-quote@^1.8.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - call-bind "^1.0.7" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.4, side-channel@^1.0.6, side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@3.0.7, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -17477,11 +17531,12 @@ statuses@2.0.1: integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== dependencies: - internal-slot "^1.0.4" + es-errors "^1.3.0" + internal-slot "^1.1.0" store2@^2.14.2: version "2.14.3" @@ -17567,22 +17622,23 @@ string.prototype.includes@^2.0.1: es-abstract "^1.23.3" string.prototype.matchall@^4.0.11, string.prototype.matchall@^4.0.6: - version "4.0.11" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" - integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + version "4.0.12" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.2" + es-abstract "^1.23.6" es-errors "^1.3.0" es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - regexp.prototype.flags "^1.5.2" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" set-function-name "^2.0.2" - side-channel "^1.0.6" + side-channel "^1.1.0" string.prototype.repeat@^1.0.0: version "1.0.0" @@ -17592,22 +17648,26 @@ string.prototype.repeat@^1.0.0: define-properties "^1.1.3" es-abstract "^1.17.5" -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" define-properties "^1.2.1" - es-abstract "^1.23.0" + es-abstract "^1.23.5" es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== +string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" define-properties "^1.2.1" es-object-atoms "^1.0.0" @@ -17855,9 +17915,9 @@ tailwindcss-animate@^1.0.7: integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA== tailwindcss@^3.0.2, tailwindcss@^3.4.1: - version "3.4.16" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.16.tgz#35a7c3030844d6000fc271878db4096b6a8d2ec9" - integrity sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw== + version "3.4.17" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.17.tgz#ae8406c0f96696a631c790768ff319d46d5e5a63" + integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" @@ -17991,17 +18051,17 @@ terminal-link@^2.0.0: supports-hyperlinks "^2.0.0" terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.7: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + version "5.3.11" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz#93c21f44ca86634257cac176f884f942b7ba3832" + integrity sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ== dependencies: - "@jridgewell/trace-mapping" "^0.3.20" + "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" -terser@^5.0.0, terser@^5.10.0, terser@^5.26.0: +terser@^5.0.0, terser@^5.10.0, terser@^5.31.1: version "5.37.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.37.0.tgz#38aa66d1cfc43d0638fab54e43ff8a4f72a21ba3" integrity sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA== @@ -18077,17 +18137,17 @@ tiny-invariant@^1.3.1, tiny-invariant@^1.3.3: resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== -tldts-core@^6.1.66: - version "6.1.66" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.66.tgz#78f823137876f80bf8986028e8839473c2d114af" - integrity sha512-s07jJruSwndD2X8bVjwioPfqpIc1pDTzszPe9pL1Skbh4bjytL85KNQ3tolqLbCvpQHawIsGfFi9dgerWjqW4g== +tldts-core@^6.1.69: + version "6.1.69" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.69.tgz#079ffcac8a4407bc74567e292aecf30b943674e1" + integrity sha512-nygxy9n2PBUFQUtAXAc122gGo+04/j5qr5TGQFZTHafTKYvmARVXt2cA5rgero2/dnXUfkdPtiJoKmrd3T+wdA== tldts@^6.1.32: - version "6.1.66" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.66.tgz#34cb048acf51964c8f66139284a4c863d8150bb2" - integrity sha512-l3ciXsYFel/jSRfESbyKYud1nOw7WfhrBEF9I3UiarYk/qEaOOwu3qXNECHw4fHGHGTEOuhf/VdKgoDX5M/dhQ== + version "6.1.69" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.69.tgz#0fe1fcb1ad09510459693e72f96062cee2411f1f" + integrity sha512-Oh/CqRQ1NXNY7cy9NkTPUauOWiTro0jEYZTioGbOmcQh6EC45oribyIMJp0OJO3677r13tO6SKdWoGZUx2BDFw== dependencies: - tldts-core "^6.1.66" + tldts-core "^6.1.69" tmp@^0.0.33: version "0.0.33" @@ -18258,7 +18318,7 @@ tslib@^1.13.0, tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.6.2, tslib@^2.7.0, tslib@^2.8.1: +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.6.2, tslib@^2.7.0, tslib@^2.8.0, tslib@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -18377,40 +18437,40 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-typed-array "^1.1.13" + is-typed-array "^1.1.14" -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" -typed-array-byte-offset@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz#3fa9f22567700cc86aaf86a1e7176f74b59600f2" - integrity sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw== +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - reflect.getprototypeof "^1.0.6" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" -typed-array-length@^1.0.6: +typed-array-length@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== @@ -18466,15 +18526,15 @@ uint8arrays@3.1.1, uint8arrays@^3.0.0: dependencies: multiformats "^9.4.2" -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" underscore@1.12.1: version "1.12.1" @@ -18655,10 +18715,10 @@ url@^0.11.0: punycode "^1.4.1" qs "^6.12.3" -use-callback-ref@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693" - integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA== +use-callback-ref@^1.3.0, use-callback-ref@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.3.tgz#98d9fab067075841c5b2c6852090d5d0feabe2bf" + integrity sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg== dependencies: tslib "^2.0.0" @@ -18670,9 +18730,9 @@ use-resize-observer@^9.1.0: "@juggle/resize-observer" "^3.3.1" use-sidecar@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" - integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== + version "1.1.3" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.3.tgz#10e7fd897d130b896e2c546c63a5e8233d00efdb" + integrity sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ== dependencies: detect-node-es "^1.1.0" tslib "^2.0.0" @@ -19134,35 +19194,35 @@ whatwg-url@^8.0.0, whatwg-url@^8.5.0: tr46 "^2.1.0" webidl-conversions "^6.1.0" -which-boxed-primitive@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz#2d850d6c4ac37b95441a67890e19f3fda8b6c6d9" - integrity sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng== +which-boxed-primitive@^1.0.2, which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== dependencies: is-bigint "^1.1.0" - is-boolean-object "^1.2.0" - is-number-object "^1.1.0" - is-string "^1.1.0" - is-symbol "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" -which-builtin-type@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.0.tgz#58042ac9602d78a6d117c7e811349df1268ba63c" - integrity sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA== +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.2" function.prototype.name "^1.1.6" has-tostringtag "^1.0.2" is-async-function "^2.0.0" - is-date-object "^1.0.5" + is-date-object "^1.1.0" is-finalizationregistry "^1.1.0" is-generator-function "^1.0.10" - is-regex "^1.1.4" + is-regex "^1.2.1" is-weakref "^1.0.2" isarray "^2.0.5" - which-boxed-primitive "^1.0.2" + which-boxed-primitive "^1.1.0" which-collection "^1.0.2" - which-typed-array "^1.1.15" + which-typed-array "^1.1.16" which-collection@^1.0.1, which-collection@^1.0.2: version "1.0.2" @@ -19179,15 +19239,16 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2: - version "1.1.16" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.16.tgz#db4db429c4706feca2f01677a144278e4a8c216b" - integrity sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ== +which-typed-array@^1.1.13, which-typed-array@^1.1.16, which-typed-array@^1.1.18, which-typed-array@^1.1.2: + version "1.1.18" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.18.tgz#df2389ebf3fbb246a71390e90730a9edb6ce17ad" + integrity sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" for-each "^0.3.3" - gopd "^1.0.1" + gopd "^1.2.0" has-tostringtag "^1.0.2" which@^1.3.1: From 63b6feb80568cd1ebc8719d3d3bb89f3202491ee Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Mon, 23 Dec 2024 21:18:57 +0700 Subject: [PATCH 11/13] Reset data for every run --- .../issue_workflow_test/DPP/issueDPP.cy.ts | 12 +++++++----- ...igitalProductPassport_instance-v0.5.0.json | 10 +++++----- docker-compose.e2e.yml | 2 +- run-e2e-tests.sh | 19 +++++++++++++++++++ 4 files changed, 32 insertions(+), 11 deletions(-) diff --git a/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts b/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts index f38ea976..48d30cce 100644 --- a/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts +++ b/cypress/e2e/issue_workflow_test/DPP/issueDPP.cy.ts @@ -93,13 +93,8 @@ describe('Issue DPP end-to-end testing flow', () => { // await API register link cy.wait('@linkResolverRegister').then((interception) => { - cy.log('linkResolverRegister Request Body:', JSON.stringify(interception.request.body)); expect(interception?.response?.statusCode).to.eq(201); cy.log('Completed: linkResolverRegister'); - const checkLinkTypeURL = 'http://localhost:3000/gs1/gtin/09359502000034?linkType=gs1:' + LinkType.sustainabilityInfo - cy.request('GET', checkLinkTypeURL).then((response) => { - expect(response.status).to.eq(200); - }); }); // Verify toast appears, using react-toastify @@ -114,6 +109,13 @@ describe('Issue DPP end-to-end testing flow', () => { }); }); + it('Verify linkType', () => { + const checkLinkTypeURL = 'http://localhost:3000/gs1/01/09359502000034/10/6789?linkType=gs1:' + LinkType.sustainabilityInfo + cy.request('GET', checkLinkTypeURL).then((response) => { + expect(response.status).to.eq(200); + }); + }); + it('Runs testing UNTP V0.5.0', () => { cy.exec('pwd').then((result) => { cy.log('Current directory:', result.stdout); diff --git a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json index dbbbef10..f7c564a1 100644 --- a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json +++ b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json @@ -834,18 +834,18 @@ ] } }, - "validFrom": "2024-12-23T08:56:18.254Z", + "validFrom": "2024-12-23T14:18:16.012Z", "credentialStatus": { - "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#208", + "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#234", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", - "statusListIndex": 208, + "statusListIndex": 234, "statusListCredential": "http://localhost:3332/credentials/status/bitstring-status-list/1" }, - "id": "urn:uuid:8551b9c6-c268-4b51-9ccd-6887a08b6491", + "id": "urn:uuid:1a2ebe6b-9cbe-4919-b225-57e1c3d7eb4b", "render": [ { - "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product’s sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

", "@type": "WebRenderingTemplate2022" } ], diff --git a/docker-compose.e2e.yml b/docker-compose.e2e.yml index e917cf4b..9b9b7c79 100644 --- a/docker-compose.e2e.yml +++ b/docker-compose.e2e.yml @@ -65,7 +65,7 @@ services: - MINIO_ROOT_USER=minioadmin - MINIO_ROOT_PASSWORD=minioadmin volumes: - - ./minio_data/identity-resolver-service-object-store:/data + - ./minio_data/identity-resolver-service-object-store/data-test:/data mock-global-gs1-resolver: # Replace with local or deployed image diff --git a/run-e2e-tests.sh b/run-e2e-tests.sh index 34ebd587..40656268 100755 --- a/run-e2e-tests.sh +++ b/run-e2e-tests.sh @@ -1,3 +1,22 @@ #!/bin/bash +# reset data +TARGET_DIR="./minio_data/identity-resolver-service-object-store/data-test/idr-bucket-1/gs1" + +if [ -d "$TARGET_DIR" ]; then + echo "Found folder: $TARGET_DIR" + echo "Deleting folder..." + + # Xóa folder + rm -rf "$TARGET_DIR" + + if [ $? -eq 0 ]; then + echo "Folder deleted successfully." + else + echo "Failed to delete the folder." + exit 1 + fi +else + echo "Folder not found: $TARGET_DIR" +fi # grant permission for script chmod +x cypress/e2e/issue_workflow_test/DPP/test-untp-dpp-scripts.sh From 1a56044d6d934d156fbd9d7d1a4f9b711466602d Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Tue, 24 Dec 2024 09:29:52 +0700 Subject: [PATCH 12/13] add dockerignore for app config file --- .dockerignore | 3 + ...igitalProductPassport_instance-v0.5.0.json | 8 +- yarn.lock | 172 +++++++++--------- 3 files changed, 93 insertions(+), 90 deletions(-) diff --git a/.dockerignore b/.dockerignore index 20d2ecd4..ab93b306 100644 --- a/.dockerignore +++ b/.dockerignore @@ -22,3 +22,6 @@ appspec.yml logs aws .DS_Store + +packages/mock-app/src/constants/app-config.json +packages/components/src/constants/app-config.json diff --git a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json index f7c564a1..e8394974 100644 --- a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json +++ b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json @@ -834,15 +834,15 @@ ] } }, - "validFrom": "2024-12-23T14:18:16.012Z", + "validFrom": "2024-12-24T02:28:17.291Z", "credentialStatus": { - "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#234", + "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#240", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", - "statusListIndex": 234, + "statusListIndex": 240, "statusListCredential": "http://localhost:3332/credentials/status/bitstring-status-list/1" }, - "id": "urn:uuid:1a2ebe6b-9cbe-4919-b225-57e1c3d7eb4b", + "id": "urn:uuid:8099bdfa-f98c-4415-8b2c-829f8db2e3d9", "render": [ { "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product’s sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

", diff --git a/yarn.lock b/yarn.lock index e1306d33..22409034 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2382,14 +2382,14 @@ prop-types "^15.8.1" "@mui/base@^5.0.0-beta.22": - version "5.0.0-beta.67" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.67.tgz#c343fb27da76c67493edb9b1f5660523af9db3f6" - integrity sha512-pwjibXqBrSw1Z1fZEIhWJnMJHSvh3BLz0pZcrX/x01B/BVf6QUbFlGVV/k8KCsZ9sPzln1l8bBJ+ynIIE9LtjA== + version "5.0.0-beta.68" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.68.tgz#a651d0f490dcf9495ce297a2f7403cfa6fd94841" + integrity sha512-F1JMNeLS9Qhjj3wN86JUQYBtJoXyQvknxlzwNl6eS0ZABo1MiohMONj3/WQzYPSXIKC2bS/ZbyBzdHhi2GnEpA== dependencies: "@babel/runtime" "^7.26.0" "@floating-ui/react-dom" "^2.1.1" "@mui/types" "^7.2.20" - "@mui/utils" "^6.2.1" + "@mui/utils" "^6.3.0" "@popperjs/core" "^2.11.8" clsx "^2.1.1" prop-types "^15.8.1" @@ -2487,10 +2487,10 @@ prop-types "^15.8.1" react-is "^19.0.0" -"@mui/utils@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.2.1.tgz#b89485bef828d66c09ae86ef0dde7e4f35bcffa5" - integrity sha512-ubLqGIMhKUH2TF/Um+wRzYXgAooQw35th+DPemGrTpgrZHpOgcnUDIDbwsk1e8iQiuJ3mV/ErTtcQrecmlj5cg== +"@mui/utils@^6.3.0": + version "6.3.0" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.3.0.tgz#76c80cb663c7c1bdf782de50a5c3f6ff8bf38e21" + integrity sha512-MkDBF08OPVwXhAjedyMykRojgvmf0y/jxkBWjystpfI/pasyTYrfdv4jic6s7j3y2+a+SJzS9qrD6X8ZYj/8AQ== dependencies: "@babel/runtime" "^7.26.0" "@mui/types" "^7.2.20" @@ -2938,13 +2938,13 @@ "@octokit/openapi-types" "^18.0.0" "@peculiar/asn1-schema@^2.3.13", "@peculiar/asn1-schema@^2.3.8": - version "2.3.13" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.13.tgz#ec8509cdcbc0da3abe73fd7e690556b57a61b8f4" - integrity sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g== + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.15.tgz#e926bfdeed51945a06f38be703499e7d8341a5d3" + integrity sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w== dependencies: asn1js "^3.0.5" - pvtsutils "^1.3.5" - tslib "^2.6.2" + pvtsutils "^1.3.6" + tslib "^2.8.1" "@peculiar/json-schema@^1.1.12": version "1.1.12" @@ -5414,15 +5414,15 @@ "@types/node" "*" "@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.1.tgz#992e5ac1553ce20d0d46aa6eccd79dc36dedc805" - integrity sha512-Ncvsq5CT3Gvh+uJG0Lwlho6suwDfUXH0HztslDf5I+F2wAFAZMRwYLEorumpKLzmO2suAXZ/td1tBg4NZIi9CQ== + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.2.tgz#c78e363ab5fe3b21dd1c90d8be9581534417f78e" + integrity sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.18.1" - "@typescript-eslint/type-utils" "8.18.1" - "@typescript-eslint/utils" "8.18.1" - "@typescript-eslint/visitor-keys" "8.18.1" + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/type-utils" "8.18.2" + "@typescript-eslint/utils" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" @@ -5452,14 +5452,14 @@ "@typescript-eslint/utils" "5.62.0" "@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.1.tgz#c258bae062778b7696793bc492249027a39dfb95" - integrity sha512-rBnTWHCdbYM2lh7hjyXqxk70wvon3p2FyaniZuey5TrcGBpfhVp0OxOa6gxr9Q9YhZFKyfbEnxc24ZnVbbUkCA== - dependencies: - "@typescript-eslint/scope-manager" "8.18.1" - "@typescript-eslint/types" "8.18.1" - "@typescript-eslint/typescript-estree" "8.18.1" - "@typescript-eslint/visitor-keys" "8.18.1" + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.2.tgz#0379a2e881d51d8fcf7ebdfa0dd18eee79182ce2" + integrity sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA== + dependencies: + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/typescript-estree" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" debug "^4.3.4" "@typescript-eslint/parser@^5.5.0": @@ -5480,13 +5480,13 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.1.tgz#52cedc3a8178d7464a70beffed3203678648e55b" - integrity sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ== +"@typescript-eslint/scope-manager@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.2.tgz#d193c200d61eb0ddec5987c8e48c9d4e1c0510bd" + integrity sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g== dependencies: - "@typescript-eslint/types" "8.18.1" - "@typescript-eslint/visitor-keys" "8.18.1" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" "@typescript-eslint/type-utils@5.62.0": version "5.62.0" @@ -5498,13 +5498,13 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/type-utils@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.1.tgz#10f41285475c0bdee452b79ff7223f0e43a7781e" - integrity sha512-jAhTdK/Qx2NJPNOTxXpMwlOiSymtR2j283TtPqXkKBdH8OAMmhiUfP0kJjc/qSE51Xrq02Gj9NY7MwK+UxVwHQ== +"@typescript-eslint/type-utils@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.2.tgz#5ad07e09002eee237591881df674c1c0c91ca52f" + integrity sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA== dependencies: - "@typescript-eslint/typescript-estree" "8.18.1" - "@typescript-eslint/utils" "8.18.1" + "@typescript-eslint/typescript-estree" "8.18.2" + "@typescript-eslint/utils" "8.18.2" debug "^4.3.4" ts-api-utils "^1.3.0" @@ -5513,10 +5513,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.1.tgz#d7f4f94d0bba9ebd088de840266fcd45408a8fff" - integrity sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw== +"@typescript-eslint/types@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.2.tgz#5ebad5b384c8aa1c0f86cee1c61bcdbe7511f547" + integrity sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -5531,13 +5531,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.1.tgz#2a86cd64b211a742f78dfa7e6f4860413475367e" - integrity sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg== +"@typescript-eslint/typescript-estree@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.2.tgz#fffb85527f8304e29bfbbdc712f4515da9f8b47c" + integrity sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg== dependencies: - "@typescript-eslint/types" "8.18.1" - "@typescript-eslint/visitor-keys" "8.18.1" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -5559,15 +5559,15 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.1.tgz#c4199ea23fc823c736e2c96fd07b1f7235fa92d5" - integrity sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ== +"@typescript-eslint/utils@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.2.tgz#a2635f71904a84f9e47fe1b6f65a6d944ff1adf9" + integrity sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.18.1" - "@typescript-eslint/types" "8.18.1" - "@typescript-eslint/typescript-estree" "8.18.1" + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/typescript-estree" "8.18.2" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -5577,12 +5577,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@8.18.1": - version "8.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.1.tgz#344b4f6bc83f104f514676facf3129260df7610a" - integrity sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ== +"@typescript-eslint/visitor-keys@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.2.tgz#b3e434b701f086b10a7c82416ebc56899d27ef2f" + integrity sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw== dependencies: - "@typescript-eslint/types" "8.18.1" + "@typescript-eslint/types" "8.18.2" eslint-visitor-keys "^4.2.0" "@ungap/structured-clone@^1.2.0": @@ -6201,7 +6201,7 @@ array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: es-abstract "^1.23.5" es-shim-unscopables "^1.0.2" -array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: +array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2, array.prototype.flatmap@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== @@ -7618,9 +7618,9 @@ connect-history-api-fallback@^2.0.0: integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== consola@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/consola/-/consola-3.3.0.tgz#b89affdff331a40eac2f11ecc571eb230b7b560b" - integrity sha512-kxltocVQCwQNFvw40dlVRYeAkAvtYjMFZYNlOcsF5wExPpGwPxMwgx4IfDJvBRPtBpnQwItd5WkTaR0ZwT/TmQ== + version "3.3.1" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.3.1.tgz#e60b4bfcd9e36cd766cc9afe2c93c14fe64c9356" + integrity sha512-GyKnPG3/I+a4RtJxgHquJXWr70g9I3c4NT3dvqh0LPHQP2nZFQBOBszb7a5u/pGzqr40AKplQA6UxM1BSynSXg== console-control-strings@^1.1.0: version "1.1.0" @@ -8808,9 +8808,9 @@ ejs@^3.1.6, ejs@^3.1.7, ejs@^3.1.8: jake "^10.8.5" electron-to-chromium@^1.5.73: - version "1.5.75" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.75.tgz#bba96eabf0e8ca36324679caa38b982800acc87d" - integrity sha512-Lf3++DumRE/QmweGjU+ZcKqQ+3bKkU/qjaKYhIJKEOhgIO9Xs6IiAQFkfFoj+RhgDk4LUeNsLo6plExHqSyu6Q== + version "1.5.76" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.76.tgz#db20295c5061b68f07c8ea4dfcbd701485d94a3d" + integrity sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ== elliptic@^6.5.3, elliptic@^6.5.4, elliptic@^6.5.5: version "6.6.1" @@ -9038,7 +9038,7 @@ es-get-iterator@^1.1.3: isarray "^2.0.5" stop-iteration-iterator "^1.0.0" -es-iterator-helpers@^1.1.0: +es-iterator-helpers@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz#d1dd0f58129054c0ad922e6a9a1e65eef435fe75" integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== @@ -9336,27 +9336,27 @@ eslint-plugin-react-hooks@^5.0.0: integrity sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw== eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.35.0: - version "7.37.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz#cd0935987876ba2900df2f58339f6d92305acc7a" - integrity sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w== + version "7.37.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.3.tgz#567549e9251533975c4ea9706f986c3a64832031" + integrity sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA== dependencies: array-includes "^3.1.8" array.prototype.findlast "^1.2.5" - array.prototype.flatmap "^1.3.2" + array.prototype.flatmap "^1.3.3" array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" - es-iterator-helpers "^1.1.0" + es-iterator-helpers "^1.2.1" estraverse "^5.3.0" hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" object.entries "^1.1.8" object.fromentries "^2.0.8" - object.values "^1.2.0" + object.values "^1.2.1" prop-types "^15.8.1" resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.11" + string.prototype.matchall "^4.0.12" string.prototype.repeat "^1.0.0" eslint-plugin-storybook@^0.6.12: @@ -9815,9 +9815,9 @@ fast-uri@^3.0.1: integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.18.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.18.0.tgz#d631d7e25faffea81887fe5ea8c9010e1b36fee0" + integrity sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw== dependencies: reusify "^1.0.4" @@ -14496,7 +14496,7 @@ object.groupby@^1.0.3: define-properties "^1.2.1" es-abstract "^1.23.2" -object.values@^1.1.0, object.values@^1.1.6, object.values@^1.2.0: +object.values@^1.1.0, object.values@^1.1.6, object.values@^1.2.0, object.values@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== @@ -15949,7 +15949,7 @@ pure-rand@^6.0.0: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== -pvtsutils@^1.3.2, pvtsutils@^1.3.5: +pvtsutils@^1.3.2, pvtsutils@^1.3.5, pvtsutils@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.6.tgz#ec46e34db7422b9e4fdc5490578c1883657d6001" integrity sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg== @@ -17621,7 +17621,7 @@ string.prototype.includes@^2.0.1: define-properties "^1.2.1" es-abstract "^1.23.3" -string.prototype.matchall@^4.0.11, string.prototype.matchall@^4.0.6: +string.prototype.matchall@^4.0.12, string.prototype.matchall@^4.0.6: version "4.0.12" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== @@ -17905,9 +17905,9 @@ synckit@^0.9.1: tslib "^2.6.2" tailwind-merge@^2.5.4: - version "2.5.5" - resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-2.5.5.tgz#98167859b856a2a6b8d2baf038ee171b9d814e39" - integrity sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA== + version "2.6.0" + resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-2.6.0.tgz#ac5fb7e227910c038d458f396b7400d93a3142d5" + integrity sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA== tailwindcss-animate@^1.0.7: version "1.0.7" From 039003196fc7198e103478224a39e6d1308bf743 Mon Sep 17 00:00:00 2001 From: Thanh Do Date: Tue, 24 Dec 2024 10:36:44 +0700 Subject: [PATCH 13/13] fix: structure readme --- .../DigitalProductPassport_instance-v0.5.0.json | 10 +++++----- run-e2e-tests.sh | 1 - 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json index e8394974..a8110b1b 100644 --- a/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json +++ b/cypress/fixtures/credentials-e2e/DigitalProductPassport_instance-v0.5.0.json @@ -834,18 +834,18 @@ ] } }, - "validFrom": "2024-12-24T02:28:17.291Z", + "validFrom": "2024-12-24T03:25:22.757Z", "credentialStatus": { - "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#240", + "id": "http://localhost:3332/credentials/status/bitstring-status-list/1#242", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", - "statusListIndex": 240, + "statusListIndex": 242, "statusListCredential": "http://localhost:3332/credentials/status/bitstring-status-list/1" }, - "id": "urn:uuid:8099bdfa-f98c-4415-8b2c-829f8db2e3d9", + "id": "urn:uuid:26db36b4-2b2f-4d03-97ca-8c21e0794bb0", "render": [ { - "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product’s sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. The DPP can be verified at any time using the QR code or visiting www.untp-certification.org with the passport ID.

", + "template": " Digital Product Passport

PRODUCT PASSPORT

{{credentialSubject.name}}

{{credentialSubject.description}}
{{#each credentialSubject.furtherInformation}} {{linkName}} {{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}

{{this}}

{{/each}}
{{/if}}
Production
Product category

{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}

Date produced

{{credentialSubject.productionDate}}

Country

{{credentialSubject.countryOfProduction}}

Dimensions

Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}

Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%

Recyclable content

{{credentialSubject.circularityScorecard.recycledContent}}%

Recycled content

{{credentialSubject.circularityScorecard.utilityFactor}}

Utility factor

{{credentialSubject.circularityScorecard.materialCircularityIndicator}}

Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes

{{credentialSubject.emissionsScorecard.operationalScope}}

Primary sourced ratio*

{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

Issue date

{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}

*

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}

Product composition

A complete list of materials that make up the composition of this product.

{{#each credentialSubject.materialsProvenance}}

{{massFraction}}%

{{massAmount.value}}{{massAmount.unit}} {{name}}

Recycled {{recycledAmount}}%

Hazard {{#if hazardous}}Yes{{else}}No{{/if}}

{{materialSafetyInformation.linkName}}
{{originCountry}}
{{/each}}

History

{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}

Passport issued by

Organisation

{{issuer.name}}

Registered ID {{issuer.id}}
Valid from

{{validFrom}}

Valid to

{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

PRODUCT PASSPORT
{{credentialSubject.name}}
Batch: {{credentialSubject.batchNumber}}
Serial: {{credentialSubject.serialNumber}}

{{credentialSubject.description}}

{{#each credentialSubject.furtherInformation}}
{{linkName}}
{{/each}}
{{#if credentialSubject.characteristic}}
Characteristics
{{#each credentialSubject.characteristic}}
{{@key}}
{{this}}
{{/each}}
{{/if}}
Production
Product category
{{#each credentialSubject.productCategory}}{{name}}{{#unless @last}},{{/unless}} {{/each}}
Date produced
{{credentialSubject.productionDate}}
Country
{{credentialSubject.countryOfProduction}}
Dimensions
Weight: {{credentialSubject.dimensions.weight.value}}{{credentialSubject.dimensions.weight.unit}} Length: {{credentialSubject.dimensions.length.value}}{{credentialSubject.dimensions.length.unit}} Width: {{credentialSubject.dimensions.width.value}}{{credentialSubject.dimensions.width.unit}} Height: {{credentialSubject.dimensions.height.value}}{{credentialSubject.dimensions.height.unit}} Volume: {{credentialSubject.dimensions.volume.value}}{{credentialSubject.dimensions.volume.unit}}
Circularity Scorecard

The circularity Scorecard provides a simple high level summary of circularity performance of the product.

{{credentialSubject.circularityScorecard.recyclableContent}}%
Recyclable content
{{credentialSubject.circularityScorecard.recycledContent}}%
Recycled content
{{credentialSubject.circularityScorecard.utilityFactor}}
Utility factor
{{credentialSubject.circularityScorecard.materialCircularityIndicator}}
Material circularity*

*The Material Circularity Indicator provides an overall circularity score which is a function of all three of the earlier measures.

Emissions Scorecard

The Emissions Scorecard gives a clear snapshot of the product's greenhouse gas (GHG) emissions performance, providing a single indicator to assess its overall environmental impact.

{{credentialSubject.emissionsScorecard.carbonFootprint}}{{credentialSubject.emissionsScorecard.declaredUnit}}

Co2Eq

Scope includes
{{credentialSubject.emissionsScorecard.operationalScope}}
Primary sourced ratio*
{{credentialSubject.emissionsScorecard.primarySourcedRatio}}% primary sources

The Primary Sourced Ratio shows the percentage of scope 3 emissions data that is directly collected from actual sources, rather than being based on estimates.

Issue date
{{credentialSubject.emissionsScorecard.reportingStandard.issueDate}}
*
Declarations
{{#each credentialSubject.conformityClaim}}
Conformance:
{{#if conformance}}Yes{{else}}No{{/if}}
Assessed: {{assessmentDate}}
{{conformityEvidence.linkName}}

{{referenceRegulation.name}} administered in {{referenceRegulation.jurisdictionCountry}} by {{referenceRegulation.administeredBy.name}}

{{referenceStandard.name}} issued by {{referenceStandard.issuingParty.name}}

{{#each declaredValue}}

{{metricName}} is {{metricValue.value}}{{metricValue.unit}}

Score: {{score}} | Accuracy {{accuracy}}

{{/each}}
Evidence
{{/each}}
Composition

The Product Composition List details the materials and components used in the product, providing transparency on the origin and nature of each element.

{{#each credentialSubject.materialsProvenance}}
{{massFraction}}%
{{massAmount.value}}{{massAmount.unit}} {{name}}
Recycled {{#if recycledAmount}}{{recycledAmount}}{{else}}0{{/if}}%
Hazard {{#if hazardous}}Yes{{else}}No{{/if}}
{{originCountry}}
{{/each}}
History
{{!-- start: Supply chain due diligence report --}}
Supply chain due diligence report
{{!-- end: Supply chain due diligence report --}}

{{credentialSubject.traceabilityInformation.valueChainProcess}}

Verified ratio {{credentialSubject.traceabilityInformation.verifiedRatio}}

{{#each credentialSubject.traceabilityInformation.traceabilityEvent}}
{{linkName}} View
{{/each}}
Passport issued by
Organisation
{{issuer.name}}
Registered ID
Valid from
{{validFrom}}
Valid to
{{validUntil}}

This Digital Product Passport (DPP) is a digital record of the product's sustainability and environmental performance, ensuring transparency and accountability in line with UNTP standards. For more information visit uncefact.github.io/spec-untp/.

", "@type": "WebRenderingTemplate2022" } ], diff --git a/run-e2e-tests.sh b/run-e2e-tests.sh index 40656268..d105eba2 100755 --- a/run-e2e-tests.sh +++ b/run-e2e-tests.sh @@ -6,7 +6,6 @@ if [ -d "$TARGET_DIR" ]; then echo "Found folder: $TARGET_DIR" echo "Deleting folder..." - # Xóa folder rm -rf "$TARGET_DIR" if [ $? -eq 0 ]; then