forked from BasedHardware/omi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconversation_enums.py
More file actions
120 lines (100 loc) · 3.15 KB
/
Copy pathconversation_enums.py
File metadata and controls
120 lines (100 loc) · 3.15 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
from enum import Enum
class CategoryEnum(str, Enum):
personal = 'personal'
education = 'education'
health = 'health'
finance = 'finance'
legal = 'legal'
philosophy = 'philosophy'
spiritual = 'spiritual'
science = 'science'
entrepreneurship = 'entrepreneurship'
parenting = 'parenting'
romance = 'romantic'
travel = 'travel'
inspiration = 'inspiration'
technology = 'technology'
business = 'business'
social = 'social'
work = 'work'
sports = 'sports'
politics = 'politics'
literature = 'literature'
history = 'history'
architecture = 'architecture'
# Added at 2024-01-23
music = 'music'
weather = 'weather'
news = 'news'
entertainment = 'entertainment'
psychology = 'psychology'
real = 'real'
design = 'design'
family = 'family'
economics = 'economics'
environment = 'environment'
other = 'other'
class ConversationSource(str, Enum):
friend = 'friend'
omi = 'omi'
fieldy = 'fieldy'
bee = 'bee'
plaud = 'plaud'
frame = 'frame'
friend_com = 'friend_com'
apple_watch = 'apple_watch'
phone = 'phone'
phone_call = 'phone_call'
desktop = 'desktop'
openglass = 'openglass'
screenpipe = 'screenpipe'
workflow = 'workflow'
sdcard = 'sdcard'
external_integration = 'external_integration'
limitless = 'limitless'
rayban_meta = 'rayban_meta'
onboarding = 'onboarding'
unknown = 'unknown'
@classmethod
def _missing_(cls, value: object):
if isinstance(value, str):
return cls.unknown
return None
class ConversationVisibility(str, Enum):
private = 'private'
shared = 'shared'
public = 'public'
class PostProcessingStatus(str, Enum):
not_started = 'not_started'
in_progress = 'in_progress'
completed = 'completed'
canceled = 'canceled'
failed = 'failed'
class ConversationStatus(str, Enum):
in_progress = 'in_progress'
processing = 'processing'
merging = 'merging'
completed = 'completed'
failed = 'failed'
class PostProcessingModel(str, Enum):
fal_whisperx = 'fal_whisperx'
prerecorded = 'prerecorded'
class ExternalIntegrationConversationSource(str, Enum):
audio = 'audio_transcript'
message = 'message'
other = 'other_text'
class ConversationProcessingState(str, Enum):
"""Why a conversation's ``structured`` holds the §1.7 deterministic minimum.
Absent (``None``) on every conversation the server enriched itself, and on a
conversation that already carries a ``client_processing`` projection.
Clients check ``client_processing`` FIRST: a projection that arrives after
the terminal persist is stamped by its own ingress mutation and does not
rewrite this field, so a projected conversation may still read
``local_pending`` and must render the projection regardless.
- ``local_pending``: a capable client is expected to deliver a projection.
Render a spinner with a timeout, not a permanent empty state.
- ``none``: no projection is coming. Render "Summary unavailable on the
free plan".
"""
local_pending = 'local_pending'
none = 'none'