269 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Thrift
		
	
	
	
			
		
		
	
	
			269 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Thrift
		
	
	
	
| namespace go app.intelligence.publish
 | |
| 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 // Channel collection information, the key is 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 // describe
 | |
|     5: string description_extra // description extension
 | |
|     6: required ConnectorClassification connector_classification // channel type
 | |
|     7: required ConnectorConfigStatus config_status // configuration status
 | |
|     8: ConnectorStatus connector_status // channel status
 | |
|     9: required ConnectorBindType bind_type // binding type
 | |
|     10: required map<string,string> bind_info // Binding information key field name value is value
 | |
|     11: optional string bind_id // Bind id information for unbinding and use
 | |
|     12: optional AuthLoginInfo auth_login_info // user authorization login information
 | |
|     13: string privacy_policy // Privacy Policy
 | |
|     14: string user_agreement // User Agreement
 | |
|     15: bool allow_publish // Whether to allow publishing
 | |
|     16: optional string not_allow_publish_reason // Reasons for not allowing publishing
 | |
|     17: optional i64 connector_union_id (agw.js_conv="str", api.js_conv="true") // Channel collection id, indicating the channel that needs to be aggregated and displayed.
 | |
|     18: optional list<UIOption> UIOptions // UI Options
 | |
|     19: optional bool support_monetization // Support commercialization
 | |
|     20: optional string installation_guide  // Installation Guidelines
 | |
|     21: optional UserAuthStatus auth_status   // Currently this field is only available bind_type == 8
 | |
|     22: optional string config_status_toast // Configuration status toast
 | |
|     23: optional string to_complete_info_url // connector_status the URL of the Complete Info button while under review
 | |
|     24: optional string connector_tips // Channel release 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 // channel release configuration
 | |
| }
 | |
| 
 | |
| enum ConnectorClassification {
 | |
|     APIOrSDK = 1 // API or SDK
 | |
|     SocialPlatform = 2 // social platform
 | |
|     Coze = 3 // Coze Shop/Template
 | |
|     MiniProgram = 4 // Mini Program
 | |
|     CozeSpaceExtensionLibrary = 5 // MCP Extension Library
 | |
| }
 | |
| 
 | |
| enum ConnectorConfigStatus {
 | |
|     Configured        = 1 // Configured
 | |
|     NotConfigured     = 2 // Not configured
 | |
|     Disconnected      = 3 // Token changes
 | |
|     Configuring       = 4 // Configuring, authorizing
 | |
|     NeedReconfiguring = 5 // Need to reconfigure
 | |
| }
 | |
| 
 | |
| enum ConnectorStatus {
 | |
|     Normal   = 0 // Normal
 | |
|     InReview = 1 // Under review.
 | |
|     Offline  = 2 // offline
 | |
| }
 | |
| 
 | |
| 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 // No binding required
 | |
|     AuthBind       = 2 // Auth binding
 | |
|     KvBind         = 3 // Kv binding
 | |
|     KvAuthBind     = 4 // Kv and Auth authorization
 | |
|     ApiBind        = 5 // API channel binding
 | |
|     WebSDKBind     = 6
 | |
|     StoreBind      = 7
 | |
|     AuthAndConfig  = 8 // One button each for authorization and configuration
 | |
|     TemplateBind   = 9 // template channel binding
 | |
| }
 | |
| 
 | |
| 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 Options
 | |
|     2: bool available // Is it optional
 | |
|     3: string unavailable_reason // unselectable reason
 | |
| }
 | |
| 
 | |
| enum UserAuthStatus {
 | |
|     Authorized = 1 // Authorized
 | |
|     UnAuthorized = 2 // unauthorized
 | |
|     Authorizing = 3 // Authorizing
 | |
| }
 | |
| 
 | |
| struct ConnectorPublishConfig {
 | |
|     1: list<SelectedWorkflow> selected_workflows // Workflow/ChatFlow selected by publishing channel
 | |
| }
 | |
| 
 | |
| struct ConnectorUnionInfoOption {
 | |
|     1: required i64 connector_id (agw.js_conv="str", api.js_conv="true") // Channel ID
 | |
|     2: required string show_name // Display name, such as: hosted release, download code
 | |
| }
 | |
| 
 | |
| 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 // version number
 | |
|     3: optional string description // describe
 | |
|     4: optional map<i64,map<string,string>> connectors // The key represents connector_id, and the value is the parameter published by the channel
 | |
|     5: optional map<i64,ConnectorPublishConfig> connector_publish_config // Channel release configuration, key represents 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") // Publish record ID for front-end polling
 | |
|     2: optional bool publish_monetization_result // The charging configuration is released, and the overseas environment is only available.
 | |
| }
 | |
| 
 | |
| 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 // release status
 | |
|     4: string publish_status_msg // This field is deprecated, please use publish_status_detail
 | |
|     5: optional list<ConnectorPublishResult> connector_publish_result // Channel release results
 | |
|     6: optional PublishRecordStatusDetail publish_status_detail // Release status Supplementary information
 | |
| }
 | |
| 
 | |
| enum PublishRecordStatus {
 | |
|     Packing = 0 // Packing
 | |
|     PackFailed = 1 // Packaging failed
 | |
|     Auditing = 2 // Under review.
 | |
|     AuditNotPass = 3 // review disapproved
 | |
|     ConnectorPublishing = 4 // Channel is being released.
 | |
|     PublishDone = 5 // release complete
 | |
| }
 | |
| 
 | |
| 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 // channel release status
 | |
|     5: string connector_publish_status_msg // Channel Release Status Supplementary Information
 | |
|     6: optional string share_link // OpenIn Link
 | |
|     7: optional string download_link // Mini Program Channel Download Link
 | |
|     8: optional ConnectorPublishConfig connector_publish_config // channel release configuration
 | |
|     9: optional map<string,string> connector_bind_info // Channel binding information key field name value is value
 | |
| }
 | |
| 
 | |
| struct PublishRecordStatusDetail {
 | |
|     1: optional list<PackFailedDetail> pack_failed_detail // Packaging failure details
 | |
| }
 | |
| 
 | |
| //project
 | |
| enum ConnectorPublishStatus {
 | |
|     Default = 0 // In release
 | |
|     Auditing = 1 // Under review.
 | |
|     Success = 2 // success
 | |
|     Failed = 3 // fail
 | |
|     Disable = 4   //disable
 | |
| }
 | |
| 
 | |
| 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") // If you don't upload it, get the last release record.
 | |
| 
 | |
|     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")
 | |
| } |