Expand description
Shared message-action dispatch for transport plugins and engine embedders.
Every inbound channel message is a name plus a Vars payload. This
module maps the name to the matching engine operation (process/model/act/
msg/evt/snapshot) and returns the JSON-serialized result. Transport plugins
(acts-plugin-grpc, acts-plugin-nats, acts-plugin-web) authenticate the
request into a crate::Principal and call apply_as; apply is the
anonymous in-process entry. Every transport speaks one action set and the
table is maintained in a single place.
Error kinds map to transport semantics:
Error::NotFound— unknown action name (not found)Error::Invalid— malformed/missing payload fields (invalid argument)Error::Unauthenticated— no credential, or one selecting no roleError::Denied— a credential without the right for this action/scopeError::Internal— engine/store failure (internal error)
Enums§
- Error
- Action dispatch failure.
Functions§
- apply
- Apply a channel message action as an anonymous in-process caller.
- apply_
as - Apply a channel message action on behalf of an authenticated principal.