Add engagement-only conversation mode
This commit is contained in:
1 parent
b7fcc7db05
commit
7af7b211fa
24 files changed
+204
-23
No files matched your search
@@ -477,6 +477,8 @@ function ConversationComposer({ conversation, conversationId }: { conversation:
|
||||
|
||||
function automationStatusMessage(conversation: ConversationDetailResponse): string {
|
||||
switch (conversation.automation.status) {
|
||||
case 'engaged':
|
||||
return 'Reply received. The engagement goal is complete and no automated response will be sent.';
|
||||
case 'killed':
|
||||
return conversation.automation.handoffReason
|
||||
?? 'Automation ended this conversation as a seller or off-platform push.';
|
||||
|
||||
@@ -91,7 +91,8 @@ export function isWaitingOnThem(conversation: ActiveChat): boolean {
|
||||
* True when the reply loop is no longer sending on its own, so every further
|
||||
* message has to be written by an operator: either the subreddit's policy was
|
||||
* manual from the start, or automation handed the conversation over (a manual
|
||||
* reply was sent, an image arrived, a boundary or turn limit was hit).
|
||||
* reply was sent, an image arrived, a boundary or turn limit was hit). Terminal
|
||||
* engagement successes and killed conversations are completed, not manual.
|
||||
*
|
||||
* Conversations with no recorded automation state are not manual — they have
|
||||
* simply never been through the reply loop.
|
||||
@@ -100,6 +101,7 @@ export function isManualFlow(conversation: ActiveChat): boolean {
|
||||
if (conversation.automationPolicyMode === 'manual') return true;
|
||||
return conversation.automationStatus !== undefined
|
||||
&& conversation.automationStatus !== 'active'
|
||||
&& conversation.automationStatus !== 'engaged'
|
||||
&& conversation.automationStatus !== 'killed';
|
||||
}
|
||||
|
||||
|
||||
@@ -48,6 +48,13 @@ export const conversationModes: ReadonlyArray<ConversationModeMeta> = [
|
||||
description: 'The existing three-turn flow that works toward a media request.',
|
||||
isAutonomous: false,
|
||||
},
|
||||
{
|
||||
value: 'engagement',
|
||||
label: 'Engagement only',
|
||||
badge: 'Engagement',
|
||||
description: 'Sends the opener, records the first incoming reply as success, then ends without an automated response.',
|
||||
isAutonomous: false,
|
||||
},
|
||||
{
|
||||
value: 'r4r',
|
||||
label: 'Autonomous conversation',
|
||||
|
||||
Reference in new issue
Block a user