HPPR Command Messages

Tags: wire, command

© R.A.Sol

HPPR endpoints exchange command messages. A command service defines the command names it accepts, the request envelope it requires, and the authorization rules for each command.

A command message is a packet or packet-shaped envelope carrying:

Command names that belong to HPPR itself start with 🖧, for example 🖧GET and 🖧HELLO.

Null Command Packets

The sentinel hash 0.H3 is never computed or verified.

Use 0.H3 for:

Null packets are never stored in repository storage.

🖧: 0.H3
[Header: value]*
Data-Length: <len>

<data>

Header rules follow 010 for format, encoding, control bytes, line endings, and line length. Differences from Plex:

Command Services

A command service chooses:

The HPPR Repository Service defines the standard repository command set in 041.

HELLO Command

🖧HELLO requests command-flow capabilities and endpoint metadata.

A transport MAY deliver equivalent greeting metadata earlier in connection setup. The 🖧HELLO command remains the generic capability query and refresh operation when the endpoint accepts it.

The generic Null HELLO request is:

🖧: 0.H3
API: 🖧HELLO
Data-Length: 0

HELLO response headers are defined in 032.

Errors

Generic network errors are Null packets. Data starts with one status line:

Trusted or local endpoints MAY add Status: ok|error|fatal as an endpoint convention. Clients may use Status when present, but parsing the ERROR or FATAL data prefix is the generic error rule.

Standard generic error types:

Services MAY define additional error types and details.

Example:

🖧: 0.H3
Data-Length: 21

ERROR NOT_FOUND missing