@@ -10,11 +10,11 @@ import (
10
10
11
11
"github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component"
12
12
"github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity"
13
- "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service /templates"
13
+ "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/conf /templates"
14
14
)
15
15
16
16
// JavaScriptCodeBuilder JavaScript代码构建器
17
- type JavaScriptCodeBuilder struct {
17
+ type JavaScriptCodeBuilder struct {
18
18
runtime component.IRuntime // 运行时实例,用于获取return_val函数
19
19
}
20
20
@@ -54,7 +54,7 @@ func (b *JavaScriptCodeBuilder) BuildCode(input *entity.EvaluatorInputData, code
54
54
// 使用strings.Replace替换占位符
55
55
// 替换return_val函数占位符 - 现在从runtime获取
56
56
jsCode = strings .Replace (jsCode , "{{RETURN_VAL_FUNCTION}}" , b .getReturnValFunctionFromRuntime (), 1 )
57
-
57
+
58
58
// 替换turn变量占位符
59
59
jsCode = strings .Replace (jsCode , "{{TURN_DATA}}" , turnDataStr , 1 )
60
60
@@ -122,6 +122,7 @@ func (b *JavaScriptCodeBuilder) validateInputData(inputData map[string]interface
122
122
123
123
return nil
124
124
}
125
+
125
126
// buildInputData 构建代码执行的输入数据
126
127
func (b * JavaScriptCodeBuilder ) buildInputData (input * entity.EvaluatorInputData ) (map [string ]interface {}, error ) {
127
128
inputData := make (map [string ]interface {})
@@ -168,20 +169,21 @@ func (b *JavaScriptCodeBuilder) buildInputData(input *entity.EvaluatorInputData)
168
169
169
170
return inputData , nil
170
171
}
172
+
171
173
// BuildSyntaxCheckCode 构建JavaScript语法检查代码
172
174
func (b * JavaScriptCodeBuilder ) BuildSyntaxCheckCode (userCode string ) string {
173
175
// 使用模板构建语法检查代码
174
176
syntaxCheckTemplate := templates .JavaScriptSyntaxCheckTemplate
175
-
177
+
176
178
// 转义用户代码中的特殊字符,确保能正确嵌入到模板字符串中
177
179
escapedCode := b .escapeCodeForTemplate (userCode )
178
-
180
+
179
181
// 替换return_val函数占位符 - 现在从runtime获取
180
182
syntaxCheckCode := strings .Replace (syntaxCheckTemplate , "{{RETURN_VAL_FUNCTION}}" , b .getReturnValFunctionFromRuntime (), 1 )
181
-
183
+
182
184
// 替换模板中的用户代码占位符
183
185
syntaxCheckCode = strings .Replace (syntaxCheckCode , "{{USER_CODE}}" , escapedCode , 1 )
184
-
186
+
185
187
return syntaxCheckCode
186
188
}
187
189
@@ -208,7 +210,7 @@ func (b *JavaScriptCodeBuilder) getReturnValFunctionFromRuntime() string {
208
210
if b .runtime != nil {
209
211
return b .runtime .GetReturnValFunction ()
210
212
}
211
-
213
+
212
214
// 如果没有runtime实例,使用默认实现保持向后兼容
213
215
return `
214
216
// return_val函数实现
@@ -220,4 +222,4 @@ function return_val(value) {
220
222
console.log(value);
221
223
}
222
224
`
223
- }
225
+ }
0 commit comments