From 2ade75d4ad55e4512996b1b06d2cf656bebb081a Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Mon, 10 Mar 2025 17:01:41 -0500 Subject: [PATCH] add save agent task --- src/lib/helpers/types/agentTypes.js | 4 +- src/lib/services/api-endpoints.js | 1 + src/lib/services/task-service.js | 14 ++ src/routes/page/task/+page.svelte | 177 ++++++++++++++++---------- src/routes/page/task/task-item.svelte | 70 ++++++++++ 5 files changed, 194 insertions(+), 72 deletions(-) create mode 100644 src/routes/page/task/task-item.svelte diff --git a/src/lib/helpers/types/agentTypes.js b/src/lib/helpers/types/agentTypes.js index 2637614c..34b06f1f 100644 --- a/src/lib/helpers/types/agentTypes.js +++ b/src/lib/helpers/types/agentTypes.js @@ -94,8 +94,8 @@ * @property {string} content - Task detail. * @property {boolean} enabled * @property {string} status - * @property {Date} created_datetime - * @property {Date} updated_datetime + * @property {Date} created_time + * @property {Date} updated_time * @property {string} agent_id - Description. * @property {string} agent_name - Task detail. * @property {string} [direct_agent_id] - Run task directly in this agent. diff --git a/src/lib/services/api-endpoints.js b/src/lib/services/api-endpoints.js index 787690c4..170df44e 100644 --- a/src/lib/services/api-endpoints.js +++ b/src/lib/services/api-endpoints.js @@ -41,6 +41,7 @@ export const endpoints = { // agent task agentTaskListUrl: `${host}/agent/tasks`, agentTaskDetailUrl: `${host}/agent/{agentId}/task/{taskId}`, + agentTaskUpdateUrl: `${host}/agent/{agentId}/task/{taskId}`, // agent instruct instructCompletionUrl: `${host}/instruct/{agentId}`, diff --git a/src/lib/services/task-service.js b/src/lib/services/task-service.js index 039a3243..fac295ec 100644 --- a/src/lib/services/task-service.js +++ b/src/lib/services/task-service.js @@ -27,4 +27,18 @@ export async function getAgentTaskDetail(agentId, taskid) { const url = replaceUrl(endpoints.agentTaskDetailUrl, { agentId: agentId, taskId: taskid }); var response = await axios.get(url); return response.data; +} + +/** + * Update agent task + * @param {string} agentId + * @param {string} taskId + * @param {import('$agentTypes').AgentTaskModel} task + */ +export async function updateAgentTask(agentId, taskId, task) { + const url = replaceUrl(endpoints.agentTaskUpdateUrl, { agentId: agentId, taskId: taskId }); + var response = await axios.put(url, { + ...task + }); + return response.data; } \ No newline at end of file diff --git a/src/routes/page/task/+page.svelte b/src/routes/page/task/+page.svelte index 0e3ab9ce..0943cd95 100644 --- a/src/routes/page/task/+page.svelte +++ b/src/routes/page/task/+page.svelte @@ -1,6 +1,9 @@ + @@ -263,7 +320,7 @@ {$_('Description')} {$_('Agent')} {$_('Details')} - {$_('Updated Date')} + {$_('Updated Time')} {$_('Enabled')} {$_('Status')} {$_('Action')} @@ -271,31 +328,11 @@ {#each tasks.items as task} - - - {task.name} - - {task.description} - {task.agent_name} -
{@html replaceNewLine(task.content)}
- {utcToLocal(task.updated_datetime)} - {task.enabled ? $_("Enabled") : $_("Disabled")} - {task.status} - -
    -
  • - - - -
  • -
  • - -
  • -
- - + onTaskSaved(e)} + on:delete={e => onTaskDeleted(e)} + /> {/each} diff --git a/src/routes/page/task/task-item.svelte b/src/routes/page/task/task-item.svelte new file mode 100644 index 00000000..f3c7577c --- /dev/null +++ b/src/routes/page/task/task-item.svelte @@ -0,0 +1,70 @@ + + + + {task.name} + {task.description} + {task.agent_name} +
{@html replaceNewLine(task.content)}
+ {utcToLocal(task.updated_time)} + + + + toggleTask()}> + {#if task.enabled} + {$_("Enabled")} + {:else} + {$_("Disabled")} + {/if} + + + {task.status} + +
    +
  • + + + +
  • +
  • + +
  • +
  • + +
  • +
+ + \ No newline at end of file