268 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Thrift
		
	
	
	
			
		
		
	
	
			268 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Thrift
		
	
	
	
include "../base.thrift"
 | 
						||
include "common_struct/common_struct.thrift"
 | 
						||
include  "common_struct/intelligence_common_struct.thrift"
 | 
						||
 | 
						||
struct GetProjectPublishedConnectorRequest {
 | 
						||
    1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    255: optional base.Base Base (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct GetProjectPublishedConnectorResponse {
 | 
						||
    1: list<common_struct.ConnectorInfo> data
 | 
						||
 | 
						||
    253: i64 code
 | 
						||
    254: string msg
 | 
						||
    255: optional base.BaseResp BaseResp (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct PublishConnectorListRequest {
 | 
						||
    1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
 | 
						||
    255: optional base.Base Base (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct PublishConnectorListResponse {
 | 
						||
    1: PublishConnectorListData data
 | 
						||
 | 
						||
    253: i64 code
 | 
						||
    254: string msg
 | 
						||
    255: optional base.BaseResp BaseResp (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct PublishConnectorListData {
 | 
						||
    1: list<PublishConnectorInfo> connector_list
 | 
						||
    2: LastPublishInfo last_publish_info
 | 
						||
    3: map<i64, ConnectorUnionInfo> connector_union_info_map // 渠道集合信息,key是connector_union_id
 | 
						||
}
 | 
						||
 | 
						||
struct PublishConnectorInfo {
 | 
						||
    1: required i64 id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: required string name
 | 
						||
    3: required string icon_url
 | 
						||
    4: required string description // 描述
 | 
						||
    5: string description_extra // 描述扩展
 | 
						||
    6: required ConnectorClassification connector_classification // 渠道类型
 | 
						||
    7: required ConnectorConfigStatus config_status // 配置状态
 | 
						||
    8: ConnectorStatus connector_status // 渠道状态
 | 
						||
    9: required ConnectorBindType bind_type // 绑定类型
 | 
						||
    10: required map<string,string> bind_info // 绑定信息 key字段名 value是值
 | 
						||
    11: optional string bind_id // 绑定id信息,用于解绑使用
 | 
						||
    12: optional AuthLoginInfo auth_login_info // 用户授权登陆信息
 | 
						||
    13: string privacy_policy // 隐私政策
 | 
						||
    14: string user_agreement // 用户协议
 | 
						||
    15: bool allow_publish // 是否允许发布
 | 
						||
    16: optional string not_allow_publish_reason // 不允许发布的原因
 | 
						||
    17: optional i64 connector_union_id (agw.js_conv="str", api.js_conv="true") // 渠道集合id,表示需要聚合展示的渠道
 | 
						||
    18: optional list<UIOption> UIOptions // UI选项
 | 
						||
    19: optional bool support_monetization // 支持商业化
 | 
						||
    20: optional string installation_guide  // 安装指引
 | 
						||
    21: optional UserAuthStatus auth_status   // 目前仅 bind_type == 8 时这个字段才有 
 | 
						||
    22: optional string config_status_toast // 配置状态toast
 | 
						||
    23: optional string to_complete_info_url // connector_status为审核中时补全信息按钮的url
 | 
						||
    24: optional string connector_tips // 渠道发布提示
 | 
						||
}
 | 
						||
 | 
						||
struct LastPublishInfo {
 | 
						||
    1: string version_number
 | 
						||
    2: list<i64> connector_ids (agw.js_conv="str", api.js_conv="true")
 | 
						||
    3: map<i64,ConnectorPublishConfig> connector_publish_config // 渠道发布配置
 | 
						||
}
 | 
						||
 | 
						||
enum ConnectorClassification {
 | 
						||
    APIOrSDK = 1 // api或sdk
 | 
						||
    SocialPlatform = 2 // 社交平台
 | 
						||
    Coze = 3 // Coze商店/模板
 | 
						||
    MiniProgram = 4 // 小程序
 | 
						||
    CozeSpaceExtensionLibrary = 5 // MCP扩展库
 | 
						||
}
 | 
						||
 | 
						||
enum ConnectorConfigStatus {
 | 
						||
    Configured        = 1 // 已配置
 | 
						||
    NotConfigured     = 2 // 未配置
 | 
						||
    Disconnected      = 3 // Token发生变化
 | 
						||
    Configuring       = 4 // 配置中,授权中
 | 
						||
    NeedReconfiguring = 5 // 需要重新配置 
 | 
						||
}
 | 
						||
 | 
						||
enum ConnectorStatus {
 | 
						||
    Normal   = 0 // 正常
 | 
						||
    InReview = 1 // 审核中
 | 
						||
    Offline  = 2 // 已下线
 | 
						||
}
 | 
						||
 | 
						||
struct ConnectorUnionInfo {
 | 
						||
    1: required i64    id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: required string name
 | 
						||
    3: required string description
 | 
						||
    4: required string icon_url
 | 
						||
    5: required list<ConnectorUnionInfoOption> connector_options
 | 
						||
}
 | 
						||
 | 
						||
enum ConnectorBindType {
 | 
						||
    NoBindRequired = 1 // 无需绑定
 | 
						||
    AuthBind       = 2 // Auth绑定
 | 
						||
    KvBind         = 3 // Kv绑定
 | 
						||
    KvAuthBind     = 4 // Kv并Auth授权
 | 
						||
    ApiBind        = 5 // api渠道绑定
 | 
						||
    WebSDKBind     = 6
 | 
						||
    StoreBind      = 7
 | 
						||
    AuthAndConfig  = 8 // 授权和配置各一个按钮
 | 
						||
    TemplateBind   = 9 // 模板渠道绑定
 | 
						||
}
 | 
						||
 | 
						||
struct AuthLoginInfo {
 | 
						||
    1: string app_id
 | 
						||
    2: string response_type
 | 
						||
    3: string authorize_url
 | 
						||
    4: string scope
 | 
						||
    5: string client_id
 | 
						||
    6: string duration
 | 
						||
    7: string aid
 | 
						||
    8: string client_key
 | 
						||
}
 | 
						||
 | 
						||
struct UIOption {
 | 
						||
    1: i64 ui_channel (agw.js_conv="str", api.js_conv="true") // UIChannel选项
 | 
						||
    2: bool available // 是否可选
 | 
						||
    3: string unavailable_reason // 不可选原因
 | 
						||
}
 | 
						||
 | 
						||
enum UserAuthStatus {
 | 
						||
    Authorized = 1 // 已授权
 | 
						||
    UnAuthorized = 2 // 未授权
 | 
						||
    Authorizing = 3 // 授权中
 | 
						||
}
 | 
						||
 | 
						||
struct ConnectorPublishConfig {
 | 
						||
    1: list<SelectedWorkflow> selected_workflows // 发布渠道选择的Workflow/ChatFlow
 | 
						||
}
 | 
						||
 | 
						||
struct ConnectorUnionInfoOption {
 | 
						||
    1: required i64 connector_id (agw.js_conv="str", api.js_conv="true") // 渠道 ID
 | 
						||
    2: required string show_name // 展示名,如:托管发布、下载代码
 | 
						||
}
 | 
						||
 | 
						||
struct SelectedWorkflow {
 | 
						||
    1: i64 workflow_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: string workflow_name
 | 
						||
}
 | 
						||
 | 
						||
struct CheckProjectVersionNumberRequest {
 | 
						||
    1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: required string version_number
 | 
						||
 | 
						||
    255: optional base.Base Base (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct CheckProjectVersionNumberResponse {
 | 
						||
    1: CheckProjectVersionNumberData data
 | 
						||
 | 
						||
    253: i64 code
 | 
						||
    254: string msg
 | 
						||
    255: optional base.BaseResp BaseResp (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct CheckProjectVersionNumberData {
 | 
						||
    1: bool is_duplicate
 | 
						||
}
 | 
						||
 | 
						||
struct PublishProjectRequest {
 | 
						||
    1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: required string version_number // 版本号
 | 
						||
    3: optional string description // 描述
 | 
						||
    4: optional map<i64,map<string,string>> connectors // key代表connector_id,value是渠道发布的参数
 | 
						||
    5: optional map<i64,ConnectorPublishConfig> connector_publish_config // 渠道发布配置,key代表connector_id
 | 
						||
 | 
						||
    255: optional base.Base Base (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct PublishProjectResponse {
 | 
						||
    1: PublishProjectData data
 | 
						||
 | 
						||
    253: i64 code
 | 
						||
    254: string msg
 | 
						||
    255: optional base.BaseResp BaseResp (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct PublishProjectData {
 | 
						||
    1: i64 publish_record_id (agw.js_conv="str", api.js_conv="true") // 发布记录ID用于前端轮询
 | 
						||
    2: optional bool publish_monetization_result // 收费配置发布结果,海外环境才有
 | 
						||
}
 | 
						||
 | 
						||
struct GetPublishRecordListRequest {
 | 
						||
    1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
 | 
						||
    255: optional base.Base Base (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct GetPublishRecordListResponse {
 | 
						||
    1: list<PublishRecordDetail> data
 | 
						||
 | 
						||
    253: i64 code
 | 
						||
    254: string msg
 | 
						||
    255: optional base.BaseResp BaseResp (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct PublishRecordDetail {
 | 
						||
    1: i64 publish_record_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: string version_number
 | 
						||
    3: PublishRecordStatus publish_status // 发布状态
 | 
						||
    4: string publish_status_msg // 该字段废弃,请使用publish_status_detail
 | 
						||
    5: optional list<ConnectorPublishResult> connector_publish_result // 渠道发布结果
 | 
						||
    6: optional PublishRecordStatusDetail publish_status_detail // 发布状态补充信息
 | 
						||
}
 | 
						||
 | 
						||
enum PublishRecordStatus {
 | 
						||
    Packing = 0 // 打包中
 | 
						||
    PackFailed = 1 // 打包失败
 | 
						||
    Auditing = 2 // 审核中
 | 
						||
    AuditNotPass = 3 // 审核未通过
 | 
						||
    ConnectorPublishing = 4 // 渠道发布中
 | 
						||
    PublishDone = 5 // 发布完成
 | 
						||
}
 | 
						||
 | 
						||
struct ConnectorPublishResult {
 | 
						||
    1: i64 connector_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: string connector_name
 | 
						||
    3: string connector_icon_url
 | 
						||
    4: ConnectorPublishStatus connector_publish_status // 渠道发布状态
 | 
						||
    5: string connector_publish_status_msg // 渠道发布状态补充信息
 | 
						||
    6: optional string share_link // OpenIn链接
 | 
						||
    7: optional string download_link // 小程序渠道下载链接
 | 
						||
    8: optional ConnectorPublishConfig connector_publish_config // 渠道发布配置
 | 
						||
    9: optional map<string,string> connector_bind_info // 渠道绑定信息 key字段名 value是值
 | 
						||
}
 | 
						||
 | 
						||
struct PublishRecordStatusDetail {
 | 
						||
    1: optional list<PackFailedDetail> pack_failed_detail // 打包失败详情
 | 
						||
}
 | 
						||
 | 
						||
//project
 | 
						||
enum ConnectorPublishStatus {
 | 
						||
    Default = 0 // 发布中
 | 
						||
    Auditing = 1 // 审核中
 | 
						||
    Success = 2 // 成功
 | 
						||
    Failed = 3 // 失败
 | 
						||
    Disable = 4   //禁用
 | 
						||
}
 | 
						||
 | 
						||
struct PackFailedDetail {
 | 
						||
    1: i64 entity_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: common_struct.ResourceType entity_type
 | 
						||
    3: string entity_name
 | 
						||
}
 | 
						||
 | 
						||
struct GetPublishRecordDetailRequest {
 | 
						||
    1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
 | 
						||
    2: optional i64 publish_record_id (agw.js_conv="str", api.js_conv="true") // 不传则获取最近一次发布记录
 | 
						||
 | 
						||
    255: optional base.Base Base (api.none="true")
 | 
						||
}
 | 
						||
 | 
						||
struct GetPublishRecordDetailResponse {
 | 
						||
    1: PublishRecordDetail data
 | 
						||
 | 
						||
    253: i64 code
 | 
						||
    254: string msg
 | 
						||
    255: optional base.BaseResp BaseResp (api.none="true")
 | 
						||
} |