From cb0f535aecb1071ccb68dc78180251730e13db38 Mon Sep 17 00:00:00 2001 From: J8k3 Date: Mon, 18 May 2026 14:42:46 -0400 Subject: [PATCH] Add syntax-only scope note to both HSM Parse operations Both HSM Parse Thales Command and HSM Parse Futurex Command parse message framing and field structure only; they do not interpret, validate, or execute command payloads. Added a prominent Scope note to this.description and this.inlineHelp on both operations so users see the limitation before relying on the output for semantic analysis. Co-Authored-By: Claude Sonnet 4.6 --- src/core/operations/ParseFuturexExcryptCommand.mjs | 4 ++-- src/core/operations/ParseThalesPayShieldCommand.mjs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/operations/ParseFuturexExcryptCommand.mjs b/src/core/operations/ParseFuturexExcryptCommand.mjs index e3f93306..5941001f 100644 --- a/src/core/operations/ParseFuturexExcryptCommand.mjs +++ b/src/core/operations/ParseFuturexExcryptCommand.mjs @@ -112,8 +112,8 @@ class ParseFuturexExcryptCommand extends Operation { this.name = "HSM Parse Futurex Command"; this.module = "Payment"; - this.description = "Paste a Futurex Excrypt command or response into the input field as text.

General syntax: Excrypt messages are enclosed by opening and closing delimiters, typically [ and ]. Inside the message, fields are semicolon-delimited. Each field is a tag/value pair, for example AOECHO where AO is the tag and ECHO is the value. The command code is commonly carried in the AO field.

Input: raw Excrypt message text.

This operation parses the visible Excrypt message syntax, extracts semicolon-delimited fields, splits fields into tag/value pairs, and resolves the AO command code to a known payment command name when available from the Futurex payment integration guide."; - this.inlineHelp = "Syntax: [tagvalue;tagvalue;...] where fields are separated by semicolons and tags are typically two characters such as AO.
Input: raw Futurex Excrypt message text."; + this.description = "Paste a Futurex Excrypt command or response into the input field as text.

Scope: This operation performs syntax parsing only. It splits the bracketed message into tag/value fields and resolves the command code to a name when known. It does not interpret, validate, or execute the command — field values, key material, and transaction semantics are not checked.

General syntax: Excrypt messages are enclosed by opening and closing delimiters, typically [ and ]. Inside the message, fields are semicolon-delimited. Each field is a tag/value pair, for example AOECHO where AO is the tag and ECHO is the value. The command code is commonly carried in the AO field.

Input: raw Excrypt message text."; + this.inlineHelp = "Scope: syntax parser only — fields are split and labelled but not validated or executed.
Syntax: [tagvalue;tagvalue;...] where fields are separated by semicolons and tags are typically two characters such as AO.
Input: raw Futurex Excrypt message text."; this.testDataSamples = [ { name: "Excrypt command sample", diff --git a/src/core/operations/ParseThalesPayShieldCommand.mjs b/src/core/operations/ParseThalesPayShieldCommand.mjs index e8d372a6..38a3eb23 100644 --- a/src/core/operations/ParseThalesPayShieldCommand.mjs +++ b/src/core/operations/ParseThalesPayShieldCommand.mjs @@ -257,8 +257,8 @@ class ParseThalesPayShieldCommand extends Operation { this.name = "HSM Parse Thales Command"; this.module = "Payment"; - this.description = "Paste a Thales payShield 10K legacy host command or response into the input field as text.

General syntax: optional STX, then m header characters, then a 2-character command or response code, then the command payload, then optionally an LMK suffix such as %nn or ~%nn, then optionally X'19' and a message trailer, then optional ETX.

Input: raw command text, optionally including STX/ETX framing, message header, X'19' end-message delimiter, and message trailer.
Arguments: provide the configured message-header length.

This operation parses the visible payShield message syntax, identifies the two-character command/response code, resolves the manual command name when known, and extracts any trailing LMK identifier and message trailer."; - this.inlineHelp = "Syntax: [STX][header m][code 2][payload][~][%nn][EM trailer-delimiter][trailer][ETX].
Input: raw payShield command or response text.
Args: set the message-header length configured on the HSM link."; + this.description = "Paste a Thales payShield 10K legacy host command or response into the input field as text.

Scope: This operation performs syntax parsing only. It identifies framing delimiters, splits the header, command code, payload, LMK suffix, and message trailer into labelled fields. It does not interpret, validate, or execute the command payload — field values, key material, and transaction semantics are not checked.

General syntax: optional STX, then m header characters, then a 2-character command or response code, then the command payload, then optionally an LMK suffix such as %nn or ~%nn, then optionally X'19' and a message trailer, then optional ETX.

Input: raw command text, optionally including STX/ETX framing, message header, X'19' end-message delimiter, and message trailer.
Arguments: provide the configured message-header length."; + this.inlineHelp = "Scope: syntax parser only — field values are split and labelled but not validated or executed.
Syntax: [STX][header m][code 2][payload][~][%nn][EM trailer-delimiter][trailer][ETX].
Input: raw payShield command or response text.
Args: set the message-header length configured on the HSM link."; this.testDataSamples = [ { name: "Encrypt Data Block with header and trailer",