You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
181 lines
7.8 KiB
181 lines
7.8 KiB
include "marketplace_common.thrift"
|
|
|
|
namespace go marketplace.product_common
|
|
|
|
enum ProductEntityType {
|
|
Bot = 1 ,
|
|
Plugin = 2 ,
|
|
// Workflow = 3 ,
|
|
SocialScene = 4,
|
|
Project = 6,
|
|
WorkflowTemplate = 13, // History workflow, no more in the future (abandoned)
|
|
ImageflowTemplate = 15, // Historical image stream template, no more in the future (obsolete)
|
|
TemplateCommon = 20, // Template universal identification, only used to bind template-related configurations, not bind products
|
|
BotTemplate = 21, // Bot template
|
|
WorkflowTemplateV2 = 23, // workflow template
|
|
ImageflowTemplateV2 = 25, // Image stream template (this type has been offline and merged into workflow, but historical data will be preserved, and the front end will be treated as workflow display)
|
|
ProjectTemplate = 26, // project template
|
|
CozeToken = 50, // Coze token products, theoretically there will only be one
|
|
MsgCredit = 55, // Subscribe to the traffic package of credit, theoretically there will only be one
|
|
SubsMsgCredit = 60, // There is only one subscription product in theory
|
|
Common = 99,
|
|
Topic = 101 // Special Topics (Compatible with previous designs)
|
|
}
|
|
|
|
enum SortType {
|
|
Heat = 1,
|
|
Newest = 2,
|
|
FavoriteTime = 3, // collection time
|
|
Relative = 4, // Correlation, only for search scenarios
|
|
}
|
|
|
|
enum ProductPublishMode {
|
|
OpenSource = 1,
|
|
ClosedSource = 2,
|
|
}
|
|
|
|
enum ProductListSource {
|
|
Recommend = 1, // recommended list page
|
|
CustomizedRecommend = 2, // personalized recommendation
|
|
}
|
|
|
|
enum PluginType {
|
|
CLoudPlugin = 0 , // default
|
|
LocalPlugin = 1 ,
|
|
}
|
|
|
|
enum ProductPaidType {
|
|
Free = 0;
|
|
Paid = 1;
|
|
}
|
|
|
|
struct CommercialSetting {
|
|
1: required ProductPaidType commercial_type (agw.key = "commercial_type", api.body= "commercial_type")
|
|
}
|
|
|
|
enum ProductStatus {
|
|
NeverListed = 0, // NeverListed
|
|
Listed = 1,
|
|
Unlisted = 2,
|
|
Banned = 3,
|
|
}
|
|
|
|
struct UserLabel {
|
|
1: string label_id (agw.key = "label_id", api.body= "label_id") ,
|
|
2: string label_name (agw.key = "label_name", api.body= "label_name"),
|
|
3: string icon_uri (agw.key = "icon_uri", api.body= "icon_uri") ,
|
|
4: string icon_url (agw.key = "icon_url", api.body= "icon_url") ,
|
|
5: string jump_link (agw.key = "jump_link", api.body= "jump_link") ,
|
|
}
|
|
|
|
struct UserInfo {
|
|
1: i64 user_id (agw.js_conv="str",api.js_conv="true",agw.cli_conv="str", agw.key = "user_id", api.body= "user_id"),
|
|
2: string user_name (agw.key = "user_name", api.body= "user_name") ,
|
|
3: string name (agw.key = "name", api.body= "name") ,
|
|
4: string avatar_url (agw.key = "avatar_url", api.body= "avatar_url") ,
|
|
5: optional UserLabel user_label (agw.key = "user_label", api.body= "user_label") ,
|
|
6: optional marketplace_common.FollowType follow_type (agw.key = "follow_type", api.body= "follow_type") ,
|
|
}
|
|
|
|
struct ImageInfo {
|
|
1: string uri (agw.key = "uri", api.body= "uri"),
|
|
2: string url (agw.key = "url", api.body= "url"),
|
|
}
|
|
|
|
enum ProductDraftStatus {
|
|
Default = 0, // default
|
|
Pending = 1, // Under review.
|
|
Approved = 2, // approved
|
|
Rejected = 3, // The review failed.
|
|
Abandoned = 4, // Abandoned
|
|
}
|
|
|
|
typedef ProductDraftStatus AuditStatus
|
|
|
|
struct OpeningDialog { // Bot OpeningDialog
|
|
1: string content (agw.key = "content", api.body= "content"),
|
|
}
|
|
|
|
enum InputType {
|
|
String = 1,
|
|
Integer = 2,
|
|
Boolean = 3,
|
|
Double = 4,
|
|
List = 5,
|
|
Object = 6,
|
|
}
|
|
|
|
enum PluginParamTypeFormat {
|
|
ImageUrl = 1,
|
|
}
|
|
|
|
enum WorkflowNodeType {
|
|
Start = 1 , // start
|
|
End = 2 , // end
|
|
LLM = 3 , // Large model
|
|
Api = 4 , // plugin
|
|
Code = 5 , // code
|
|
Dataset = 6 , // Knowledge Base
|
|
If = 8 , // selector
|
|
SubWorkflow = 9 , // Workflow
|
|
Variable = 11, // variable
|
|
Database = 12, // database
|
|
Message = 13, // message
|
|
}
|
|
|
|
enum SocialSceneRoleType {
|
|
Host = 1
|
|
PresetBot = 2
|
|
Custom = 3
|
|
}
|
|
|
|
enum UIPreviewType { // UI preview type, defining alignment UI Builder, currently used in Project
|
|
Web = 1, // web page
|
|
Client = 2, // mobile end
|
|
}
|
|
|
|
struct ChargeSKUExtra{
|
|
1: i64 Quantity (agw.js_conv="str", api.js_conv="true", agw.cli_conv="str", agw.key = "quantity", api.body= "quantity"),
|
|
2: bool IsSelfDefine (agw.key = "is_self_define", api.body= "is_self_define")
|
|
}
|
|
|
|
enum FavoriteListSource {
|
|
CreatedByMe = 1, // Created by users themselves
|
|
}
|
|
|
|
struct FavoriteEntity {
|
|
1 : i64 EntityID (agw.js_conv="str", agw.cli_conv="str", agw.key = "entity_id", api.body="entity_id", api.js_conv="true") ,
|
|
2 : ProductEntityType EntityType (agw.key = "entity_type", api.body="entity_type") ,
|
|
4 : string Name (agw.key = "name", api.body="name") ,
|
|
5 : string IconURL (agw.key = "icon_url", api.body="icon_url") ,
|
|
6 : string Description (agw.key = "description", api.body="description") ,
|
|
7 : SellerInfo Seller (agw.key = "seller", api.body="seller") , // Abandoned, using UserInfo
|
|
8 : i64 SpaceID (agw.js_conv="str", agw.cli_conv="str", agw.key = "space_id", api.body="space_id", api.js_conv="true") , // Use to jump to the bot edit page
|
|
9 : bool HasSpacePermission (agw.key = "has_space_permission", api.body="has_space_permission") , // Does the user have permissions to the space where the entity is located?
|
|
10: i64 FavoriteAt (agw.js_conv="str", agw.cli_conv="str", agw.key = "favorite_at", api.body="favorite_at", api.js_conv="true"), // collection time
|
|
|
|
11: optional FavoriteProductExtra ProductExtra (agw.key = "product_extra", api.body="product_extra") ,
|
|
12: UserInfo UserInfo (agw.key = "user_info", api.body="user_info") ,
|
|
13: optional FavoritePluginExtra PluginExtra (agw.key = "plugin_extra", api.body="plugin_extra") ,
|
|
}
|
|
|
|
struct SellerInfo {
|
|
1: i64 UserID (agw.js_conv="str", agw.cli_conv="str", agw.key = "user_id", api.body="user_id", api.js_conv="true"),
|
|
2: string UserName (agw.key = "user_name", api.body="user_name") ,
|
|
3: string AvatarURL (agw.key = "avatar_url", agw.key="avatar_url", api.body="avatar_url") ,
|
|
}
|
|
|
|
struct FavoriteProductExtra {
|
|
1: i64 ProductID (agw.js_conv="str", agw.cli_conv="str", agw.key = "product_id", api.body="product_id", api.js_conv="true"),
|
|
2: ProductStatus ProductStatus (agw.key="product_status", api.body="product_status") ,
|
|
}
|
|
|
|
struct FavoritePluginExtra {
|
|
1: list<PluginTool> Tools (agw.key="tools", api.body="tools"),
|
|
}
|
|
|
|
struct PluginTool {
|
|
1: i64 ID (agw.js_conv="str", agw.cli_conv="str", agw.key = "id", api.body="id", api.js_conv="true"),
|
|
2: string Name (agw.key="name", api.body="name"),
|
|
3: string Description (agw.key="description", api.body="description"),
|
|
} |