Problem
ESPressio Command currently provides a strong transport-neutral CommandInvocation model and a text-oriented interpretation path, but structured transports such as HTTP, WebSocket, ESP-NOW, and machine-to-machine integrations must currently construct invocations themselves or flatten structured input into textual values.
JSON already carries structure and scalar type information, so treating it only as preformatted command text loses useful information and makes machine-oriented integrations less direct than they should be.
Proposed solution
Add a JSON-oriented Command interpreter alongside the existing text-oriented path, with both interpreters converging on the same transport-neutral CommandInvocation and CommandRegistry execution pipeline.
Evolve the structured invocation value model as needed so JSON scalar types can be preserved through interpretation rather than being immediately flattened to strings, while retaining existing text command behaviour and compatibility wherever practical.
Provide structured JSON results and machine-readable command discovery/schema output appropriate for programmatic consumers.
Add comprehensive automated tests covering parsing, typed values, validation, errors, compatibility with existing text invocation, result serialization, and discovery output.
Documentation must include concrete examples and be based on the current README enhancement branch.
Every related commit, PR, and discussion message must reference this issue.
Problem
ESPressio Command currently provides a strong transport-neutral
CommandInvocationmodel and a text-oriented interpretation path, but structured transports such as HTTP, WebSocket, ESP-NOW, and machine-to-machine integrations must currently construct invocations themselves or flatten structured input into textual values.JSON already carries structure and scalar type information, so treating it only as preformatted command text loses useful information and makes machine-oriented integrations less direct than they should be.
Proposed solution
Add a JSON-oriented Command interpreter alongside the existing text-oriented path, with both interpreters converging on the same transport-neutral
CommandInvocationandCommandRegistryexecution pipeline.Evolve the structured invocation value model as needed so JSON scalar types can be preserved through interpretation rather than being immediately flattened to strings, while retaining existing text command behaviour and compatibility wherever practical.
Provide structured JSON results and machine-readable command discovery/schema output appropriate for programmatic consumers.
Add comprehensive automated tests covering parsing, typed values, validation, errors, compatibility with existing text invocation, result serialization, and discovery output.
Documentation must include concrete examples and be based on the current README enhancement branch.
Every related commit, PR, and discussion message must reference this issue.