|
105 | 105 | mid = cid; |
106 | 106 | } |
107 | 107 |
|
108 | | - /** @param {string} message |
| 108 | + /** |
| 109 | + * @param {string} message |
109 | 110 | * @param {import('$types').ChatResponseModel} response |
| 111 | + * @param {boolean} isSuccess |
110 | 112 | */ |
111 | | - function renderMessageNode(message, response) { |
| 113 | + function renderMessageNode(message, response, isSuccess) { |
112 | 114 | let posX = lastPosX + nodeSpaceX, posY = lastPosY + nodeSpaceY; |
113 | 115 | let html = `<div class=''>${message}</div>`; |
114 | 116 | if (response.data) { |
115 | 117 | html += `<img src=${response.data} alt="" width="215px"/>` |
116 | 118 | } |
117 | | - html += `<div class="bg-info mt-1 mb-1 p-1 rounded">${response.text}</div>`; |
| 119 | + html += `<div class="${isSuccess ? 'bg-info' : 'bg-danger'} mt-1 mb-1 p-1 rounded">${response.text}</div>`; |
118 | 120 |
|
119 | 121 | editor.addNodeOutput(mid); |
120 | 122 | let new_mid = editor.addNode('message', 1, 0, posX, posY, 'message', {}, html, false); |
|
127 | 129 | messageCount++; |
128 | 130 | if (messageCount % 10 == 0) { |
129 | 131 | // editor.zoom_out(); |
130 | | - lastPosX = lastPosX + nodeSpaceX; |
| 132 | + lastPosX = posX; |
131 | 133 | lastPosY = 0; |
132 | 134 | } |
133 | 135 | } |
|
143 | 145 | renderConversationNode(conversation); |
144 | 146 | |
145 | 147 | var response = await sendMessageToHub(task.agent_id, conversation.id, task.content); |
146 | | - renderMessageNode(task.content, response); |
| 148 | + renderMessageNode(task.content, response, true); |
147 | 149 | } |
148 | 150 |
|
149 | 151 | async function handleRunTaskInteractively() { |
|
153 | 155 |
|
154 | 156 | // new conversation |
155 | 157 | const conversation = await newConversation(task.direct_agent_id, {taskId: task.id}); |
156 | | - conversation.task_id = task.id; |
157 | 158 | conversationStore.set(conversation); |
158 | 159 | renderConversationNode(conversation); |
159 | 160 |
|
|
163 | 164 | let step = steps[i]; |
164 | 165 | const response = await sendMessageToHub(task.direct_agent_id, conversation.id, step, '', ['hide_context=true']); |
165 | 166 | if (response.text.includes("failed")) { |
| 167 | + renderMessageNode(step, response, false); |
166 | 168 | break; |
| 169 | + } else { |
| 170 | + renderMessageNode(step, response, true); |
167 | 171 | } |
168 | | - renderMessageNode(step, response); |
169 | 172 | } |
170 | 173 | } |
171 | 174 | </script> |
172 | 175 |
|
173 | 176 | <div> |
174 | | - <button class="btn btn-primary me-2" on:click={handleRunTaskSequentiallyInServer}><i class="bx bx-run"></i> Execute Sequentially through Router</button> |
| 177 | + <!--<button class="btn btn-primary me-2" on:click={handleRunTaskSequentiallyInServer}><i class="bx bx-run"></i> Execute Sequentially through Router</button>--> |
175 | 178 | {#if task?.direct_agent_id} |
176 | 179 | <button class="btn btn-primary" on:click={handleRunTaskInteractively}><i class="bx bx-rocket"></i> Execute Interactively</button> |
177 | 180 | {/if} |
|
0 commit comments