@mhome/conversation-protocol 3.1.0 → 3.1.2
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/README.md +4 -0
- package/manifest/targets.v1.json +1 -1
- package/package.json +1 -1
- package/protocol.json +1 -1
package/README.md
CHANGED
|
@@ -46,3 +46,7 @@ snapshot. Version 3 stores `capabilities.input` as `image|video|audio|file` inst
|
|
|
46
46
|
`vision: bool`. An old plan without the snapshot, or with `vision`, fails decoding instead
|
|
47
47
|
of silently changing behavior. This development contract change must be published and
|
|
48
48
|
adopted by Lion and Cloud together before deployment.
|
|
49
|
+
|
|
50
|
+
### Strict execution envelope decoding
|
|
51
|
+
|
|
52
|
+
Execution commands, events, facade responses and their typed nested objects reject undeclared fields, including null-valued unknown fields. Opaque JSON inputs/results and model continuation payloads remain extensible; known optional null fields remain accepted. Enforcement lives on the typed DTOs as well as the wire entry point because Serde's internally tagged enum buffering bypasses an outer `serde_ignored` observer. Tagged unit variants explicitly require an empty remaining map. This restores the existing wire-v1 contract without changing its message shape or major version.
|
package/manifest/targets.v1.json
CHANGED
package/package.json
CHANGED