1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! [`EventSubject`]: the entity an event is *about* or *initiated by*.
//!
//! Two envelope fields use this type: `subject` (whose state changed,
//! who failed an attempt) and `actor` (who initiated). They differ for
//! impersonation (`actor` = admin, `subject` = impersonated user) and
//! for autonomous flows (`actor` = system principal).
// Module-level `allow(missing_docs)` covers the rkyv-generated
// `ArchivedEventSubject` and `EventSubjectResolver` types; rkyv 0.8
// emits undocumented variant fields on the resolver enum and the
// `attr(...)` helper does not propagate down into them. Every type
// authored here is fully documented by hand.
use crate;
use crateKindTag;
use ShortString;
/// Tagged identifier for an entity referenced by an event.
///
/// The first four variants cover the typed identifiers shared across
/// the workspace; [`EventSubject::Other`] is the escape hatch for
/// domain-specific subjects (governance object id, valuation grid id,
/// …) that the envelope crate doesn't need to understand.