Continue AI features and improve protocol support

This commit is contained in:
2026-02-15 16:57:32 +00:00
parent 2d3b8fdac6
commit 85e97e895d
62 changed files with 5472 additions and 441 deletions

View File

@@ -80,8 +80,14 @@ class PersonIdentifierForm(RestrictedFormMixin, forms.ModelForm):
model = PersonIdentifier
fields = ("identifier", "service")
help_texts = {
"identifier": "The unique identifier (e.g., username or phone number) for the person.",
"service": "The platform associated with this identifier (e.g., Signal, Instagram).",
"identifier": (
"The unique identifier (e.g., username or phone number) "
"for the person."
),
"service": (
"The platform associated with this identifier "
"(e.g., Signal, WhatsApp, Instagram, XMPP)."
),
}
@@ -153,16 +159,27 @@ class PersonaForm(RestrictedFormMixin, forms.ModelForm):
help_texts = {
"alias": "The preferred name or identity for this persona.",
"mbti": "Select the Myers-Briggs Type Indicator (MBTI) personality type.",
"mbti_identity": "Identity assertiveness: -1 (Turbulent) to +1 (Assertive).",
"mbti_identity": (
"Identity assertiveness: -1 (Turbulent) to +1 (Assertive)."
),
"inner_story": "A brief background or philosophy that shapes this persona.",
"core_values": "The guiding principles and values of this persona.",
"communication_style": "How this persona prefers to communicate (e.g., direct, formal, casual).",
"communication_style": (
"How this persona prefers to communicate "
"(e.g., direct, formal, casual)."
),
"flirting_style": "How this persona expresses attraction.",
"humor_style": "Preferred style of humor (e.g., dry, dark, sarcastic).",
"likes": "Topics and things this persona enjoys discussing.",
"dislikes": "Topics and behaviors this persona prefers to avoid.",
"tone": "The general tone this persona prefers (e.g., formal, witty, detached).",
"response_tactics": "How this persona handles manipulation (e.g., gaslighting, guilt-tripping).",
"tone": (
"The general tone this persona prefers "
"(e.g., formal, witty, detached)."
),
"response_tactics": (
"How this persona handles manipulation "
"(e.g., gaslighting, guilt-tripping)."
),
"persuasion_tactics": "The methods this persona uses to convince others.",
"boundaries": "What this persona will not tolerate in conversations.",
"trust": "Initial trust level (0-100) given in interactions.",
@@ -182,7 +199,9 @@ class ManipulationForm(RestrictedFormMixin, forms.ModelForm):
"persona": "The persona used for this manipulation.",
"enabled": "Whether this manipulation is enabled.",
"mode": "Mode of operation.",
"filter_enabled": "Whether incoming messages will be filtered using the persona.",
"filter_enabled": (
"Whether incoming messages will be filtered using the persona."
),
}
@@ -199,12 +218,27 @@ class SessionForm(RestrictedFormMixin, forms.ModelForm):
class MessageForm(RestrictedFormMixin, forms.ModelForm):
class Meta:
model = Message
fields = ("session", "sender_uuid", "text", "custom_author")
fields = (
"session",
"sender_uuid",
"text",
"custom_author",
"delivered_ts",
"read_ts",
"read_source_service",
"read_by_identifier",
"receipt_payload",
)
help_texts = {
"session": "Chat session this message was sent in.",
"sender_uuid": "UUID of the sender.",
"text": "Content of the message.",
"custom_author": "For detecting USER and BOT messages.",
"delivered_ts": "Delivery timestamp in unix milliseconds, if known.",
"read_ts": "Read timestamp in unix milliseconds, if known.",
"read_source_service": "Service that reported this read receipt.",
"read_by_identifier": "Identifier that read this message.",
"receipt_payload": "Raw normalized receipt metadata.",
}