- {#if validReferences.length > 0}
+ {#if (message.references || []).length > 0}
Source
- {#each validReferences.slice(0, showAllLinks ? validReferences.length : 2) as link}
+ {#each (message.references || []).slice(0, $expandedMessages.has(message.role + index) ? message?.references?.length : 2) as link}
{#if link.url}
-
{link.url}
+ {#await Promise.resolve(formatUrl(link.url)) then { icon, text }}
+
+
+
+ /{text}
+
+
+ {/await}
{/if}
{/each}
- {#if validReferences.length > 2}
+ {#if (message.references || []).length > 2}
+ toggleShowLinks(message.role + index)}
class="mt-2 text-blue-500 hover:text-blue-700 underline cursor-pointer"
>
- {showAllLinks ? "Read Less" : "Read More"}
+ {$expandedMessages.has(message.role + index)
+ ? "Read Less"
+ : "Read More"}
{/if}
{/if}
diff --git a/web/src/lib/components/chat/ChatWindow.svelte b/web/src/lib/components/chat/ChatWindow.svelte
index 13a4e261..f58d3d91 100644
--- a/web/src/lib/components/chat/ChatWindow.svelte
+++ b/web/src/lib/components/chat/ChatWindow.svelte
@@ -17,6 +17,7 @@
export let agentLogo: string = "";
export let agentVersion: string = "1.0.3";
export let agentPrivate: boolean = false;
+ export let agentIsDataSourceIndexed: boolean = true;
let agentReferences: Array
= [];
let messageLoading: boolean = false;
@@ -35,7 +36,6 @@
messageLoading = true;
messages = [...messages, { role: "user", text: message }];
- debugger;
const agentData = {
@@ -49,7 +49,6 @@
message = "";
try {
- debugger;
const response = await fetch(
"https://api.commanddash.dev/v2/ai/agent/answer",
{
@@ -64,9 +63,8 @@
const modelResponse = await response.json();
messages = [
...messages,
- { role: "model", text: modelResponse.response },
+ { role: "model", text: modelResponse.response, references: modelResponse.references },
];
- agentReferences = modelResponse.references;
} catch (error) {
console.log("error", error);
}
@@ -83,7 +81,7 @@
{#if messages.length > 0}
{#if !loading}
-
+
{#if messageLoading}
{#if LottiePlayer}
{/if}
diff --git a/web/src/lib/types/Agent.ts b/web/src/lib/types/Agent.ts
index bc98ee9a..816ae6a0 100644
--- a/web/src/lib/types/Agent.ts
+++ b/web/src/lib/types/Agent.ts
@@ -4,6 +4,7 @@ export type Agent = {
system_prompt: string,
version: string
},
+ data_sources_indexed: boolean,
description: string,
metadata: {
avatar_id: string,
diff --git a/web/src/lib/types/Message.ts b/web/src/lib/types/Message.ts
index 06ed00ef..d41f463a 100644
--- a/web/src/lib/types/Message.ts
+++ b/web/src/lib/types/Message.ts
@@ -1,4 +1,5 @@
export type Message = {
role: "user" | "model";
text: string,
+ references?: any[],
}
\ No newline at end of file
diff --git a/web/src/routes/agent/+page.svelte b/web/src/routes/agent/+page.svelte
new file mode 100644
index 00000000..616f1658
--- /dev/null
+++ b/web/src/routes/agent/+page.svelte
@@ -0,0 +1,64 @@
+
+
+{#if currentAgentDetails}
+
+{/if}
+
+{#if loading}
+
+{:else if !loading && !currentAgentDetails}
+
+
Error:
+ Something went wrong
+
+{/if}
diff --git a/web/src/routes/agent/[id]/+page.svelte b/web/src/routes/agent/[id]/+page.svelte
index aaf10367..08fa1dca 100644
--- a/web/src/routes/agent/[id]/+page.svelte
+++ b/web/src/routes/agent/[id]/+page.svelte
@@ -13,6 +13,7 @@
onMount(async () => {
loading = true;
const id: string = $page.params?.id;
+ const ref: string = $page.url.searchParams.get('github') || "";
try {
const response = await fetch(
"https://api.commanddash.dev/agent/get-latest-agent",
@@ -21,7 +22,7 @@
headers: {
"Content-Type": "application/json",
},
- body: JSON.stringify({ name: id }),
+ body: JSON.stringify({ name: id, referrer: ref }),
},
);
@@ -55,8 +56,7 @@
{:else if !loading && !currentAgentDetails}
+ class="h-screen w-screen inline-flex justify-center items-center flex-col">
404
No agent found