diff --git a/src/lib/common/RemoteSearchInput.svelte b/src/lib/common/RemoteSearchInput.svelte
index a38f6d9c..f02e44de 100644
--- a/src/lib/common/RemoteSearchInput.svelte
+++ b/src/lib/common/RemoteSearchInput.svelte
@@ -1,84 +1,85 @@
- 0 || loading)} toggle={() => isOpen = !isOpen}>
-
-
-
-
- {#if loading}
-
-
-
- {:else}
- {#each searchResults as result, index}
- selectResult(result)}
- title={result.name}
- >
- {result.name}
-
- {/each}
- {/if}
-
-
-
\ No newline at end of file
+ 0 || loading)}
+ toggle={() => (isOpen = !isOpen)}
+ >
+
+
+
+
+ {#if loading}
+
+ {:else}
+ {#each searchResults as result, index}
+ selectResult(result)}
+ title={typeof result === 'string' ? result : result?.name}
+ >
+ {typeof result === 'string' ? result : result?.name}
+
+ {/each}
+ {/if}
+
+
+
diff --git a/src/lib/helpers/http.js b/src/lib/helpers/http.js
index 4a113b32..319d5545 100644
--- a/src/lib/helpers/http.js
+++ b/src/lib/helpers/http.js
@@ -90,7 +90,7 @@ function skipLoader(config) {
new RegExp('http(s*)://(.*?)/role/(.*?)/details', 'g'),
new RegExp('http(s*)://(.*?)/user/(.*?)/details', 'g'),
new RegExp('http(s*)://(.*?)/agent/labels', 'g'),
- new RegExp('http(s*)://(.*?)/conversation/state-search', 'g'),
+ new RegExp('http(s*)://(.*?)/conversation/state-key', 'g'),
];
if (config.method === 'post' && postRegexes.some(regex => regex.test(config.url || ''))) {
diff --git a/src/lib/services/api-endpoints.js b/src/lib/services/api-endpoints.js
index b42c4cb3..77d4ba8f 100644
--- a/src/lib/services/api-endpoints.js
+++ b/src/lib/services/api-endpoints.js
@@ -67,7 +67,6 @@ export const endpoints = {
conversationTagsUpdateUrl: `${host}/conversation/{conversationId}/update-tags`,
fileUploadUrl: `${host}/agent/{agentId}/conversation/{conversationId}/upload`,
pinConversationUrl: `${host}/agent/{agentId}/conversation/{conversationId}/dashboard`,
- conversationStateValueUrl: `${host}/conversation/state-search`,
conversationStateKeyListUrl: `${host}/conversation/state-key`,
// LLM provider
diff --git a/src/lib/services/conversation-service.js b/src/lib/services/conversation-service.js
index 16124019..1bb4140b 100644
--- a/src/lib/services/conversation-service.js
+++ b/src/lib/services/conversation-service.js
@@ -290,36 +290,24 @@ export async function getAddressOptions(text) {
return response.data;
}
-/**
- * get conversation state key list
- * @returns {Promise<{id: string, name: string, description: string}[]>}
- */
-export async function getConversationStateKey() {
- let url = endpoints.conversationStateKeyListUrl;
- const response = await axios.get(url);
- return response.data;
-}
-
/** @type {import('axios').CancelTokenSource | null} */
-let getConversationStateValueCancelToken = null;
+let getConversationStatKeyCancelToken = null;
/**
- * get conversation state value
- * @param {string} key
+ * get conversation state key list
* @param {string} query
* @returns {Promise<{id: string, name: string}[]>}
*/
-export async function getConversationStateValue(key, query) {
- let url = endpoints.conversationStateValueUrl;
- if (getConversationStateValueCancelToken) {
- getConversationStateValueCancelToken.cancel();
+export async function getConversationStateKey(query) {
+ let url = endpoints.conversationStateKeyListUrl;
+ if (getConversationStatKeyCancelToken) {
+ getConversationStatKeyCancelToken.cancel();
}
- getConversationStateValueCancelToken = axios.CancelToken.source();
+ getConversationStatKeyCancelToken = axios.CancelToken.source();
const response = await axios.get(url, {
params: {
- conversatinFilterType: key,
searchKey: query
},
- cancelToken: getConversationStateValueCancelToken.token
+ cancelToken: getConversationStatKeyCancelToken.token
});
return response.data;
}
\ No newline at end of file
diff --git a/src/routes/page/agent/[agentId]/agent-components/agent-overview.svelte b/src/routes/page/agent/[agentId]/agent-components/agent-overview.svelte
index 8135eb9c..9a7b092e 100644
--- a/src/routes/page/agent/[agentId]/agent-components/agent-overview.svelte
+++ b/src/routes/page/agent/[agentId]/agent-components/agent-overview.svelte
@@ -136,7 +136,7 @@
class="form-check-input"
type="checkbox"
bind:checked={agent.is_public}
- on:input={handleAgentChange}
+ on:change={handleAgentChange}
id="is_public"
/>
@@ -151,7 +151,7 @@
class="form-check-input"
type="checkbox"
bind:checked={agent.allow_routing}
- on:input={handleAgentChange}
+ on:change={handleAgentChange}
id="allow_routing"
/>
@@ -244,7 +244,7 @@
class="form-check-input"
type="checkbox"
bind:checked={agent.disabled}
- on:input={handleAgentChange}
+ on:change={handleAgentChange}
id="disabled"
/>
diff --git a/src/routes/page/conversation/+page.svelte b/src/routes/page/conversation/+page.svelte
index 78deb99d..ea355fa2 100644
--- a/src/routes/page/conversation/+page.svelte
+++ b/src/routes/page/conversation/+page.svelte
@@ -15,7 +15,7 @@
import LoadingToComplete from '$lib/common/LoadingToComplete.svelte';
import { onMount } from 'svelte';
import { getAgents } from '$lib/services/agent-service';
- import { getConversations, deleteConversation, getConversationStateKey, getConversationStateValue } from '$lib/services/conversation-service.js';
+ import { getConversations, deleteConversation, getConversationStateKey } from '$lib/services/conversation-service.js';
import { utcToLocal } from '$lib/helpers/datetime';
import Swal from 'sweetalert2';
import lodash from "lodash";
@@ -70,27 +70,17 @@
tags: []
};
- /** @type {any[]} */
- let stateOptions = [];
+ /** @type {string} */
+ let stateKey = "";
/** @type {string | null} */
- let selectedStateKey = null;
-
- /** @type {{id: string, name: string} | null} */
- let selectedStateValue;
-
- /** @type {boolean} */
- let isValueEditable = false;
-
- /** @type {RemoteSearchInput} */
- let remoteSearchInput;
+ let stateValue = null;
onMount(async () => {
isLoading = true;
Promise.all([
loadAgentOptions(),
loadSearchOption(),
- loadStates(),
loadConversations()])
.finally(() => {
isLoading = false
@@ -229,12 +219,12 @@
* @param {any} e
*/
function handleConfirmStateModal(e) {
- if (selectedStateKey && selectedStateValue?.id) {
+ if (stateKey && stateValue) {
searchOption.states = [
{
- key: { data: stateOptions.find(x => Number(x.id) === Number(selectedStateKey))?.description, isValid: true },
- value: {data: selectedStateValue.id, isValid: true },
- active_rounds: {data: 0, isValid: true},
+ key: { data: stateKey, isValid: true },
+ value: {data: stateValue, isValid: true },
+ active_rounds: {data: -1, isValid: true},
}
];
} else {
@@ -348,28 +338,12 @@
}
}
- async function loadStates() {
- const response = await getConversationStateKey();
- stateOptions = response;
- }
-
- /**
- * @param { any } e
- */
- function handleStateChange(e) {
- selectedStateKey = e.target.value;
- isValueEditable = !!selectedStateKey;
- selectedStateValue = null;
- remoteSearchInput?.clearSearchResults();
- }
-
/**
* @param {any} query
*/
- async function handleValueSearch(query) {
- if (!selectedStateKey) return [];
- const response = await getConversationStateValue(selectedStateKey, query);
- return response;
+ async function handleStateSearch(query) {
+ const response = await getConversationStateKey(query);
+ return response || [];
}
@@ -386,20 +360,18 @@
-
+
-