426 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Thrift
		
	
	
	
			
		
		
	
	
			426 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Thrift
		
	
	
	
| 
 | ||
| enum OnlineStatus {
 | ||
|     OFFLINE = 0,
 | ||
|     ONLINE  = 1,
 | ||
| }
 | ||
| 
 | ||
| enum DebugExampleStatus {
 | ||
|     Default = 0,
 | ||
|     Enable  = 1,
 | ||
|     Disable = 2,
 | ||
| }
 | ||
| 
 | ||
| enum ParameterLocation{
 | ||
|     Path   = 1
 | ||
|     Query  = 2
 | ||
|     Body   = 3
 | ||
|     Header = 4
 | ||
| }
 | ||
| 
 | ||
| //plugin枚举值
 | ||
| enum PluginParamTypeFormat{
 | ||
|     FileUrl  = 0
 | ||
|     ImageUrl = 1
 | ||
|     DocUrl   = 2
 | ||
|     CodeUrl  = 3
 | ||
|     PptUrl   = 4
 | ||
|     TxtUrl   = 5
 | ||
|     ExcelUrl = 6
 | ||
|     AudioUrl = 7
 | ||
|     ZipUrl   = 8
 | ||
|     VideoUrl = 9
 | ||
| }
 | ||
| 
 | ||
| enum APIMethod{
 | ||
|     GET    = 1,
 | ||
|     POST   = 2,
 | ||
|     PUT    = 3,
 | ||
|     DELETE = 4,
 | ||
|     PATCH  = 5,
 | ||
| }
 | ||
| 
 | ||
| enum APIDebugStatus{
 | ||
|     DebugWaiting = 0,
 | ||
|     DebugPassed  = 1,
 | ||
| }
 | ||
| 
 | ||
| enum ParameterType{
 | ||
|     String  = 1,
 | ||
|     Integer = 2,
 | ||
|     Number  = 3,
 | ||
|     Object  = 4,
 | ||
|     Array   = 5,
 | ||
|     Bool    = 6,
 | ||
| }
 | ||
| 
 | ||
| // 默认入参的设置来源
 | ||
| enum DefaultParamSource {
 | ||
|     Input    = 0, // 默认用户输入
 | ||
|     Variable = 1, // 引用变量
 | ||
| }
 | ||
| 
 | ||
| // 针对File类型参数的细分类型
 | ||
| enum AssistParameterType {
 | ||
|     DEFAULT = 1,
 | ||
|     IMAGE   = 2,
 | ||
|     DOC     = 3,
 | ||
|     CODE    = 4,
 | ||
|     PPT     = 5,
 | ||
|     TXT     = 6,
 | ||
|     EXCEL   = 7,
 | ||
|     AUDIO   = 8,
 | ||
|     ZIP     = 9,
 | ||
|     VIDEO   = 10,
 | ||
|     VOICE   = 12,  // 语音
 | ||
| }
 | ||
| 
 | ||
| enum PluginToolAuthType {
 | ||
|     Required  = 0, // 强授权
 | ||
|     Supported = 1, // 半匿名授权
 | ||
|     Disable   = 2, // 不授权
 | ||
| }
 | ||
| 
 | ||
| enum PluginCardStatus {
 | ||
|     Latest        = 1,
 | ||
|     NeedUpdate    = 2, // 主卡片版本有升级
 | ||
|     ParamMisMatch = 3, // 插件工具出参不匹配
 | ||
| }
 | ||
| 
 | ||
| enum PluginType {
 | ||
|     PLUGIN    = 1,
 | ||
|     APP       = 2,
 | ||
|     FUNC      = 3,
 | ||
|     WORKFLOW  = 4,
 | ||
|     IMAGEFLOW = 5,
 | ||
|     LOCAL     = 6,
 | ||
| }
 | ||
| 
 | ||
| enum PluginStatus {
 | ||
|     SUBMITTED = 1,
 | ||
|     REVIEWING = 2,
 | ||
|     PREPARED  = 3,
 | ||
|     PUBLISHED = 4,
 | ||
|     OFFLINE   = 5,
 | ||
|     Draft     = 0, // 默认值
 | ||
|     BANNED    = 6, // 禁用
 | ||
| }
 | ||
| 
 | ||
| enum ProductStatus {
 | ||
|     NeverListed = 0,
 | ||
|     Listed      = 1,
 | ||
|     Unlisted    = 2,
 | ||
|     Banned      = 3,
 | ||
| }
 | ||
| 
 | ||
| enum ProductUnlistType {
 | ||
|     ByAdmin = 1,
 | ||
|     ByUser  = 2,
 | ||
| }
 | ||
| 
 | ||
| enum CreationMethod {
 | ||
|     COZE = 0,
 | ||
|     IDE  = 1,
 | ||
| }
 | ||
| 
 | ||
| enum APIListOrderBy {
 | ||
|     CreateTime = 1,
 | ||
| }
 | ||
| 
 | ||
| enum SpaceRoleType {
 | ||
|     Default = 0, // 默认
 | ||
|     Owner   = 1, // owner
 | ||
|     Admin   = 2, // 管理员
 | ||
|     Member  = 3, // 普通成员
 | ||
| }
 | ||
| 
 | ||
| enum RunMode {
 | ||
|     DefaultToSync = 0,
 | ||
|     Sync          = 1,
 | ||
|     Async         = 2,
 | ||
|     Streaming     = 3,
 | ||
| }
 | ||
| 
 | ||
| enum AuthorizationType {
 | ||
|     None    = 0,
 | ||
|     Service = 1,
 | ||
|     OAuth   = 3,
 | ||
|     Standard = 4, // deprecated, the same as OAuth
 | ||
| }
 | ||
| 
 | ||
| enum ServiceAuthSubType {
 | ||
|     ApiKey             = 0,
 | ||
| 
 | ||
|     // for opencoze
 | ||
|     OAuthAuthorizationCode  = 4,
 | ||
| }
 | ||
| 
 | ||
| enum AuthorizationServiceLocation {
 | ||
|     Header = 1,
 | ||
|     Query  = 2,
 | ||
| }
 | ||
| 
 | ||
| enum PluginReferrerScene {
 | ||
|     SingleAgent     = 0,
 | ||
|     WorkflowLlmNode = 1,
 | ||
| }
 | ||
| 
 | ||
| enum WorkflowResponseMode {
 | ||
|     UseLLM  = 0, // 模型总结
 | ||
|     SkipLLM = 1, // 不使用模型总结
 | ||
| }
 | ||
| 
 | ||
| struct ResponseStyle {
 | ||
|     1: WorkflowResponseMode workflow_response_mode,
 | ||
| }
 | ||
| 
 | ||
| struct CodeInfo {
 | ||
|     1: string plugin_desc  , // plugin manifest in json string
 | ||
|     2: string openapi_desc , // plugin openapi3 document in yaml string
 | ||
|     3: string client_id    ,
 | ||
|     4: string client_secret,
 | ||
|     5: string service_token,
 | ||
| }
 | ||
| 
 | ||
| struct APIListOrder {
 | ||
|     1: APIListOrderBy order_by,
 | ||
|     2: bool           desc    ,
 | ||
| }
 | ||
| 
 | ||
| struct UserLabel {
 | ||
|     1: string label_id  ,
 | ||
|     2: string label_name,
 | ||
|     3: string icon_uri  ,
 | ||
|     4: string icon_url  ,
 | ||
|     5: string jump_link ,
 | ||
| }
 | ||
| 
 | ||
| struct PluginMetaInfo{
 | ||
|     1 :          string                                         name         , // 插件名
 | ||
|     2 :          string                                         desc         , // 插件描述
 | ||
|     3 :          string                                         url          , // 插件服务地址前缀
 | ||
|     4 :          PluginIcon                                     icon         , // 插件图标
 | ||
|     5 :          list<AuthorizationType>                        auth_type    , // 插件授权类型,0:无授权,1:service,3:oauth
 | ||
|     6 : optional AuthorizationServiceLocation                   location     , // 子授权类型为api/token时,token参数位置
 | ||
|     7 : optional string                                         key          , // 子授权类型为api/token时,token参数key
 | ||
|     8 : optional string                                         service_token, // 子授权类型为api/token时,token参数值
 | ||
|     9 : optional string                                         oauth_info   , // 子授权类型为oauth时,oauth信息
 | ||
|     10: optional map<ParameterLocation,list<commonParamSchema>> common_params, // 插件公共参数,key为参数位置,value为参数列表
 | ||
|     11: optional i32                                            sub_auth_type, // 子授权类型,0: api/token of service, 10: client credentials of oauth
 | ||
|     12: optional string                                         auth_payload , // 可忽略
 | ||
|     13:          bool                                           fixed_export_ip, // 可忽略
 | ||
| }
 | ||
| 
 | ||
| struct PluginIcon {
 | ||
|     1: string uri,
 | ||
|     2: string url,
 | ||
| }
 | ||
| 
 | ||
| struct GetPlaygroundPluginListData {
 | ||
|     1: list<PluginInfoForPlayground> plugin_list (api.body = "plugin_list")
 | ||
|     2: i32                           total       (api.body = "total")      
 | ||
| }
 | ||
| 
 | ||
| struct PluginInfoForPlayground {
 | ||
|     1:           string                                          id                                                                                                                     
 | ||
|     2:           string                                          name                                                                                                                    // name_for_human
 | ||
|     3:           string                                          desc_for_human                                                                                                          // description_for_human
 | ||
|     4:           string                                          plugin_icon                                                                                                            
 | ||
|     5:           PluginType                                      plugin_type
 | ||
|     6:           PluginStatus                                    status
 | ||
|     9:           i32                                             auth
 | ||
|     10:          string                                          client_id
 | ||
|     11:          string                                          client_secret
 | ||
|     15:          list<PluginApi>                                 plugin_apis                                                                                                            
 | ||
|     16:          i64                                             tag                                                                                                                     // 插件标签
 | ||
|     17:          string                                          create_time                                                                                                            
 | ||
|     18:          string                                          update_time                                                                                                            
 | ||
|     22:          Creator                                         creator                                                                                                                 // 创建人信息
 | ||
|     23:          string                                          space_id                                                                                                                // 空间id
 | ||
|     24:          PluginStatisticData                             statistic_data                                                                                                          // 插件统计数据
 | ||
|     25: optional map<ParameterLocation, list<commonParamSchema>> common_params
 | ||
|     26:          ProductStatus                                   plugin_product_status                                                                                                   // plugin的商品状态
 | ||
|     27:          ProductUnlistType                               plugin_product_unlist_type                                                                                              // plugin商品下架类型
 | ||
|     28:          string                                          material_id                                                                                                             // 素材id
 | ||
|     29:          i32                                             channel_id                                                                                                              // 渠道id
 | ||
|     30:          CreationMethod                                  creation_method                                                                                                         // 插件创建方式
 | ||
|     31:          bool                                            is_official                                                                                                             // 是否为官方插件
 | ||
|     32:          string                                          project_id                                                                                                              // 项目id
 | ||
|     33:          string                                          version_ts                // 版本号,毫秒时间戳
 | ||
|     34:          string                                          version_name                                                                                                            // 版本名称
 | ||
| }
 | ||
| 
 | ||
| struct PluginApi {
 | ||
|     1 :          string                name              // operationId
 | ||
|     2 :          string                desc              // summary
 | ||
|     3 :          list<PluginParameter> parameters       
 | ||
|     4 :          string                plugin_id        
 | ||
|     5 :          string                plugin_name      
 | ||
|     7 :          string                api_id            // 序号和playground保持一致
 | ||
|     8 :          string                record_id        
 | ||
|     9 : optional PresetCardBindingInfo card_binding_info // 卡片绑定信息,未绑定则为nil
 | ||
|     10: optional DebugExample          debug_example     // 调试api示例
 | ||
|     11: optional string                function_name    
 | ||
|     12:          RunMode               run_mode          // 运行模式
 | ||
| }
 | ||
| 
 | ||
| struct Creator {
 | ||
|     1: string        id              ,
 | ||
|     2: string        name            ,
 | ||
|     3: string        avatar_url      ,
 | ||
|     4: bool          self            , // 是否是自己创建的
 | ||
|     5: SpaceRoleType space_roly_type ,
 | ||
|     6: string        user_unique_name, // 用户名
 | ||
|     7: UserLabel     user_label      , // 用户标签
 | ||
| }
 | ||
| 
 | ||
| struct commonParamSchema{
 | ||
|     1: string name 
 | ||
|     2: string value
 | ||
| }
 | ||
| 
 | ||
| struct PluginParameter {
 | ||
|     1 :          string                name          
 | ||
|     2 :          string                desc          
 | ||
|     3 :          bool                  required      
 | ||
|     4 :          string                type          
 | ||
|     5 :          list<PluginParameter> sub_parameters
 | ||
|     6 :          string                sub_type       // 如果Type是数组,则有subtype
 | ||
|     7 : optional string                from_node_id   // 如果入参的值是引用的则有fromNodeId
 | ||
|     8 : optional list<string>          from_output    // 具体引用哪个节点的key
 | ||
|     9 : optional string                value          // 如果入参是用户手输 就放这里
 | ||
|     10: optional PluginParamTypeFormat format         // 格式化参数
 | ||
| }
 | ||
| 
 | ||
| struct PluginAPIInfo{
 | ||
|     1 :          string                plugin_id           ,
 | ||
|     2 :          string                api_id              ,
 | ||
|     3 :          string                name                ,
 | ||
|     4 :          string                desc                ,
 | ||
|     5 :          string                path                ,
 | ||
|     6 :          APIMethod             method              ,
 | ||
|     7 :          list<APIParameter>    request_params      ,
 | ||
|     8 :          list<APIParameter>    response_params     ,
 | ||
|     9 :          string                create_time         ,
 | ||
|     10:          APIDebugStatus        debug_status        ,
 | ||
|     11:          bool                  disabled            , // ignore
 | ||
|     12:          PluginStatisticData   statistic_data      , // ignore
 | ||
|     13:          OnlineStatus          online_status       , // if tool has been published, online_status is Online
 | ||
|     14:          APIExtend             api_extend          , // ignore
 | ||
|     15: optional PresetCardBindingInfo card_binding_info   , // ignore
 | ||
|     16: optional DebugExample          debug_example       , // 调试示例
 | ||
|     17:          DebugExampleStatus    debug_example_status, // 调试示例状态
 | ||
|     18:          string                function_name       , // ignore
 | ||
| }
 | ||
| 
 | ||
| struct APIParameter {
 | ||
|     1 :          string             id                    , // for前端,无实际意义
 | ||
|     2 :          string             name                  , // parameter name
 | ||
|     3 :          string             desc                  , // parameter desc
 | ||
|     4 :          ParameterType      type                  , // parameter type
 | ||
|     5 : optional ParameterType      sub_type              , // 可忽略
 | ||
|     6 :          ParameterLocation  location              , // 参数位置
 | ||
|     7 :          bool               is_required           , // 是否必填
 | ||
|     8 :          list<APIParameter> sub_parameters        , // 子参数
 | ||
|     9 : optional string             global_default        , // 全局默认值
 | ||
|     10:          bool               global_disable        , // 全局是否启用
 | ||
|     11: optional string             local_default         , // 智能体内设置的默认值
 | ||
|     12:          bool               local_disable         , // 智能体内是否启用
 | ||
|     13: optional DefaultParamSource default_param_source  , // 可忽略
 | ||
|     14: optional string             variable_ref          , // 引用variable的key
 | ||
|     15: optional AssistParameterType assist_type          , // 多模态辅助参数类型
 | ||
| }
 | ||
| 
 | ||
| struct PluginStatisticData {
 | ||
|     1: optional i32 bot_quote, // 为空就不展示
 | ||
| }
 | ||
| 
 | ||
| struct APIExtend {
 | ||
|     1: PluginToolAuthType auth_mode, // tool维度授权类型
 | ||
| }
 | ||
| 
 | ||
| // 插件预置卡片绑定信息
 | ||
| struct PresetCardBindingInfo{
 | ||
|     1: string           card_id         ,
 | ||
|     2: string           card_version_num,
 | ||
|     3: PluginCardStatus status          ,
 | ||
|     4: string           thumbnail       , // 缩略图
 | ||
| }
 | ||
| 
 | ||
| struct DebugExample {
 | ||
|     1: string req_example , // request example in json
 | ||
|     2: string resp_example, // response example in json
 | ||
| }
 | ||
| 
 | ||
| struct UpdatePluginData {
 | ||
|     1: bool res         ,
 | ||
|     2: i32  edit_version,
 | ||
| }
 | ||
| 
 | ||
| struct GetUserAuthorityData {
 | ||
|     1: bool can_edit
 | ||
|     2: bool can_read
 | ||
|     3: bool can_delete
 | ||
|     4: bool can_debug
 | ||
|     5: bool can_publish
 | ||
|     6: bool can_read_changelog
 | ||
| }
 | ||
| 
 | ||
| // 授权状态
 | ||
| enum OAuthStatus {
 | ||
|     Authorized   = 1,
 | ||
|     Unauthorized = 2,
 | ||
| }
 | ||
| 
 | ||
| struct CheckAndLockPluginEditData {
 | ||
|     1: bool    Occupied, // 是否已被占用
 | ||
|     2: Creator user    , // 如果已经被占用了,返回用户ID
 | ||
|     3: bool    Seized  , // 是否强占成功
 | ||
| }
 | ||
| 
 | ||
| struct PluginPublishInfo {
 | ||
|     1 : i64    publisher_id (api.js_conv = "str"), // 发布人
 | ||
|     2 : i64    version_ts  , // 版本,毫秒时间戳
 | ||
|     3 : string version_name, // 版本名称
 | ||
|     4 : string version_desc, // 版本描述
 | ||
| }
 | ||
| 
 | ||
| enum DebugOperation{
 | ||
|     Debug = 1, // 调试,会保存调试状态,会校验返回值
 | ||
|     Parse = 2, // 仅解析返回值结构
 | ||
| }
 | ||
| 
 | ||
| struct RegisterPluginData {
 | ||
|     1: i64 plugin_id (api.js_conv = "str"),
 | ||
|     2: string openapi, // the same as the request 'openapi'
 | ||
| }
 | ||
| 
 | ||
| enum ScopeType {
 | ||
|     All  = 0, // 所有
 | ||
|     Self = 1, // 自己
 | ||
| }
 | ||
| 
 | ||
| enum OrderBy {
 | ||
|     CreateTime  = 0,
 | ||
|     UpdateTime  = 1,
 | ||
|     PublishTime = 2,
 | ||
|     Hot         = 3,
 | ||
| }
 | ||
| 
 | ||
| enum PluginTypeForFilter {
 | ||
|     CloudPlugin    = 1, // 包含PLUGIN和APP
 | ||
|     LocalPlugin    = 2, // 包含LOCAL
 | ||
|     WorkflowPlugin = 3, // 包含WORKFLOW和IMAGEFLOW
 | ||
| }
 | ||
| 
 | ||
| enum PluginDataFormat {
 | ||
|     OpenAPI = 1,
 | ||
|     Curl    = 2,
 | ||
|     Postman = 3,
 | ||
|     Swagger = 4,
 | ||
| }
 | ||
| 
 | ||
| struct DuplicateAPIInfo{
 | ||
|     1: string method,
 | ||
|     2: string path  ,
 | ||
|     3: i64    count ,
 | ||
| } |