SLBridge protocol v1: write doc/SLBRIDGE_PROTOCOL.md (envelope, registry, handshake/capabilities, rules, versioning) #1214

Open
opened 2026-10-28 16:42:53 +00:00 by sky_line · 0 comments
Owner

Part of #1213. Write the spec first; everything else implements it.

  • Envelope: #slb:<type>/<ver>|<fields>, escaping rules, maximum length (chat cap 1023 bytes; MAX_COMMAND_BYTES 1000 today), multi-line / chunking if any type needs it.
  • Handshake: the discovery channel derivation, hello fields (script version, private channel, object key, capability list), ping / quiet rules, re-handshake on region change.
  • Type registry table: name, version, direction, sender, fields, rate budget, consent requirement, owning feature / opt-in.
  • Rules: identity from the sim (llGetOwnerKey, dialog answerer), never trust keys in bodies, never speak first, budgets, inventory safety, opt-ins.
  • Versioning: bumping a type's version vs. adding a type; how the viewer and helper handle unknown or old types.
  • Public / third-party channel (see the third-party API ticket): channel ids, what's allowed.
  • Precedence: native LL protocol first (Game Control), RLV separate.

Lives in the repo so forks and script authors can follow it.

Part of #1213. Write the spec first; everything else implements it. - **Envelope:** `#slb:<type>/<ver>|<fields>`, escaping rules, maximum length (chat cap 1023 bytes; `MAX_COMMAND_BYTES` 1000 today), multi-line / chunking if any type needs it. - **Handshake:** the discovery channel derivation, hello fields (script version, private channel, object key, **capability list**), ping / quiet rules, re-handshake on region change. - **Type registry table:** name, version, direction, sender, fields, rate budget, consent requirement, owning feature / opt-in. - **Rules:** identity from the sim (`llGetOwnerKey`, dialog answerer), never trust keys in bodies, never speak first, budgets, inventory safety, opt-ins. - **Versioning:** bumping a type's version vs. adding a type; how the viewer and helper handle unknown or old types. - **Public / third-party channel** (see the third-party API ticket): channel ids, what's allowed. - **Precedence:** native LL protocol first (Game Control), RLV separate. Lives in the repo so forks and script authors can follow it.
sky_line added this to the Slipstream project 2026-10-28 16:42:53 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1214
No description provided.