feat: manually mirror opencoze's code from bytedance

Change-Id: I09a73aadda978ad9511264a756b2ce51f5761adf
This commit is contained in:
fanlv
2025-07-20 17:36:12 +08:00
commit 890153324f
14811 changed files with 1923430 additions and 0 deletions

View File

@@ -0,0 +1,119 @@
namespace go ocean.cloud.playground
include "../base.thrift"
struct CreateShortcutCommandRequest {
1: string object_id
2: ShortcutCommand shortcuts
255: base.Base Base
}
struct CreateShortcutCommandResponse {
1: ShortcutCommand shortcuts
255: required base.BaseResp BaseResp
}
struct ShortcutStruct {
16: optional list<string> shortcut_sort // 快捷指令ID列表 实体上绑定的
17: optional list<ShortcutCommand> shortcut_list // 快捷指令内容list
}
struct ShortcutCommand {
2 : i64 object_id (api.js_conv="true") // 绑定实体ID
3 : string command_name // 命令名称
4 : string shortcut_command // 快捷指令
5 : string description // 描述
6 : SendType send_type // 发送类型
7 : ToolType tool_type // 使用工具type
8 : string work_flow_id
9 : string plugin_id
10: string plugin_api_name
11 : string template_query // 模板query
12 : list<Components> components_list // panel参数
15 : string card_schema // 表单的schema
16 : i64 command_id (api.js_conv="true") // 指令ID
17 : ToolInfo tool_info //工具信息 包含name+变量列表+...
18 : ShortcutFileInfo shortcut_icon // 指令图标
21 : optional string agent_id //multi的指令时该指令由哪个节点执行
22 : i64 plugin_api_id (api.js_conv="true")
}
struct ShortcutFileInfo {
1 : string url
2 : string uri
}
struct Components { // panel参数
1 : string name
2 : string description
3 : InputType input_type
4 : string parameter // 请求工具时参数的key
5 : list<string> options
6 : DefaultValue default_value
7 : bool hide // 是否隐藏不展示
8 : list<InputType> upload_options // input_type为MixUpload时支持哪些类型
}
struct DefaultValue {
1: string value
2: InputType type
}
struct ToolInfo {
1:string tool_name
2:list<ToolParams> tool_params_list // 变量列表 插件&workFLow
}
struct ToolParams { // 参数列表
1 : string name
2 : bool required
3 : string desc
4 : string type
6 : string default_value // 默认值
8 : bool refer_component // 是否是panel参数
}
enum SendType {
SendTypeQuery = 0 // 直接发query
SendTypePanel = 1 // 使用面板
}
enum ToolType {
ToolTypeWorkFlow = 1 // 使用WorkFlow
ToolTypePlugin = 2 // 使用插件
}
enum InputType {
TextInput = 0,
Select = 1,
UploadImage = 2,
UploadDoc = 3,
UploadTable = 4,
UploadAudio = 5,
MixUpload = 6,
VIDEO = 7,
ARCHIVE = 8,
CODE = 9,
TXT = 10,
PPT = 11,
}
struct CreateUpdateShortcutCommandRequest {
1: required i64 object_id (api.js_conv="true")
2: required i64 space_id (api.js_conv="true")
3: required ShortcutCommand shortcuts
255: base.Base Base
}
struct CreateUpdateShortcutCommandResponse {
1: ShortcutCommand shortcuts
253: required i64 code
254: required string msg
255: required base.BaseResp BaseResp
}