Skip to content

Commit 54080f9

Browse files
author
Jicheng Lu
committed
refine agent rule structure
1 parent 238e0e0 commit 54080f9

7 files changed

Lines changed: 207 additions & 79 deletions

File tree

src/lib/common/shared/CodeScript.svelte

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script>
22
import { onMount, createEventDispatcher } from "svelte";
33
import CodeMirror from "svelte-codemirror-editor";
4-
import { keymap } from "@codemirror/view";
4+
import { keymap, lineNumbers } from "@codemirror/view";
55
import { indentUnit, indentOnInput, indentService } from "@codemirror/language";
66
import { defaultKeymap, history, indentWithTab, historyKeymap } from "@codemirror/commands";
77
import { EditorState } from "@codemirror/state";
@@ -21,10 +21,13 @@
2121
export let containerClasses = '';
2222
2323
/** @type {boolean} */
24-
export let darkTheme = true;
24+
export let useDarkTheme = true;
2525
2626
/** @type {boolean} */
27-
export let useBasicSetup = true;
27+
export let hideLineNumber = false;
28+
29+
/** @type {boolean} */
30+
export let editable = true;
2831
2932
3033
/** @type {import("@codemirror/state").Extension[]} */
@@ -33,7 +36,7 @@
3336
EditorState.tabSize.of(4),
3437
indentOnInput(),
3538
history(),
36-
keymap.of([...defaultKeymap, ...historyKeymap, indentWithTab])
39+
keymap.of([...defaultKeymap, ...historyKeymap, indentWithTab]),
3740
];
3841
3942
/** @type {import("@codemirror/state").Extension[]} */
@@ -65,6 +68,17 @@
6568
javascript(),
6669
...baseExtensions
6770
];
71+
} else {
72+
extensions = [
73+
...baseExtensions
74+
];
75+
}
76+
77+
if (hideLineNumber) {
78+
extensions = [
79+
lineNumbers({ formatNumber: () => "" }),
80+
...extensions
81+
];
6882
}
6983
});
7084
@@ -80,8 +94,8 @@
8094
<CodeMirror
8195
class={`code-script-container ${containerClasses}`}
8296
lineWrapping
83-
basic={useBasicSetup}
84-
theme={darkTheme ? oneDark : null}
97+
theme={useDarkTheme ? oneDark : null}
98+
editable={editable}
8599
extensions={extensions}
86100
value={scriptText}
87101
on:change={e => handleChange(e)}

src/lib/helpers/types/agentTypes.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,17 +226,25 @@
226226
/**
227227
* @typedef {Object} AgentRule
228228
* @property {string} trigger_name
229-
* @property {string} criteria
230229
* @property {string?} [displayName]
231230
* @property {boolean} disabled
232-
* @property {AgentAction?} [action]
231+
* @property {AgentRuleCriteria?} [rule_criteria]
232+
* @property {AgentRuleAction?} [rule_action]
233233
* @property {any?} [output_args]
234234
* @property {string?} [json_args]
235235
* @property {string?} [statement]
236236
*/
237237

238238
/**
239-
* @typedef {Object} AgentAction
239+
* @typedef {Object} AgentRuleCriteria
240+
* @property {string?} [name]
241+
* @property {string?} [criteria_text]
242+
* @property {boolean} disabled
243+
* @property {any} [config]
244+
*/
245+
246+
/**
247+
* @typedef {Object} AgentRuleAction
240248
* @property {string?} [name]
241249
* @property {boolean} disabled
242250
* @property {any} [config]

src/lib/scss/custom/pages/_agent.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@
323323
}
324324
}
325325

326-
.agent-action-config {
326+
.agent-rule-config {
327327
min-height: 0px;
328328
max-height: 200px;
329329
}

src/lib/services/agent-service.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,16 @@ export async function getAgentRuleOptions() {
115115
return response.data;
116116
}
117117

118+
/**
119+
* Get agent rule criteria providers
120+
* @returns {Promise<string[]>}
121+
*/
122+
export async function getAgentRuleCriteriaProviders() {
123+
const url = endpoints.agentRuleCriteriaProvidersUrl;
124+
const response = await axios.get(url);
125+
return response.data;
126+
}
127+
118128
/**
119129
* Get agent rule actions
120130
* @returns {Promise<string[]>}

src/lib/services/api-endpoints.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export const endpoints = {
4141
agentUtilityOptionsUrl: `${host}/agent/utility/options`,
4242
agentRuleOptionsUrl: `${host}/rule/triggers`,
4343
agentRuleActionsUrl: `${host}/rule/actions`,
44+
agentRuleCriteriaProvidersUrl: `${host}/rule/criteria-providers`,
4445
agentLabelsUrl: `${host}/agent/labels`,
4546

4647
// agent code script:

src/routes/chat/[agentId]/[conversationId]/chat-box.svelte

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1662,6 +1662,7 @@
16621662
<CodeScript
16631663
language={codeLanguage || 'python'}
16641664
scriptText={codeScript}
1665+
editable={false}
16651666
/>
16661667
</PlainModal>
16671668

0 commit comments

Comments
 (0)