@open-charging-cloud/chargy-core 0.14.2 → 0.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/README.md +1 -1
- package/dist/browser/index.js +16 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/interfaces/IChargeTransparencyLiveLink.d.ts +58 -2
- package/dist/interfaces/IChargeTransparencyLiveLink.d.ts.map +1 -1
- package/dist/node/index.js +16 -2
- package/dist/node/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,42 @@ While the version number is below 1.0.0, breaking changes are released in minor
|
|
|
7
7
|
versions and are always listed first below.
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
## [0.14.4] - 2026-09-05
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **An https transport without a `refresh` is polled at the default period.**
|
|
15
|
+
Absent used to mean "do not poll"; it now means `defaultRefreshSeconds`,
|
|
16
|
+
which is 10. An https transport exists to be asked, and a document that names
|
|
17
|
+
one without saying how often still wants its readers to see what the session
|
|
18
|
+
does next. A client is still expected to clamp what a document states.
|
|
19
|
+
|
|
20
|
+
- **`customHeaders` moved from `TransportHTTPS` to `ITransport`.** An https
|
|
21
|
+
poll, the opening request of a server-sent event stream and the handshake of
|
|
22
|
+
a websocket are all HTTP requests, and all three can face an endpoint that
|
|
23
|
+
expects a header - so all three may state them, and all three are validated.
|
|
24
|
+
A document that stated them on https alone is unaffected.
|
|
25
|
+
|
|
26
|
+
## [0.14.3] - 2026-09-05
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- **An https transport can state the HTTP headers to send with it.**
|
|
31
|
+
`TransportHTTPS.customHeaders` names them - an API key the operator's endpoint
|
|
32
|
+
expects, a tenant selector - and a value is either the literal string to send
|
|
33
|
+
or an object naming a `valueProvider` that computes it per request, because a
|
|
34
|
+
one-time password would be stale the moment it was written into a document.
|
|
35
|
+
Version 1.0 defines that shape, not the providers: what `"TOTP"` means needs
|
|
36
|
+
an external profile, the same way the TOTP configuration does, and ChargyCore
|
|
37
|
+
computes no values.
|
|
38
|
+
|
|
39
|
+
Like `refresh`, the headers belong to `https` alone and are validated only
|
|
40
|
+
there; on the other two transports the property is unknown like any other.
|
|
41
|
+
`isCustomHeaders()`, `isCustomHeaderValue()` and
|
|
42
|
+
`isCustomHeaderValueProvider()` are exported for point-of-use filtering. What
|
|
43
|
+
HTTP itself requires of a name and a value is the sending client's business:
|
|
44
|
+
a document says what it wants sent, it does not get to write the request.
|
|
45
|
+
|
|
10
46
|
## [0.14.0] - 2026-08-30
|
|
11
47
|
|
|
12
48
|
### Added
|
package/README.md
CHANGED
package/dist/browser/index.js
CHANGED
|
@@ -12058,10 +12058,15 @@ var IChargeTransparencyLiveLink_exports = {};
|
|
|
12058
12058
|
__export(IChargeTransparencyLiveLink_exports, {
|
|
12059
12059
|
ChargeTransparencyLiveLinkContext: () => ChargeTransparencyLiveLinkContext,
|
|
12060
12060
|
IsAChargeTransparencyLiveLink: () => IsAChargeTransparencyLiveLink,
|
|
12061
|
+
defaultRefreshSeconds: () => defaultRefreshSeconds,
|
|
12061
12062
|
isConnector: () => isConnector,
|
|
12063
|
+
isCustomHeaderValue: () => isCustomHeaderValue,
|
|
12064
|
+
isCustomHeaderValueProvider: () => isCustomHeaderValueProvider,
|
|
12065
|
+
isCustomHeaders: () => isCustomHeaders,
|
|
12062
12066
|
isTransport: () => isTransport
|
|
12063
12067
|
});
|
|
12064
12068
|
var ChargeTransparencyLiveLinkContext = "https://open.charging.cloud/contexts/chargeTransparency/live/link/1.0";
|
|
12069
|
+
var defaultRefreshSeconds = 10;
|
|
12065
12070
|
function isConnector(data) {
|
|
12066
12071
|
if (!isObject(data))
|
|
12067
12072
|
return false;
|
|
@@ -12072,6 +12077,15 @@ function isTransportURL(data) {
|
|
|
12072
12077
|
return data.trim() !== "";
|
|
12073
12078
|
return isObject(data) && typeof data["url"] === "string" && (data["priority"] === void 0 || typeof data["priority"] === "number") && (data["weight"] === void 0 || typeof data["weight"] === "number");
|
|
12074
12079
|
}
|
|
12080
|
+
function isCustomHeaderValueProvider(data) {
|
|
12081
|
+
return isMandatoryJSONObject(data) && typeof data["valueProvider"] === "string" && (data["parameters"] === void 0 || isMandatoryJSONObject(data["parameters"]));
|
|
12082
|
+
}
|
|
12083
|
+
function isCustomHeaderValue(data) {
|
|
12084
|
+
return typeof data === "string" || isCustomHeaderValueProvider(data);
|
|
12085
|
+
}
|
|
12086
|
+
function isCustomHeaders(data) {
|
|
12087
|
+
return isMandatoryJSONObject(data) && Object.values(data).every(isCustomHeaderValue);
|
|
12088
|
+
}
|
|
12075
12089
|
function isTransport(data) {
|
|
12076
12090
|
if (!isObject(data))
|
|
12077
12091
|
return false;
|
|
@@ -12082,7 +12096,7 @@ function isTransport(data) {
|
|
|
12082
12096
|
if (type === "https" && data["refresh"] !== void 0 && typeof data["refresh"] !== "number") {
|
|
12083
12097
|
return false;
|
|
12084
12098
|
}
|
|
12085
|
-
return (data["url"] === void 0 || typeof data["url"] === "string") && (data["urls"] === void 0 || Array.isArray(data["urls"]) && data["urls"].every(isTransportURL)) && (data["totp"] === void 0 || isTOTPConfig(data["totp"]));
|
|
12099
|
+
return (data["url"] === void 0 || typeof data["url"] === "string") && (data["urls"] === void 0 || Array.isArray(data["urls"]) && data["urls"].every(isTransportURL)) && (data["totp"] === void 0 || isTOTPConfig(data["totp"])) && (data["customHeaders"] === void 0 || isCustomHeaders(data["customHeaders"]));
|
|
12086
12100
|
}
|
|
12087
12101
|
function IsAChargeTransparencyLiveLink(data) {
|
|
12088
12102
|
return isMandatoryJSONObject(data) && data["@context"] === ChargeTransparencyLiveLinkContext;
|
|
@@ -14119,6 +14133,6 @@ buffer/index.js:
|
|
|
14119
14133
|
*)
|
|
14120
14134
|
*/
|
|
14121
14135
|
|
|
14122
|
-
export { ACrypt, Alfen, AlfenCrypt01, BSMCrypt01, CanonicalJSONError, ChargeIT, ChargePoint, ChargePointCrypt01, IChargeTransparencyLiveLink_exports as ChargeTransparencyLiveLink, ChargeTransparencyLiveLinkContext, IChargeTransparencyRecord_exports as ChargeTransparencyRecord, Chargy, chargyInterfaces_exports as ChargyInterfaces, Clone, CloneCTR, ConcatenateBuffers, CreateDiv, CreateDiv2, CreateError, CreateWarning, CryptoAlgorithms, CryptoHashAlgorithms, DayOfWeek, DisplayPrefixes, EDL40, EDL40Crypt01, EDL40ValidationError, EDL40_OBIS, EDL40_SESSION_CONTEXT, EDL40_SIGNATURE_CONTEXT, EMHCrypt01, ErrorLevel, GDFCrypt01, IECCurves, IEncoding, InformationRelevance, InformationRelevanceToString, IsAChargeTransparencyLiveLink, IsAChargeTransparencyRecord, IsAPublicKey, IsAPublicKeyLookup, IsAPublicKeySignature, IsAPublicKeyXY, IsASessionCryptoResult, IsAURL, IsNullOrEmpty, IsValidURL, JSONSignatureVerificationStatus, MENNEKES_EDL40_OBIS, MENNEKES_EDL40_XMLNS, Mennekes, MennekesCrypt01, OBIS2Hex, OBIS2MeasurementName, OBIS_RegExpr, OCMF, OCMFBonnTariffParseError, OCMFTransactionTypes, OCMF_SIGNATURE_ALGORITHMS, OCMFv1_x, OCPI, OIDInfo, PCDF, PCDFCrypt01, PCDFParseError, PCDFValidationError, PCDF_FIELD_ORDER, PCDF_PREFIX, PTB, ParseJSON_LD, PublicKeyFormats, IPublicKeyInfo_exports as PublicKeyInfo, SAFEXML, SessionVerificationResult, SetHex, SetInt8, SetText, SetText_withLength, SetTimestamp, SetTimestamp32, SetUInt32, SetUInt32_withCode, SetUInt64, SetUInt64D, SignMessage, SignatureFormats, IURL_exports as SimpleURL, TimeStatusTypes, URLContext, UTC2human, VerificationResult, VerifyJSONMessageSignatures, WarningLevel, WhenNullOrEmpty, XMLContainer, asJSONArray, asJSONObject, asNumber, asString, base64ToBytes, buf2hex, buildEDL40Signature, buildIsaSignature, buildMennekesSignatureData, bytesToBase64, bytesToHex, canParseEDL40, canonicalJSONBytes, canonicalJSONStringify, cleanHex, closeFullscreen, collectDocumentPublicKeys, createCompatibleCurve, createHexString, createLegacyP192Curve, dateToMennekesLocalEpochSeconds, decodeSmlMessages, extractMennekesChargingProcesses, findEntryByObis, findGetListRes, firstKey, firstValue, generateSignatureKeyPair, getArrayElement, getArrayLikeElement, getDirectChildByLocalName, getDirectChildrenByLocalName, getElementsByLocalName, getFirstArrayElement, getInt16Bytes, getInt32Bytes, getInt64Bytes, getInt8Bytes, getLastArrayElement, getOCMFSignatureDisplay, getSignatureSuite, getTrimmedTextContent, hashFile, hex2bin, hex32, hexToArrayBuffer, hexToBytes, intFromBytes, isEncodedValue, isGeoLocation, isI18NString, isICryptoResult, isIFileInfo, isISessionCryptoResult1, isISessionCryptoResult2, isJSONLDObject, isMandatoryArrayOfStrings, isMandatoryBoolean, isMandatoryDecimal, isMandatoryJSONArray, isMandatoryJSONObject, isMandatoryNumber, isMandatoryString, isMandatoryURL, isOIDInfo, isObject, isOptionalArrayOfStrings, isOptionalDecimal, isOptionalJSONArray, isOptionalJSONArrayError, isOptionalJSONArrayOk, isOptionalJSONObject, isOptionalNumber, isOptionalString, isOptionalStringArray, isOptionalStringOrOIDInfo, isOptionalURL, isPCDFText, isPublicKeySubject, isString, isStringArray, isStringOrOIDInfo, isStringOrStringArray, isaListNameContext, jsonPrettyPrinter, measurementName2human, meterTimeZone, normalizePCDFPublicKeyHex, normalizeXMLText, ocmfBonnTariffToChargingTariff, openFullscreen, pad, parseAndVerifyJSONSignatures, parseDescription, parseEDL40, parseHexString, parseMennekesXMLDocument, parseNumber, parseOBIS, parseOCMFBonnTariffText, parsePCDFDocument, parsePCDFPublicKey, parsePCDFSignature, parseSmlTime, parseUTC, readQRCodeTextFromImage, readQRCodeTextFromImageData, readTLV, secp224k1, setUILocale, sha256, sha256____, sha384, sha384____, sha512, sha512____, signJSONMessage, signMessage, stripPCDFControlCharacters, stripTransport, time2human, timeZoneOffsetMinutes, toArrayBuffer, toSessionVerificationResults, toUint8Array, transformEDL40Status, tryParseOCMFBonnTariffText, unquotePCDFText, validatePCDFFields, verifyDocumentSignatures, verifyEDL40Document, verifyJSONMessageSignatureResults, verifyJSONMessageSignatures, verifyJSONSignature, verifyJSONSignatureResult, verifyPCDFDocument };
|
|
14136
|
+
export { ACrypt, Alfen, AlfenCrypt01, BSMCrypt01, CanonicalJSONError, ChargeIT, ChargePoint, ChargePointCrypt01, IChargeTransparencyLiveLink_exports as ChargeTransparencyLiveLink, ChargeTransparencyLiveLinkContext, IChargeTransparencyRecord_exports as ChargeTransparencyRecord, Chargy, chargyInterfaces_exports as ChargyInterfaces, Clone, CloneCTR, ConcatenateBuffers, CreateDiv, CreateDiv2, CreateError, CreateWarning, CryptoAlgorithms, CryptoHashAlgorithms, DayOfWeek, DisplayPrefixes, EDL40, EDL40Crypt01, EDL40ValidationError, EDL40_OBIS, EDL40_SESSION_CONTEXT, EDL40_SIGNATURE_CONTEXT, EMHCrypt01, ErrorLevel, GDFCrypt01, IECCurves, IEncoding, InformationRelevance, InformationRelevanceToString, IsAChargeTransparencyLiveLink, IsAChargeTransparencyRecord, IsAPublicKey, IsAPublicKeyLookup, IsAPublicKeySignature, IsAPublicKeyXY, IsASessionCryptoResult, IsAURL, IsNullOrEmpty, IsValidURL, JSONSignatureVerificationStatus, MENNEKES_EDL40_OBIS, MENNEKES_EDL40_XMLNS, Mennekes, MennekesCrypt01, OBIS2Hex, OBIS2MeasurementName, OBIS_RegExpr, OCMF, OCMFBonnTariffParseError, OCMFTransactionTypes, OCMF_SIGNATURE_ALGORITHMS, OCMFv1_x, OCPI, OIDInfo, PCDF, PCDFCrypt01, PCDFParseError, PCDFValidationError, PCDF_FIELD_ORDER, PCDF_PREFIX, PTB, ParseJSON_LD, PublicKeyFormats, IPublicKeyInfo_exports as PublicKeyInfo, SAFEXML, SessionVerificationResult, SetHex, SetInt8, SetText, SetText_withLength, SetTimestamp, SetTimestamp32, SetUInt32, SetUInt32_withCode, SetUInt64, SetUInt64D, SignMessage, SignatureFormats, IURL_exports as SimpleURL, TimeStatusTypes, URLContext, UTC2human, VerificationResult, VerifyJSONMessageSignatures, WarningLevel, WhenNullOrEmpty, XMLContainer, asJSONArray, asJSONObject, asNumber, asString, base64ToBytes, buf2hex, buildEDL40Signature, buildIsaSignature, buildMennekesSignatureData, bytesToBase64, bytesToHex, canParseEDL40, canonicalJSONBytes, canonicalJSONStringify, cleanHex, closeFullscreen, collectDocumentPublicKeys, createCompatibleCurve, createHexString, createLegacyP192Curve, dateToMennekesLocalEpochSeconds, decodeSmlMessages, defaultRefreshSeconds, extractMennekesChargingProcesses, findEntryByObis, findGetListRes, firstKey, firstValue, generateSignatureKeyPair, getArrayElement, getArrayLikeElement, getDirectChildByLocalName, getDirectChildrenByLocalName, getElementsByLocalName, getFirstArrayElement, getInt16Bytes, getInt32Bytes, getInt64Bytes, getInt8Bytes, getLastArrayElement, getOCMFSignatureDisplay, getSignatureSuite, getTrimmedTextContent, hashFile, hex2bin, hex32, hexToArrayBuffer, hexToBytes, intFromBytes, isCustomHeaderValue, isCustomHeaderValueProvider, isCustomHeaders, isEncodedValue, isGeoLocation, isI18NString, isICryptoResult, isIFileInfo, isISessionCryptoResult1, isISessionCryptoResult2, isJSONLDObject, isMandatoryArrayOfStrings, isMandatoryBoolean, isMandatoryDecimal, isMandatoryJSONArray, isMandatoryJSONObject, isMandatoryNumber, isMandatoryString, isMandatoryURL, isOIDInfo, isObject, isOptionalArrayOfStrings, isOptionalDecimal, isOptionalJSONArray, isOptionalJSONArrayError, isOptionalJSONArrayOk, isOptionalJSONObject, isOptionalNumber, isOptionalString, isOptionalStringArray, isOptionalStringOrOIDInfo, isOptionalURL, isPCDFText, isPublicKeySubject, isString, isStringArray, isStringOrOIDInfo, isStringOrStringArray, isaListNameContext, jsonPrettyPrinter, measurementName2human, meterTimeZone, normalizePCDFPublicKeyHex, normalizeXMLText, ocmfBonnTariffToChargingTariff, openFullscreen, pad, parseAndVerifyJSONSignatures, parseDescription, parseEDL40, parseHexString, parseMennekesXMLDocument, parseNumber, parseOBIS, parseOCMFBonnTariffText, parsePCDFDocument, parsePCDFPublicKey, parsePCDFSignature, parseSmlTime, parseUTC, readQRCodeTextFromImage, readQRCodeTextFromImageData, readTLV, secp224k1, setUILocale, sha256, sha256____, sha384, sha384____, sha512, sha512____, signJSONMessage, signMessage, stripPCDFControlCharacters, stripTransport, time2human, timeZoneOffsetMinutes, toArrayBuffer, toSessionVerificationResults, toUint8Array, transformEDL40Status, tryParseOCMFBonnTariffText, unquotePCDFText, validatePCDFFields, verifyDocumentSignatures, verifyEDL40Document, verifyJSONMessageSignatureResults, verifyJSONMessageSignatures, verifyJSONSignature, verifyJSONSignatureResult, verifyPCDFDocument };
|
|
14123
14137
|
//# sourceMappingURL=index.js.map
|
|
14124
14138
|
//# sourceMappingURL=index.js.map
|