New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@passwerk/rules

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@passwerk/rules

Bundled, checksummed, offline rule artefacts and knowledge base for EU Digital Battery Passports (IDTA 02035, AAS, DIN DKE SPEC 99100)

latest
Source
npmnpm
Version
0.1.1
Version published
Weekly downloads
14
7.69%
Maintainers
1
Weekly downloads
 
Created
Source

@passwerk/rules

Bundled, checksummed, offline knowledge base for the EU Digital Battery Passport. Pure data plus typed accessors; no filesystem, no network, no model calls. Runs in Node and in the browser.

What is inside

DirectoryContentOrigin
artefacts/idta/02035-{1..7}/<version>/The seven official IDTA 02035 submodel templates (JSON with and without example values, AASX)admin-shell-io/submodel-templates, pinned commit, CC-BY-4.0
artefacts/aas/{3.0.9,3.1.2}/aas.jsonAAS metamodel JSON Schemasadmin-shell-io/aas-specs, tagged releases, CC-BY-4.0
artefacts/ec/Commission guidance "Digital Batteries Passport: data points by category" v2.0 (PDF)European Commission, CC-BY-4.0
artefacts/batterypass/Battery Pass Data Attribute Longlist v1.2 (xlsx)Battery Pass consortium, CC-BY-4.0
artefacts/batterypass/samm/Battery Pass Data Model aspect models v1.2.0 / 1.2.1 (SAMM Turtle, seven files)batterypass/BatteryPassDataModel, pinned commit, CC-BY-4.0
artefacts/manifest.jsonSource URL, version, sha256 and size of every artefactmaintained by pnpm artefacts:write
kb/ec-datapoints.jsonThe 71 Commission data points with legal reference and per-category applicabilitytranscribed from the PDF above
kb/generated/template-catalogue.jsonEvery template element (211) with path, semanticId, cardinality, value type, unit, DIN chaptergenerated from the templates
kb/generated/din-longlist.jsonThe 93 DIN DKE SPEC 99100 attributes with chapter, applicability, unit, format, access rightsgenerated from the xlsx
kb/generated/batterypass-samm.jsonThe 144 Battery Pass SAMM properties with description, DIN chapter, data type, unit, enumeration values and range; dev-time cross-check only (ADR D-030)generated from the Turtle files
kb/attributes/*.json93 authored attributes: DE/EN names, synonyms, who-has-it, explanations, mapping to EC data points and template elementsauthored, human-reviewed
kb/rules.jsonPlausibility rules PW-PLAUS-* (validation layer L4), DE/ENauthored
kb/timeline.jsonLegal dates with article references and statusverified against the consolidated regulation
PROVENANCE.mdHuman-readable rendering of the manifestgenerated

See kb/attributes/README.md for the attribute schema and the runtime joins.

Usage

import { attributes, getAttribute, getAttributesForCategory, templates, listCapabilities } from '@passwerk/rules';

const mass = getAttribute('batteryMass');
mass?.name.de;                 // "Batteriemasse"
mass?.applicability.LMT;       // { status: "mandatory" }
mass?.legalRefs;               // ["BR Annex VI Part A (5)", "DIN longlist: Annex XIII (1a); Annex VI Part A (5)"]
mass?.templateElements[0]?.semanticId;

getAttributesForCategory('EV', ['mandatory']).length;
templates[5]?.environment;     // IDTA 02035-6 Material Composition, AAS V3.0 JSON
listCapabilities();            // versions, checksums, counts, sovereignty statement

Maintenance

pnpm --filter @passwerk/rules run artefacts          # fetch + verify against pinned checksums
pnpm --filter @passwerk/rules run artefacts:write    # re-pin after a deliberate upstream update
pnpm --filter @passwerk/rules run artefacts:verify   # offline verification only
pnpm --filter @passwerk/rules run generate           # regenerate kb/generated/* and PROVENANCE.md

The test suite fails if a bundled file does not match its checksum, if a generated file is stale, or if any attribute references an unknown longlist row, EC data point or template path.

Honesty flags

Attributes and timeline events carry verify: true when the mapping or date came from a secondary source or a judgement call. listCapabilities() reports how many are open. Nothing in this package is legal advice.

Keywords

battery-passport

FAQs

Package last updated on 13 Sep 2026

Related posts