@@ -234,12 +241,12 @@
{'Criteria'}
- {#if ADMIN_ROLES.includes(user?.role || '') && !!rule.trigger_name}
+ {#if ADMIN_ROLES.includes(user?.role || '') && !!rule.trigger_name && !!rule.criteria?.trim()}
@@ -265,20 +272,22 @@
class="bx bx-info-circle"
style="font-size: 15px;"
id={`rule-${uid}`}
+ data-bs-toggle="tooltip"
+ data-bs-placement="top"
+ title="Output arguments"
/>
From 6feddb02f2eddcccb3534065d032289cea7fbee3 Mon Sep 17 00:00:00 2001
From: Jicheng Lu <103353@smsassist.com>
Date: Thu, 30 Oct 2025 11:22:18 -0500
Subject: [PATCH 03/18] integrate code generate endpoint
---
src/lib/helpers/http.js | 3 +-
src/lib/helpers/types/agentTypes.js | 25 +++++
src/lib/scss/custom/pages/_agent.scss | 2 -
src/lib/services/agent-service.js | 14 +++
src/lib/services/api-endpoints.js | 1 +
.../agent-components/agent-rule.svelte | 97 ++++++++++++++++++-
6 files changed, 135 insertions(+), 7 deletions(-)
diff --git a/src/lib/helpers/http.js b/src/lib/helpers/http.js
index 8e470866..d6a57302 100644
--- a/src/lib/helpers/http.js
+++ b/src/lib/helpers/http.js
@@ -75,7 +75,8 @@ function skipLoader(config) {
new RegExp('http(s*)://(.*?)/knowledge/document/(.*?)/page', 'g'),
new RegExp('http(s*)://(.*?)/users', 'g'),
new RegExp('http(s*)://(.*?)/instruct/chat-completion', 'g'),
- new RegExp('http(s*)://(.*?)/agent/(.*?)/code-scripts', 'g')
+ new RegExp('http(s*)://(.*?)/agent/(.*?)/code-scripts', 'g'),
+ new RegExp('http(s*)://(.*?)/agent/(.*?)/code-script/generate', 'g')
];
/** @type {RegExp[]} */
diff --git a/src/lib/helpers/types/agentTypes.js b/src/lib/helpers/types/agentTypes.js
index 086ff4ce..05bacc39 100644
--- a/src/lib/helpers/types/agentTypes.js
+++ b/src/lib/helpers/types/agentTypes.js
@@ -135,6 +135,31 @@
* @property {AgentCodeScriptUpdateOptions?} [options]
*/
+/**
+ * @typedef {Object} AgentCodeScriptGenerateModel
+ * @property {string?} [text]
+ * @property {CodeProcessOptions?} [options]
+ */
+
+/**
+ * @typedef {Object} CodeProcessOptions
+ * @property {boolean?} [save_to_db] - Whether to save the generated code to database.
+ * @property {string?} [script_name] - The code script name.
+ * @property {string?} [script_type] - The code script type.
+ * @property {string?} [agent_id] - The agent id.
+ * @property {string?} [template_name] - The template name.
+ * @property {any?} [data] - The template data.
+ * @property {string?} [provider] - The llm provider.
+ * @property {string?} [model] - The llm model.
+ */
+
+/**
+ * @typedef {Object} CodeGenerationResult
+ * @property {boolean?} [success]
+ * @property {string?} [content]
+ * @property {string?} [language]
+ * @property {string?} [error_message]
+ */
/**
* @typedef {Object} ChannelInstruction
diff --git a/src/lib/scss/custom/pages/_agent.scss b/src/lib/scss/custom/pages/_agent.scss
index d4d42782..0bee7e2f 100644
--- a/src/lib/scss/custom/pages/_agent.scss
+++ b/src/lib/scss/custom/pages/_agent.scss
@@ -272,8 +272,6 @@
pre {
white-space: pre !important;
width: fit-content;
- margin-top: 1em;
- margin-bottom: 1em;
}
}
diff --git a/src/lib/services/agent-service.js b/src/lib/services/agent-service.js
index d4d87e7b..4b6d0995 100644
--- a/src/lib/services/agent-service.js
+++ b/src/lib/services/agent-service.js
@@ -156,4 +156,18 @@ export async function updateAgentCodeScripts(agentId, update) {
...update
});
return response.data;
+}
+
+/**
+ * Generate agent code script
+ * @param {string} agentId
+ * @param {import('$agentTypes').AgentCodeScriptGenerateModel} request
+ * @returns {Promise
}
+ */
+export async function generateAgentCodeScript(agentId, request) {
+ const url = endpoints.agentCodeScriptGenerateUrl.replace("{agentId}", agentId);
+ const response = await axios.post(url, {
+ ...request
+ });
+ return response.data;
}
\ No newline at end of file
diff --git a/src/lib/services/api-endpoints.js b/src/lib/services/api-endpoints.js
index 1ee3cc59..17b81a9b 100644
--- a/src/lib/services/api-endpoints.js
+++ b/src/lib/services/api-endpoints.js
@@ -41,6 +41,7 @@ export const endpoints = {
// agent code script:
agentCodeScriptListUrl: `${host}/agent/{agentId}/code-scripts`,
agentCodeScriptUpdateUrl: `${host}/agent/{agentId}/code-scripts`,
+ agentCodeScriptGenerateUrl: `${host}/agent/{agentId}/code-script/generate`,
// agent task
agentTaskListUrl: `${host}/agent/tasks`,
diff --git a/src/routes/page/agent/[agentId]/agent-components/agent-rule.svelte b/src/routes/page/agent/[agentId]/agent-components/agent-rule.svelte
index 5954616e..71fe5923 100644
--- a/src/routes/page/agent/[agentId]/agent-components/agent-rule.svelte
+++ b/src/routes/page/agent/[agentId]/agent-components/agent-rule.svelte
@@ -1,17 +1,32 @@
@@ -221,7 +211,7 @@
data-bs-placement="top"
title="Uncheck to disable knowledgebase"
>
-
+
@@ -241,7 +231,7 @@