Skip to content

Commit 0cce190

Browse files
committed
Merge branch 'develop'
2 parents 51b8a4c + 354ba80 commit 0cce190

File tree

10 files changed

+24
-21
lines changed

10 files changed

+24
-21
lines changed

back/back/apps/broker/consumers/bots/custom_ws.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ async def gather_initial_conversation_metadata(self):
3434
_meta = params.get(b"metadata", [b"{}"])
3535
return json.loads(_meta[0])
3636

37-
async def gather_fsm_state_overwrite(self):
37+
async def gather_fsm_state_override(self):
3838
params = parse_qs(self.scope["query_string"])
39-
state = params.get(b"state_overwrite", "")
39+
state = params.get(b"state_override", "")
4040
return state[0].decode('utf-8') if state else None
4141

4242
@classmethod

back/back/apps/fsm/lib/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,11 @@ async def next_state(self):
125125
is reached it makes sure everything is saved and cached into the DB to keep the system stateful
126126
"""
127127
transitions = self.get_current_state_transitions()
128-
state_overwrite = self.get_state_by_name(self.ctx.conversation.fsm_state_overwrite)
129-
if state_overwrite:
128+
129+
if state_override := self.get_state_by_name(self.ctx.conversation.fsm_state_override):
130130
logger.debug("Overriding FSM state")
131131
logger.debug(f"FSM from ---> {self.current_state}")
132-
self.current_state = state_overwrite
132+
self.current_state = state_override
133133
logger.debug(f"FSM to -----> {self.current_state}")
134134
await self.run_current_state_events()
135135
else:

back/back/common/abs/bot_consumers/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,9 @@ def gather_initial_conversation_metadata(self, mml: "Message"):
128128
"Implement a method that creates/gathers the conversation covnersation metadata"
129129
)
130130

131-
def gather_fsm_state_overwrite(self, mml: "Message"):
131+
def gather_fsm_state_override(self, mml: "Message"):
132132
raise NotImplemented(
133-
"Implement a method that gathers the fsm state overwrite"
133+
"Implement a method that gathers the fsm state override"
134134
)
135135

136136
def gather_conversation_id(self, mml: "Message"):
@@ -152,14 +152,14 @@ async def authenticate(self):
152152
and not isinstance(self.scope["user"], AnonymousUser)
153153
)
154154

155-
async def set_conversation(self, platform_conversation_id, initial_conversation_metadata, authentication_required, fsm_state_overwrite=None):
155+
async def set_conversation(self, platform_conversation_id, initial_conversation_metadata, authentication_required, fsm_state_override=None):
156156
self.conversation, created = await Conversation.objects.aget_or_create(
157157
platform_conversation_id=platform_conversation_id
158158
)
159159
if created:
160160
self.conversation.initial_conversation_metadata = initial_conversation_metadata
161161
self.conversation.authentication_required = authentication_required
162-
self.conversation.fsm_state_overwrite = fsm_state_overwrite
162+
self.conversation.fsm_state_override = fsm_state_override
163163
await database_sync_to_async(self.conversation.save)()
164164

165165
def set_fsm_def(self, fsm_def):

back/back/common/abs/bot_consumers/http.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ async def handle(self, body):
7070
self.gather_conversation_id(serializer.validated_data),
7171
await self.gather_initial_conversation_metadata(serializer.validated_data),
7272
self.fsm_def.authentication_required,
73-
await self.gather_fsm_state_overwrite(serializer.validated_data)
73+
await self.gather_fsm_state_override(serializer.validated_data)
7474
)
7575

7676
mml = await database_sync_to_async(serializer.to_mml)(self)

back/back/common/abs/bot_consumers/ws.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ async def connect(self):
2828
self.set_fsm_def(fsm_def)
2929
self.set_user_id(await self.gather_user_id())
3030

31-
await self.set_conversation(self.gather_conversation_id(), await self.gather_initial_conversation_metadata(), self.fsm_def.authentication_required, await self.gather_fsm_state_overwrite())
31+
await self.set_conversation(self.gather_conversation_id(), await self.gather_initial_conversation_metadata(), self.fsm_def.authentication_required, await self.gather_fsm_state_override())
3232
if not await self.authenticate():
3333
await self.close(3000, reason="`Authentication failed`")
3434

sdk/examples/llm_example/fsm_definition.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from chatfaq_sdk import ChatFAQSDK
22
from chatfaq_sdk.fsm import FSMDefinition, State, Transition
3-
from chatfaq_sdk.layers import Message, StreamingMessage
3+
from chatfaq_sdk.layers import Message, StreamingMessage, TextFeedback, ThumbsRating
44
from chatfaq_sdk.clients import llm_request
55
from chatfaq_sdk.utils import convert_mml_to_llm_format
66

@@ -24,6 +24,8 @@ async def send_answer(sdk: ChatFAQSDK, ctx: dict):
2424
)
2525

2626
yield StreamingMessage(generator)
27+
yield ThumbsRating()
28+
yield TextFeedback(placeholder="What did you think of this answer?")
2729

2830

2931
greeting_state = State(name="Greeting", events=[send_greeting], initial=True)

widget/components/Widget.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ const props = defineProps({
7373
previewMode: Boolean,
7474
customCss: String,
7575
initialConversationMetadata: String,
76-
stateOverwrite: String,
76+
stateOverride: String,
7777
customIFramedMsgs: String,
7878
stickInputPrompt: Boolean,
7979
speechRecognition: Boolean,
@@ -96,7 +96,7 @@ const props = defineProps({
9696
9797
const jsonProps = [
9898
"initialConversationMetadata",
99-
"stateOverwrite",
99+
"stateOverride",
100100
"customIFramedMsgs"
101101
]
102102
@@ -187,7 +187,7 @@ function initStore() {
187187
}
188188
store.customIFramedMsgs = data.customIFramedMsgs
189189
store.initialConversationMetadata = data.initialConversationMetadata
190-
store.stateOverwrite = data.stateOverwrite
190+
store.stateOverride = data.stateOverride
191191
192192
store.fsmDef = data.fsmDef;
193193
store.title = data.title;

widget/components/chat/Chat.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,13 +157,13 @@ function createConnection() {
157157
}
158158
159159
160-
if (store.stateOverwrite) {
160+
if (store.stateOverride) {
161161
if (queryParams.length) {
162162
queryParams += "&"
163163
} else {
164164
queryParams = "?"
165165
}
166-
queryParams += `state_overwrite=${encodeURIComponent(store.stateOverwrite)}`
166+
queryParams += `state_override=${encodeURIComponent(store.stateOverride)}`
167167
}
168168
169169
ws = new WebSocket(

widget/pages/index.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<client-only>
33
<Widget :chatfaqWs="chatfaqWS" :chatfaqApi="chatfaqAPI" :fsmDef="fsmDef" :title="title"
44
:subtitle="subtitle" enable-logout :allow-attachments="true"
5-
:hideSources="hideSources" :stateOverwrite="stateOverwrite"
5+
:hideSources="hideSources" :stateOverride="stateOverride" :widgetConfigId="widgetId"
66
/>
77
</client-only>
88
</template>
@@ -17,10 +17,11 @@ const title = ref("Hello there 👋")
1717
const subtitle = ref("How can we help you?")
1818
const fsmDef = ref("llm_fsm")
1919
const hideSources = ref(false)
20-
const stateOverwrite = ref(null)
20+
const stateOverride = ref(null)
21+
const widgetId = ref("6a5fb833-cdcf-468a-ac22-8f1c2b7b1672")
2122
2223
onMounted(() => {
2324
const urlParams = new URLSearchParams(window.location.search);
24-
stateOverwrite.value = urlParams.get('state');
25+
stateOverride.value = urlParams.get('state_override');
2526
})
2627
</script>

widget/store/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const useGlobalStore = defineStore('globalStore', {
3737
downloading: false,
3838
isPhone: false,
3939
initialConversationMetadata: {},
40-
stateOverwrite: undefined,
40+
stateOverride: undefined,
4141
customIFramedMsgs: {},
4242
speechRecognition: false,
4343
_speechRecognitionTranscribing: false,

0 commit comments

Comments
 (0)