Documentation
¶
Index ¶
- Constants
- Variables
- type AITeammateTemplate
- type AITeammateTemplateList
- type AITeammateTemplateService
- type AITeammateTemplateStatus
- type AccountCredential
- type AddFileRequest
- type AddMCPPluginRequest
- type AddMessageRequest
- type AddSkillPluginRequest
- type AddSkillPluginResponse
- type AuthOrgInfo
- type AuthSessionResponse
- type AuthUserInfo
- type AuthorizationCallbackRequest
- type AuthorizationResult
- type AuthorizedAccount
- type Automation
- type AutomationExecution
- type AutomationExecutionList
- type AutomationIntervalInput
- type AutomationList
- type AutomationScheduleInput
- type AutomationService
- type CancelSessionRunRequest
- type CancelSessionRunResponse
- type CheckDigitalAssistantNameRequest
- type CheckDigitalAssistantNameResponse
- type ChooseUinRequest
- type CompleteSessionMessageRequest
- type ConnectMCPPlatformRequest
- type ConnectMCPPlatformResponse
- type ConnectorSkillRef
- type CreateAutomationRequest
- type CreateDepartmentRequest
- type CreateDigitalAssistantFromTemplateRequest
- type CreateDigitalAssistantRequest
- type CreateLLMModelRequest
- type CreateMemberDepartmentRequest
- type CreateOrgMemberRequest
- type CreateOrgRequest
- type CreateOrganizationRequest
- type CreateProjectRequest
- type CreateSessionRequest
- type CreateTaskRequest
- type CreateUserRequest
- type CreateUserResponse
- type DeleteAutomationRequest
- type DeletePluginRequest
- type DeletePluginResponse
- type Department
- type DepartmentList
- type DigitalAssistant
- type DigitalAssistantDetail
- type DigitalAssistantList
- type DigitalAssistantService
- type DigitalAssistantStatus
- type FailedSessionMessageRequest
- type FileDownloadInfo
- type FileObjectInfo
- type FileService
- type FileTreeNode
- type FileUploadResult
- type GetAITeammateTemplateRequest
- type GetAutomationExecutionRequest
- type GetAutomationRequest
- type GetOfficialPluginLatestVersionRequest
- type GetPluginInstallationStatusRequest
- type GetPluginRequest
- type GetPluginResponse
- type GetSessionMessagesRequest
- type IncrementAITeammateTemplateCountRequest
- type InstallOfficialPluginResponse
- type LLMModel
- type LLMModelList
- type LLMModelService
- type ListAITeammateTemplateRequest
- type ListAutomationExecutionsRequest
- type ListAutomationsRequest
- type ListDepartmentRequest
- type ListDigitalAssistantRequest
- type ListLLMModelsRequest
- type ListMCPPlatformsResponse
- type ListMemberDepartmentsRequest
- type ListOfficialPluginMarketplaceItemsRequest
- type ListOfficialPluginMarketplaceItemsResponse
- type ListOrgMembersRequest
- type ListOrgsRequest
- type ListPluginVersionsResponse
- type ListPluginsRequest
- type ListPluginsResponse
- type ListProjectActivitiesRequest
- type ListProjectPluginsRequest
- type ListProjectsRequest
- type ListSessionsRequest
- type ListTasksRequest
- type ListUinRequest
- type ListUinResponse
- type ListUserRequest
- type LoginByPasswordRequest
- type LoginByPhoneCodeRequest
- type MCPPlatformOAuthStatusResponse
- type MCPPlatformView
- type MCPPluginConfig
- type MemberDepartment
- type MemberDepartmentList
- type MemberDepartmentService
- type MemberInput
- type MessageList
- type NewMessageRequest
- type NewMessageResponse
- type OfficialPluginLatestVersionResponse
- type OfficialPluginMarketplaceItemView
- type OfficialPluginMarketplaceService
- type Org
- type OrgList
- type OrgMember
- type OrgMemberDepartment
- type OrgMemberList
- type PluginInstallationStatusResponse
- type PluginPermission
- type PluginPermissionDepartment
- type PluginPermissionMemberInput
- type PluginPermissionMemberView
- type PluginPermissionSettingsView
- type PluginPermissionUserView
- type PluginRevisionContentView
- type PluginRevisionFileView
- type PluginRevisionView
- type PluginService
- type PluginView
- type Project
- type ProjectActivityActor
- type ProjectActivityItem
- type ProjectActivityList
- type ProjectActivityPayloadView
- type ProjectActivitySkill
- type ProjectDetail
- type ProjectFileTreeQuery
- type ProjectFileVersion
- type ProjectFileVersionList
- type ProjectList
- type ProjectMemberItem
- type ProjectMemory
- type ProjectPlugin
- type ProjectPluginMutationResult
- type ProjectService
- type ProjectTaskItem
- type RefreshTokenRequest
- type RegisterByEmailRequest
- type ResolveAuthorizationRequest
- type ResolveSkillDownloadURLsRequest
- type ResolveSkillDownloadURLsResponse
- type ResolvedAuthorization
- type RunAutomationNowRequest
- type SaveWorkbenchRecentContextRequest
- type SendPhoneLoginCodeRequest
- type SendPhoneLoginCodeResponse
- type Session
- type SessionEvent
- type SessionEventSink
- type SessionEventSinkFunc
- type SessionEventsRequest
- type SessionList
- type SessionMessage
- type SessionRunStartedRequest
- type SessionService
- type SetDefaultLLMModelRequest
- type SetLLMModelStatusRequest
- type SkillDownloadURL
- type StartAuthorizationRequest
- type StartMCPPlatformOAuthResponse
- type SubmitApprovalRequest
- type SubmitQuestionAnswerRequest
- type SwitchOrganizationRequest
- type SwitchOrganizationResponse
- type Task
- type TaskList
- type TaskService
- type TestLLMModelRequest
- type TestLLMModelResponse
- type TestMCPPluginRequest
- type TestMCPPluginResponse
- type ThirdAuthService
- type UpdateAutomationRequest
- type UpdateCurrentUserRequest
- type UpdateDepartmentRequest
- type UpdateDigitalAssistantRequest
- type UpdateDigitalAssistantStatusRequest
- type UpdateLLMModelRequest
- type UpdateMCPPluginRequest
- type UpdateMemberDepartmentRequest
- type UpdateOrgMemberRequest
- type UpdateOrgRequest
- type UpdatePluginPermissionsRequest
- type UpdateProjectPluginRequest
- type UpdateProjectRequest
- type UpdateSessionRequest
- type UpdateTaskRequest
- type UpdateUserRequest
- type UploadFileRequest
- type UploadFileResult
- type UserInfo
- type UserList
- type WorkbenchRecentContext
- type WorkerDeploymentStatus
Constants ¶
const ( SkillAddModeFile = "file" SkillAddModeGitHub = "github" )
const (
PluginScopeOrganization = "organization"
)
Variables ¶
var ( // ErrPluginNotFound indicates a plugin resource is not visible in the requested scope. ErrPluginNotFound = errors.New("plugin not found") // ErrPluginForbidden indicates a plugin is visible but the caller lacks the requested permission. ErrPluginForbidden = errors.New("permission denied") // ErrPluginImportNotImplemented indicates that package publication is deferred to a later phase. ErrPluginImportNotImplemented = errors.New("plugin import is not implemented") // ErrInvalidPluginConfig indicates that a plugin configuration failed validation. ErrInvalidPluginConfig = errors.New("invalid plugin config") // ErrPluginPermissionUnsupported indicates the plugin type does not support sharing configuration. ErrPluginPermissionUnsupported = errors.New("plugin permission configuration is not supported for this plugin type") // ErrInvalidPluginPermission indicates an invalid permission update request. ErrInvalidPluginPermission = errors.New("invalid plugin permission request") )
Functions ¶
This section is empty.
Types ¶
type AITeammateTemplate ¶ added in v0.1.22
type AITeammateTemplate struct {
ID uint `json:"id"`
Code string `json:"code"`
Name string `json:"name"`
Description string `json:"description"`
Avatar string `json:"avatar"`
Provider string `json:"provider"`
SystemPrompt string `json:"system_prompt"`
Expertise []string `json:"expertise"`
Category string `json:"category"`
Tags []string `json:"tags"`
SortOrder int `json:"sort_order"`
UseCount int64 `json:"use_count"`
RecommendCount int64 `json:"recommend_count"`
Status string `json:"status"`
IsSystem bool `json:"is_system"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
AITeammateTemplate is the API view for a preset AI teammate template.
type AITeammateTemplateList ¶ added in v0.1.22
type AITeammateTemplateList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []AITeammateTemplate `json:"items"`
}
AITeammateTemplateList is a paginated template list response.
type AITeammateTemplateService ¶ added in v0.1.22
type AITeammateTemplateService interface {
ListAITeammateTemplates(ctx context.Context, req *ListAITeammateTemplateRequest) (*AITeammateTemplateList, error)
GetAITeammateTemplate(ctx context.Context, req *GetAITeammateTemplateRequest) (*AITeammateTemplate, error)
IncrementAITeammateTemplateUseCount(ctx context.Context, req *IncrementAITeammateTemplateCountRequest) (*AITeammateTemplate, error)
IncrementAITeammateTemplateRecommendCount(ctx context.Context, req *IncrementAITeammateTemplateCountRequest) (*AITeammateTemplate, error)
}
AITeammateTemplateService defines preset AI teammate template operations.
type AITeammateTemplateStatus ¶ added in v0.1.22
type AITeammateTemplateStatus string
AITeammateTemplateStatus AI 队友模板状态。
const ( // AITeammateTemplateStatusActive 表示模板可展示和使用。 AITeammateTemplateStatusActive AITeammateTemplateStatus = "active" // AITeammateTemplateStatusInactive 表示模板暂不展示和使用。 AITeammateTemplateStatusInactive AITeammateTemplateStatus = "inactive" )
type AccountCredential ¶
type AccountCredential struct {
AccountID string `json:"account_id"`
GrantType string `json:"grant_type"`
AccessToken string `json:"access_token,omitempty"`
RefreshToken string `json:"refresh_token,omitempty"`
ExpiresAt *time.Time `json:"expires_at,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
AccountCredential 表示账户当前可用的授权材料
type AddFileRequest ¶ added in v0.1.2
type AddFileRequest struct {
PublicID string `json:"public_id" binding:"required"`
}
AddFileRequest 将已上传文件关联到项目的请求
type AddMCPPluginRequest ¶ added in v0.3.7
type AddMCPPluginRequest struct {
MCPPluginConfig
}
AddMCPPluginRequest creates one organization MCP plugin.
type AddMessageRequest ¶
type AddMessageRequest struct {
Role string `json:"role" binding:"required"`
Content string `json:"content" binding:"required"`
ExecutionMode types.ExecutionMode `json:"execution_mode,omitempty" binding:"omitempty,oneof=default plan"`
AssistantIDs []string `json:"assistant_ids,omitempty"`
ConnectorIDs []string `json:"connector_ids,omitempty"`
MessageType string `json:"message_type,omitempty"`
// Scene 区分普通问答与工具场景;空或 normal 为普通问答,bid_comparison 为标书对比。
Scene string `json:"scene,omitempty"`
// OutputFormat 是工具场景要求生成的最终交付格式,如 docx、pdf、pptx、md。
OutputFormat string `json:"output_format,omitempty"`
Chunks []types.MessageChunk `json:"chunks,omitempty"`
Attachments []types.MessageAttachment `json:"attachments,omitempty"`
Thinking string `json:"thinking,omitempty"`
Metadata *types.ObjectMetadata `json:"metadata,omitempty"`
Usage *types.MessageUsage `json:"usage,omitempty"`
}
AddMessageRequest adds a message to a session.
type AddSkillPluginRequest ¶ added in v0.3.7
type AddSkillPluginRequest struct {
Mode string `json:"mode"`
FileUploadID string `json:"file_upload_id"`
GitHubURL string `json:"github_url"`
}
AddSkillPluginRequest adds a Skill plugin using the selected source mode.
type AddSkillPluginResponse ¶ added in v0.4.1
type AddSkillPluginResponse struct {
Operation string `json:"operation"`
Plugin PluginView `json:"plugin"`
}
AddSkillPluginResponse reports the result of importing or publishing a Skill.
type AuthOrgInfo ¶
type AuthOrgInfo struct {
account.AuthOrgInfo
}
type AuthSessionResponse ¶ added in v0.1.23
type AuthSessionResponse struct {
account.AuthSessionOutput
}
type AuthUserInfo ¶
type AuthUserInfo struct {
account.AuthUserInfo
}
type AuthorizationCallbackRequest ¶
type AuthorizationCallbackRequest struct {
Provider string `json:"provider"`
State string `json:"state"`
Code string `json:"code"`
}
AuthorizationCallbackRequest 表示 OAuth 回调请求
type AuthorizationResult ¶
type AuthorizationResult struct {
Account *AuthorizedAccount `json:"account"`
Credential *AccountCredential `json:"credential"`
}
AuthorizationResult 表示完成授权后的结果
type AuthorizedAccount ¶
type AuthorizedAccount struct {
ID string `json:"id"`
UserID string `json:"user_id"`
Provider string `json:"provider"`
OwnerType string `json:"owner_type"`
AccountType string `json:"account_type"`
ExternalAccountID string `json:"external_account_id"`
DisplayName string `json:"display_name"`
Scopes []string `json:"scopes"`
Status string `json:"status"`
Metadata map[string]string `json:"metadata,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
AuthorizedAccount 表示授权后可被系统复用的第三方账户
type Automation ¶ added in v0.3.9
type Automation struct {
PublicID string `json:"public_id"`
OrgID uint `json:"org_id"`
OwnerID uint `json:"owner_id"`
Name string `json:"name"`
Instruction string `json:"instruction,omitempty"`
Enabled bool `json:"enabled"`
ScheduleMode string `json:"schedule_mode"`
ScheduleSpec *types.AutomationScheduleSpec `json:"schedule_spec"`
Timezone string `json:"timezone"`
AssistantID uint `json:"assistant_id"`
NextRunAt *time.Time `json:"next_run_at,omitempty"`
// Summary 周期摘要文案(前端直接展示)
Summary string `json:"summary,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
// 执行状态聚合(列表/详情展示)
// HasActiveExecution 是否存在 queued/running 执行
HasActiveExecution bool `json:"has_active_execution"`
// LastExecutionStatus 最近一次执行状态(无则空)
LastExecutionStatus string `json:"last_execution_status,omitempty"`
// LastExecutionTime 最近一次执行的理论触发时间
LastExecutionTime *time.Time `json:"last_execution_time,omitempty"`
// LastExecutionPublicID 最近一次执行对外 ID
LastExecutionPublicID string `json:"last_execution_public_id,omitempty"`
// LastTaskID 最近一次执行对应的任务主键(用于跳转)
LastTaskID *uint `json:"last_task_id,omitempty"`
// ProjectID 当前自动化项目主键
ProjectID *uint `json:"project_id,omitempty"`
// ProjectPublicID 当前自动化项目的对外 ID(用于前端跳转/回显)
ProjectPublicID string `json:"project_public_id,omitempty"`
// ProjectName 当前自动化项目的名称(用于前端展示)
ProjectName string `json:"project_name,omitempty"`
}
Automation 自动化响应结构
type AutomationExecution ¶ added in v0.3.9
type AutomationExecution struct {
PublicID string `json:"public_id"`
AutomationID uint `json:"automation_id"`
OrgID uint `json:"org_id"`
OwnerID uint `json:"owner_id"`
TriggerType string `json:"trigger_type"`
Status string `json:"status"`
ScheduledAt time.Time `json:"scheduled_at"`
NotAfter *time.Time `json:"not_after,omitempty"`
StartedAt *time.Time `json:"started_at,omitempty"`
FinishedAt *time.Time `json:"finished_at,omitempty"`
NameSnapshot string `json:"name_snapshot"`
InstructionSnapshot string `json:"instruction_snapshot,omitempty"`
AssistantIDSnapshot uint `json:"assistant_id_snapshot"`
MissedCount int `json:"missed_count"`
ProjectID *uint `json:"project_id,omitempty"`
TaskID *uint `json:"task_id,omitempty"`
SessionID *uint `json:"session_id,omitempty"`
MessageID *uint `json:"message_id,omitempty"`
// 关联实体的对外 public_id(用于前端跳转),仅展示,不落库
ProjectPublicID string `json:"project_public_id,omitempty"`
TaskPublicID string `json:"task_public_id,omitempty"`
SessionPublicID string `json:"session_public_id,omitempty"`
MessagePublicID string `json:"message_public_id,omitempty"`
RunID string `json:"run_id,omitempty"`
AttemptCount int `json:"attempt_count"`
ErrorCode string `json:"error_code,omitempty"`
ErrorMsg string `json:"error_msg,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
AutomationExecution 执行记录响应
type AutomationExecutionList ¶ added in v0.3.9
type AutomationExecutionList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []AutomationExecution `json:"items"`
}
AutomationExecutionList 执行历史列表响应
type AutomationIntervalInput ¶ added in v0.4.1
type AutomationIntervalInput struct {
IntervalSeconds int64 `json:"interval_seconds,omitempty"`
IntervalMinutes int `json:"interval_minutes,omitempty"`
IntervalUnit string `json:"interval_unit,omitempty"`
}
AutomationIntervalInput 是不含 legacy anchor_at 的固定间隔请求模型。
type AutomationList ¶ added in v0.3.9
type AutomationList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []Automation `json:"items"`
}
AutomationList 自动化列表响应
type AutomationScheduleInput ¶ added in v0.4.1
type AutomationScheduleInput struct {
Mode string `json:"mode"`
Calendar *types.AutomationCalendarConfig `json:"calendar,omitempty"`
Interval *AutomationIntervalInput `json:"interval,omitempty"`
Timezone string `json:"timezone,omitempty"`
}
AutomationScheduleInput 是创建/更新请求的调度输入模型。 它不暴露存量 v1 的 anchor_at;旧字段只存在于数据库回填模型中。
func (*AutomationScheduleInput) FormConfig ¶ added in v0.4.1
func (s *AutomationScheduleInput) FormConfig() *types.AutomationScheduleFormConfig
FormConfig 转为内部存储/编译使用的表单结构。
type AutomationService ¶ added in v0.3.9
type AutomationService interface {
CreateAutomation(ctx context.Context, req *CreateAutomationRequest) (*Automation, error)
GetAutomation(ctx context.Context, publicID string) (*Automation, error)
UpdateAutomation(ctx context.Context, publicID string, req *UpdateAutomationRequest) (*Automation, error)
DeleteAutomation(ctx context.Context, publicID string) error
ListAutomations(ctx context.Context, req *ListAutomationsRequest) (*AutomationList, error)
RunAutomationNow(ctx context.Context, publicID string) (*AutomationExecution, error)
ListAutomationExecutions(ctx context.Context, req *ListAutomationExecutionsRequest) (*AutomationExecutionList, error)
GetAutomationExecution(ctx context.Context, publicID string) (*AutomationExecution, error)
}
AutomationService 定义自动化服务接口
type CancelSessionRunRequest ¶ added in v0.1.17
type CancelSessionRunRequest struct {
SessionID string `json:"session_id" binding:"required"`
RunID string `json:"run_id,omitempty"`
AssistantID string `json:"assistant_id,omitempty"`
Reason string `json:"reason,omitempty"`
}
CancelSessionRunRequest is the request body for cancelling a session agent run.
type CancelSessionRunResponse ¶ added in v0.1.17
type CancelSessionRunResponse struct {
SessionID string `json:"session_id"`
Status string `json:"status"` // "cancelled" | "no_active_run"
}
CancelSessionRunResponse is the response for a cancel session run request.
type CheckDigitalAssistantNameRequest ¶ added in v0.3.0
type CheckDigitalAssistantNameRequest struct {
Name string `json:"name" binding:"required"`
ExcludeID uint `json:"exclude_id,omitempty"`
}
CheckDigitalAssistantNameRequest checks whether a teammate name can be used in the current organization.
type CheckDigitalAssistantNameResponse ¶ added in v0.3.0
type CheckDigitalAssistantNameResponse struct {
Available bool `json:"available"`
}
CheckDigitalAssistantNameResponse returns the availability of a normalized teammate name.
type ChooseUinRequest ¶ added in v0.3.3
type ChooseUinRequest struct {
account.ChooseUinInput
}
type CompleteSessionMessageRequest ¶
type CompleteSessionMessageRequest struct {
SessionID string `json:"session_id"`
Content string `json:"content"`
ReplyToMessageIDs []string `json:"reply_to_message_ids,omitempty"`
Chunks []types.MessageChunk `json:"chunks,omitempty"`
Artifacts []types.MessageArtifact `json:"artifacts,omitempty"`
Metadata *types.ObjectMetadata `json:"metadata,omitempty"`
Usage *types.MessageUsage `json:"usage,omitempty"`
Seq int64 `json:"seq"`
CreatedAt time.Time `json:"created_at"`
RunID string `json:"run_id,omitempty"`
AssistantID string `json:"assistant_id,omitempty"`
}
CompleteSessionMessageRequest persists a completed assistant message.
type ConnectMCPPlatformRequest ¶ added in v0.3.7
type ConnectMCPPlatformRequest struct {
AuthValues map[string]string `json:"auth_values,omitempty"`
}
ConnectMCPPlatformRequest contains schema-defined authorization values.
type ConnectMCPPlatformResponse ¶ added in v0.3.7
type ConnectMCPPlatformResponse struct {
Platform MCPPlatformView `json:"platform"`
Plugin PluginView `json:"plugin"`
ToolCount int `json:"tool_count"`
}
ConnectMCPPlatformResponse returns the connected platform and created plugin.
type ConnectorSkillRef ¶ added in v0.3.7
ConnectorSkillRef identifies the immutable project connector revision requesting a Skill artifact.
type CreateAutomationRequest ¶ added in v0.3.9
type CreateAutomationRequest struct {
Name string `json:"name" binding:"required"`
Instruction string `json:"instruction,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
ScheduleMode string `json:"schedule_mode" binding:"required"`
Schedule *AutomationScheduleInput `json:"schedule" binding:"required"`
Timezone string `json:"timezone,omitempty"`
// ProjectPublicID 关联的既有项目对外 ID(可选)。空/省略:使用默认新项目(首次执行懒创建)。
ProjectPublicID string `json:"project_public_id,omitempty"`
}
CreateAutomationRequest 创建自动化请求
type CreateDepartmentRequest ¶ added in v0.1.23
type CreateDepartmentRequest struct {
account.CreateDepartmentInput
}
type CreateDigitalAssistantFromTemplateRequest ¶ added in v0.1.22
type CreateDigitalAssistantFromTemplateRequest struct {
TemplateID uint `json:"template_id" binding:"required"`
Name string `json:"name"`
RoleName string `json:"role_name"`
Description string `json:"description"`
Avatar string `json:"avatar"`
SystemPrompt string `json:"system_prompt"`
Expertise []string `json:"expertise"`
}
CreateDigitalAssistantFromTemplateRequest 基于模板创建数字助手请求
type CreateDigitalAssistantRequest ¶
type CreateDigitalAssistantRequest struct {
Name string `json:"name" binding:"required"`
RoleName string `json:"role_name"`
Description string `json:"description"`
Avatar string `json:"avatar"`
SystemPrompt string `json:"system_prompt"`
Expertise []string `json:"expertise"`
TemplateID *uint `json:"template_id,omitempty"`
Source string `json:"source"`
}
CreateDigitalAssistantRequest 创建数字助手请求
type CreateLLMModelRequest ¶
type CreateLLMModelRequest struct {
Name string `json:"name" binding:"required"`
Description string `json:"description,omitempty"`
Provider string `json:"provider,omitempty"`
Model string `json:"model" binding:"required"`
BaseURL string `json:"base_url" binding:"required"`
APIKey string `json:"api_key" binding:"required"`
Status string `json:"status,omitempty"`
Purpose string `json:"purpose" binding:"required"`
IsDefault bool `json:"is_default,omitempty"`
Config map[string]interface{} `json:"config,omitempty"`
MaxTokens *int `json:"max_tokens,omitempty"`
Temperature *float64 `json:"temperature,omitempty"`
}
CreateLLMModelRequest 创建LLM模型配置请求
type CreateMemberDepartmentRequest ¶ added in v0.1.23
type CreateOrgMemberRequest ¶
type CreateOrgMemberRequest struct {
account.CreateOrgMemberInput
}
type CreateOrgRequest ¶
type CreateOrgRequest struct {
account.CreateOrgInput
}
type CreateOrganizationRequest ¶ added in v0.1.23
type CreateOrganizationRequest struct {
account.CreateOrganizationInput
}
type CreateProjectRequest ¶
type CreateProjectRequest struct {
Name string `json:"name" binding:"required"`
Description string `json:"description,omitempty"`
Objective string `json:"objective,omitempty"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
Members []MemberInput `json:"members,omitempty"`
}
CreateProjectRequest 创建项目请求
type CreateSessionRequest ¶
type CreateSessionRequest struct {
SessionID string `json:"session_id,omitempty"`
Type string `json:"type" binding:"required"`
AssistantID string `json:"assistant_id,omitempty"`
Title string `json:"title,omitempty"`
Metadata *types.ObjectMetadata `json:"metadata,omitempty"`
ExpiredAt *time.Time `json:"expired_at,omitempty"`
}
CreateSessionRequest creates a session.
type CreateTaskRequest ¶
type CreateTaskRequest struct {
ProjectID string `json:"project_id" binding:"required"`
Title string `json:"title" binding:"required"`
Description string `json:"description,omitempty"`
TaskType *string `json:"task_type,omitempty"`
AssigneeID *uint `json:"assignee_id,omitempty"`
Deadline *time.Time `json:"deadline,omitempty"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
CreateTaskRequest 创建任务请求
type CreateUserRequest ¶
type CreateUserRequest struct {
account.CreateUserInput
}
type CreateUserResponse ¶ added in v0.3.3
type CreateUserResponse struct {
account.CreateUserResponse
}
type DeleteAutomationRequest ¶ added in v0.3.9
type DeleteAutomationRequest struct {
PublicID string `json:"public_id" binding:"required"`
}
DeleteAutomationRequest 删除自动化请求
type DeletePluginRequest ¶ added in v0.3.7
type DeletePluginRequest struct {
ProjectID string `form:"project_id" json:"project_id,omitempty"`
}
DeletePluginRequest optionally removes a plugin from one project instead of archiving it.
type DeletePluginResponse ¶ added in v0.3.7
type DeletePluginResponse struct {
Operation string `json:"operation"`
}
DeletePluginResponse reports which operation completed.
type Department ¶ added in v0.1.23
type Department struct {
account.Department
}
type DepartmentList ¶ added in v0.1.23
type DepartmentList struct {
account.DepartmentList
}
type DigitalAssistant ¶
type DigitalAssistant struct {
ID uint `json:"id"`
PublicID string `json:"public_id"`
OrgID uint `json:"org_id"`
OwnerID uint `json:"owner_id"`
Name string `json:"name"`
RoleName string `json:"role_name"`
Description string `json:"description"`
Avatar string `json:"avatar"`
Status string `json:"status"`
Version int `json:"version"`
SystemPrompt string `json:"system_prompt"`
Expertise []string `json:"expertise"`
TemplateID *uint `json:"template_id,omitempty"`
Source string `json:"source"`
Deployment *WorkerDeploymentStatus `json:"deployment,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
DigitalAssistant 数字助手信息
type DigitalAssistantDetail ¶
type DigitalAssistantDetail struct {
DigitalAssistant
}
DigitalAssistantDetail 数字助手详情响应
type DigitalAssistantList ¶
type DigitalAssistantList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []DigitalAssistant `json:"items"`
}
DigitalAssistantList 数字助手列表响应
type DigitalAssistantService ¶
type DigitalAssistantService interface {
// 创建数字助手
CreateDigitalAssistant(ctx context.Context, req *CreateDigitalAssistantRequest) (*DigitalAssistant, error)
// 根据 ID 获取数字助手详情(从上下文获取权限信息)
GetDigitalAssistantByID(ctx context.Context, id uint) (*DigitalAssistantDetail, error)
// 根据 PublicID 获取数字助手详情(从上下文获取权限信息)
GetDigitalAssistantByPublicID(ctx context.Context, publicID string) (*DigitalAssistantDetail, error)
// 更新数字助手信息(从上下文获取权限信息)
UpdateDigitalAssistant(ctx context.Context, id uint, req *UpdateDigitalAssistantRequest) (*DigitalAssistant, error)
// 删除数字助手(从上下文获取权限信息)
DeleteDigitalAssistant(ctx context.Context, id uint) error
// 查询数字助手列表(从上下文获取权限信息)
ListDigitalAssistant(ctx context.Context, req *ListDigitalAssistantRequest) (*DigitalAssistantList, error)
// 检查当前组织内的数字助手名称是否可用。
CheckDigitalAssistantName(ctx context.Context, req *CheckDigitalAssistantNameRequest) (*CheckDigitalAssistantNameResponse, error)
// 更新数字助手状态(从上下文获取权限信息)
UpdateDigitalAssistantStatus(ctx context.Context, id uint, req *UpdateDigitalAssistantStatusRequest) error
// 基于模板创建数字助手(从上下文获取权限信息)
CreateDigitalAssistantFromTemplate(ctx context.Context, req *CreateDigitalAssistantFromTemplateRequest) (*DigitalAssistant, error)
}
DigitalAssistantService 定义数字助手服务接口
type DigitalAssistantStatus ¶
type DigitalAssistantStatus string
DigitalAssistantStatus 数字助手状态常量
const ( DigitalAssistantStatusDraft DigitalAssistantStatus = "draft" DigitalAssistantStatusActive DigitalAssistantStatus = "active" DigitalAssistantStatusInactive DigitalAssistantStatus = "inactive" DigitalAssistantStatusArchived DigitalAssistantStatus = "archived" )
type FailedSessionMessageRequest ¶
type FailedSessionMessageRequest struct {
SessionID string `json:"session_id"`
Content string `json:"content,omitempty"`
ReplyToMessageIDs []string `json:"reply_to_message_ids,omitempty"`
Chunks []types.MessageChunk `json:"chunks,omitempty"`
Artifacts []types.MessageArtifact `json:"artifacts,omitempty"`
ErrorMsg string `json:"error_msg"`
ErrorCode string `json:"error_code,omitempty"`
Status string `json:"status,omitempty"`
Metadata *types.ObjectMetadata `json:"metadata,omitempty"`
Usage *types.MessageUsage `json:"usage,omitempty"`
Seq int64 `json:"seq"`
CreatedAt time.Time `json:"created_at"`
RunID string `json:"run_id,omitempty"`
AssistantID string `json:"assistant_id,omitempty"`
}
FailedSessionMessageRequest persists a failed assistant message.
type FileDownloadInfo ¶ added in v0.1.2
type FileObjectInfo ¶ added in v0.1.2
type FileObjectInfo struct {
Key string `json:"key"`
Filename string `json:"filename"`
OriginalName string `json:"original_name"`
MimeType string `json:"mime_type"`
FileSize int64 `json:"file_size"`
PublicID string `json:"public_id"`
ModTime int64 `json:"mod_time,omitempty"`
URL string `json:"url,omitempty"`
}
type FileService ¶ added in v0.1.2
type FileService interface {
UploadFile(ctx context.Context, req *UploadFileRequest) (*UploadFileResult, error)
DownloadFile(ctx context.Context, orgID uint, fileID string) (io.ReadCloser, *FileDownloadInfo, error)
DownloadFileByURI(ctx context.Context, orgID uint, storageURI string) (io.ReadCloser, *FileDownloadInfo, error)
PresignDownloadURL(ctx context.Context, orgID uint, publicID, storageURI string) (string, error)
}
type FileTreeNode ¶
type FileTreeNode struct {
Name string `json:"name"`
Path string `json:"path"`
Type string `json:"type"`
Size int64 `json:"size,omitempty"`
MimeType string `json:"mime_type,omitempty"`
ModTime int64 `json:"mod_time,omitempty"`
CreatedAt int64 `json:"created_at,omitempty"`
PublicID string `json:"public_id,omitempty"`
StorageURI string `json:"storage_uri,omitempty"`
Sha256 string `json:"sha256,omitempty"`
InitialFilePublicID string `json:"initial_file_public_id,omitempty"`
VersionNo int `json:"version_no,omitempty"`
VersionLabel string `json:"version_label,omitempty"`
VersionCount int `json:"version_count,omitempty"`
ResourceType string `json:"resource_type,omitempty"`
}
FileTreeNode 文件树节点。列表接口以平铺结构返回,前端按 parent_id 组装树。
type FileUploadResult ¶
type FileUploadResult struct {
PublicID string `json:"public_id"` // 文件记录 public_id
Path string `json:"path"` // 相对 repo 根目录的路径
Filename string `json:"filename"` // 文件名
Size int64 `json:"size"` // 文件大小(字节)
URL string `json:"url,omitempty"` // 文件访问 URL
}
FileUploadResult 文件上传结果
type GetAITeammateTemplateRequest ¶ added in v0.1.22
type GetAITeammateTemplateRequest struct {
ID *uint `json:"id,omitempty"`
Code *string `json:"code,omitempty"`
}
GetAITeammateTemplateRequest gets a template by ID or code.
type GetAutomationExecutionRequest ¶ added in v0.3.9
type GetAutomationExecutionRequest struct {
PublicID string `json:"public_id" binding:"required"`
}
GetAutomationExecutionRequest 查询执行详情请求
type GetAutomationRequest ¶ added in v0.3.9
type GetAutomationRequest struct {
PublicID string `json:"public_id" binding:"required"`
}
GetAutomationRequest 查询自动化详情请求
type GetOfficialPluginLatestVersionRequest ¶ added in v0.3.7
type GetOfficialPluginLatestVersionRequest struct {
Kind string `form:"kind" json:"kind"`
Code string `form:"code" json:"code"`
}
GetOfficialPluginLatestVersionRequest identifies one official plugin by stable identity.
type GetPluginInstallationStatusRequest ¶ added in v0.3.7
type GetPluginInstallationStatusRequest struct {
Kind string `form:"kind" json:"kind"`
Code string `form:"code" json:"code"`
}
GetPluginInstallationStatusRequest identifies one organization plugin by stable identity.
type GetPluginRequest ¶ added in v0.3.7
type GetPluginRequest struct{}
GetPluginRequest selects an organization plugin by public ID.
type GetPluginResponse ¶ added in v0.3.7
type GetPluginResponse struct {
Plugin *PluginView `json:"plugin,omitempty"`
Content *PluginRevisionContentView `json:"content"`
// Definition is returned for non-bundle plugin kinds such as MCP.
Definition json.RawMessage `json:"definition,omitempty"`
}
GetPluginResponse contains one organization plugin detail.
type GetSessionMessagesRequest ¶ added in v0.1.4
type GetSessionMessagesRequest struct {
SessionID string `json:"session_id"`
Page int `json:"page,omitempty"`
PerPage int `json:"per_page,omitempty"`
}
GetSessionMessagesRequest queries paged session messages.
type IncrementAITeammateTemplateCountRequest ¶ added in v0.1.22
type IncrementAITeammateTemplateCountRequest struct {
ID *uint `json:"id,omitempty"`
Code *string `json:"code,omitempty"`
}
IncrementAITeammateTemplateCountRequest increments a template counter.
type InstallOfficialPluginResponse ¶ added in v0.3.7
type InstallOfficialPluginResponse struct {
Operation string `json:"operation"`
Plugin PluginView `json:"plugin"`
}
type LLMModel ¶
type LLMModel struct {
ID uint `json:"id"`
OrgID uint `json:"org_id"`
Code string `json:"code"`
Name string `json:"name"`
Description string `json:"description"`
Provider string `json:"provider"`
Model string `json:"model"`
BaseURL string `json:"base_url"`
BaseURLHasV1 bool `json:"base_url_has_v1"`
APIKey string `json:"api_key"`
MaxTokens int `json:"max_tokens"`
Temperature float64 `json:"temperature"`
TimeoutSec int `json:"timeout_sec"`
Status string `json:"status"`
Purpose string `json:"purpose"`
IsDefault bool `json:"is_default"`
IsSystem bool `json:"is_system"`
Config map[string]interface{} `json:"config,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
LLMModel LLM模型配置响应结构
type LLMModelList ¶
type LLMModelList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []LLMModel `json:"items"`
}
LLMModelList LLM模型配置列表响应
type LLMModelService ¶
type LLMModelService interface {
// 创建LLM模型配置
CreateLLMModel(ctx context.Context, req *CreateLLMModelRequest) (*LLMModel, error)
// 根据ID或Code获取LLM模型配置
GetLLMModel(ctx context.Context, id uint, code string) (*LLMModel, error)
// 获取组织默认LLM模型配置
GetDefaultLLMModel(ctx context.Context) (*LLMModel, error)
// 更新LLM模型配置
UpdateLLMModel(ctx context.Context, id uint, req *UpdateLLMModelRequest) (*LLMModel, error)
// 将指定LLM模型设为所属用途的默认模型
SetDefaultLLMModel(ctx context.Context, id uint) (*LLMModel, error)
// 启用或禁用LLM模型配置
SetLLMModelStatus(ctx context.Context, id uint, status string) (*LLMModel, error)
// 删除LLM模型配置
DeleteLLMModel(ctx context.Context, id uint) error
// 查询LLM模型配置列表
ListLLMModels(ctx context.Context, req *ListLLMModelsRequest) (*LLMModelList, error)
// 测试LLM模型配置连通性
TestLLMModel(ctx context.Context, req *TestLLMModelRequest) (*TestLLMModelResponse, error)
}
LLMModelService 定义LLM模型配置服务接口
type ListAITeammateTemplateRequest ¶ added in v0.1.22
type ListAITeammateTemplateRequest struct {
Keyword *string `json:"keyword,omitempty"`
Category *string `json:"category,omitempty"`
Status *string `json:"status,omitempty"`
types.Pagination
}
ListAITeammateTemplateRequest queries AI teammate templates.
type ListAutomationExecutionsRequest ¶ added in v0.3.9
type ListAutomationExecutionsRequest struct {
PublicID string `json:"public_id" binding:"required"`
Status *string `json:"status,omitempty"`
types.Pagination
}
ListAutomationExecutionsRequest 查询执行历史请求
type ListAutomationsRequest ¶ added in v0.3.9
type ListAutomationsRequest struct {
Keyword *string `json:"keyword,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
ScheduleMode *string `json:"schedule_mode,omitempty"`
types.Pagination
}
ListAutomationsRequest 查询自动化列表请求
type ListDepartmentRequest ¶ added in v0.3.3
type ListDepartmentRequest struct {
account.ListDepartmentInput
}
type ListDigitalAssistantRequest ¶
type ListDigitalAssistantRequest struct {
Status *string `json:"status,omitempty"`
Keyword *string `json:"keyword,omitempty"`
Source *string `json:"source,omitempty"`
types.Pagination
}
ListDigitalAssistantRequest 查询数字助手列表请求
type ListLLMModelsRequest ¶
type ListLLMModelsRequest struct {
Provider *string `json:"provider,omitempty"`
Status *string `json:"status,omitempty"`
Purpose *string `json:"purpose,omitempty"`
Keyword *string `json:"keyword,omitempty"`
types.Pagination
}
ListLLMModelsRequest 查询LLM模型配置列表请求
type ListMCPPlatformsResponse ¶ added in v0.3.7
type ListMCPPlatformsResponse struct {
Platforms []MCPPlatformView `json:"platforms"`
}
ListMCPPlatformsResponse contains the built-in MCP platform catalogue.
type ListMemberDepartmentsRequest ¶ added in v0.1.23
type ListOfficialPluginMarketplaceItemsRequest ¶ added in v0.3.7
type ListOfficialPluginMarketplaceItemsRequest struct {
Kind string `form:"kind" json:"kind,omitempty"`
Category string `form:"category" json:"category,omitempty"`
Keyword string `form:"keyword" json:"keyword,omitempty"`
Limit int `form:"limit" json:"limit,omitempty"`
}
ListOfficialPluginMarketplaceItemsRequest filters the official plugin catalogue.
type ListOfficialPluginMarketplaceItemsResponse ¶ added in v0.3.7
type ListOfficialPluginMarketplaceItemsResponse struct {
Items []OfficialPluginMarketplaceItemView `json:"items"`
}
type ListOrgMembersRequest ¶
type ListOrgMembersRequest struct {
account.ListOrgMembersInput
}
type ListOrgsRequest ¶
type ListOrgsRequest struct {
account.ListOrgsInput
}
type ListPluginVersionsResponse ¶ added in v0.3.7
type ListPluginVersionsResponse struct {
Versions []PluginRevisionView `json:"versions"`
}
ListPluginVersionsResponse contains organization plugin revisions.
type ListPluginsRequest ¶ added in v0.3.7
type ListPluginsRequest struct {
Kind string `form:"kind" json:"kind,omitempty"`
Status string `form:"status" json:"status,omitempty"`
Category string `form:"category" json:"category,omitempty"`
Keyword string `form:"keyword" json:"keyword,omitempty"`
Offset int `form:"offset" json:"offset,omitempty"`
Limit int `form:"limit" json:"limit,omitempty"`
Relation string `form:"relation" json:"relation,omitempty"`
ExcludeMarketplaceBased bool `form:"exclude_marketplace_based" json:"exclude_marketplace_based,omitempty"`
}
ListPluginsRequest describes filters for organization plugin lists.
type ListPluginsResponse ¶ added in v0.3.7
type ListPluginsResponse struct {
Plugins []PluginView `json:"plugins"`
}
ListPluginsResponse contains organization plugins.
type ListProjectActivitiesRequest ¶ added in v0.2.1
type ListProjectActivitiesRequest struct {
ProjectID string `json:"project_id,omitempty"`
OperatorID string `json:"operator_id,omitempty"`
OperatorIDs []string `json:"operator_ids,omitempty"`
Cursor string `json:"cursor,omitempty"`
Limit int `json:"limit,omitempty"`
}
ListProjectActivitiesRequest 查询项目操作动态请求。
type ListProjectPluginsRequest ¶ added in v0.3.7
type ListProjectPluginsRequest struct {
PublicID string `json:"public_id" binding:"required"`
Kind string `json:"kind,omitempty"`
Keyword string `json:"keyword,omitempty"`
Offset int `json:"offset,omitempty"`
Limit int `json:"limit,omitempty"`
}
ListProjectPluginsRequest filters plugins bound to a project.
type ListProjectsRequest ¶
type ListProjectsRequest struct {
Keyword *string `json:"keyword,omitempty"`
Status *string `json:"status,omitempty"`
types.Pagination
}
ListProjectsRequest 查询项目列表请求
type ListSessionsRequest ¶
type ListSessionsRequest struct {
Type *string `json:"type,omitempty"`
Status *string `json:"status,omitempty"`
AssistantID *string `json:"assistant_id,omitempty"`
Keyword *string `json:"keyword,omitempty"`
types.Pagination
}
ListSessionsRequest queries sessions.
type ListTasksRequest ¶
type ListTasksRequest struct {
Keyword *string `json:"keyword,omitempty"`
Status *string `json:"status,omitempty"`
ProjectID *string `json:"project_id,omitempty"`
TaskType *string `json:"task_type,omitempty"`
AssigneeID *uint `json:"assignee_id,omitempty"`
types.Pagination
}
ListTasksRequest 查询任务列表请求
type ListUinRequest ¶ added in v0.3.3
type ListUinRequest struct{}
type ListUinResponse ¶ added in v0.3.3
type ListUinResponse struct {
account.ListUinOutput
}
type ListUserRequest ¶ added in v0.3.3
type ListUserRequest struct {
account.ListUserInput
}
type LoginByPasswordRequest ¶ added in v0.3.7
type LoginByPasswordRequest struct {
account.LoginByPasswordInput
}
type LoginByPhoneCodeRequest ¶ added in v0.1.12
type LoginByPhoneCodeRequest struct {
account.LoginByPhoneCodeInput
}
type MCPPlatformOAuthStatusResponse ¶ added in v0.3.7
type MCPPlatformOAuthStatusResponse struct {
AttemptID string `json:"attempt_id"`
Status string `json:"status"`
PluginID string `json:"plugin_id,omitempty"`
DisplayName string `json:"display_name,omitempty"`
ErrorCode string `json:"error_code,omitempty"`
Connected bool `json:"connected"`
}
MCPPlatformOAuthStatusResponse is the safe polling view of one OAuth attempt.
type MCPPlatformView ¶ added in v0.3.7
type MCPPlatformView struct {
Code string `json:"code"`
Name string `json:"name"`
Description string `json:"description"`
Mode string `json:"mode"`
AuthType string `json:"auth_type"`
AuthDescription string `json:"auth_description,omitempty"`
AuthFields []types.MCPChannelAuthField `json:"auth_fields,omitempty"`
AutoConnectSupported bool `json:"auto_connect_supported"`
Connected bool `json:"connected"`
AuthorizationStatus string `json:"authorization_status,omitempty"`
PluginID string `json:"plugin_id,omitempty"`
}
MCPPlatformView describes one built-in platform and the caller's connection state.
type MCPPluginConfig ¶ added in v0.3.7
type MCPPluginConfig struct {
Code string `json:"code,omitempty"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Transport string `json:"transport,omitempty"`
URL string `json:"url,omitempty"`
BearerToken string `json:"bearer_token,omitempty"`
Headers map[string]string `json:"headers,omitempty"`
Command string `json:"command,omitempty"`
Args []string `json:"args,omitempty"`
Env map[string]string `json:"env,omitempty"`
Provider string `json:"-"`
}
MCPPluginConfig is the organization-managed HTTP or stdio MCP configuration. Code is optional on create and update; the service generates it for new plugins.
type MemberDepartment ¶ added in v0.1.23
type MemberDepartmentList ¶ added in v0.1.23
type MemberDepartmentList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []MemberDepartment `json:"items"`
}
type MemberDepartmentService ¶ added in v0.1.23
type MemberDepartmentService interface {
CreateMemberDepartment(ctx context.Context, req *CreateMemberDepartmentRequest) (*MemberDepartment, error)
GetMemberDepartment(ctx context.Context, id uint) (*MemberDepartment, error)
UpdateMemberDepartment(ctx context.Context, id uint, req *UpdateMemberDepartmentRequest) (*MemberDepartment, error)
DeleteMemberDepartment(ctx context.Context, id uint) error
ListMemberDepartments(ctx context.Context, req *ListMemberDepartmentsRequest) (*MemberDepartmentList, error)
}
type MemberInput ¶ added in v0.1.26
type MemberInput struct {
Type string `json:"type" binding:"required"` // "user" | "assistant"
ID string `json:"id" binding:"required"` // user 传 public_id, assistant 传 public_id
Role string `json:"role,omitempty"` // 仅 type=user 生效,可选 owner|admin|member,空值默认 member
}
MemberInput 创建/编辑项目时传入的成员项
type MessageList ¶
type MessageList struct {
Total int64 `json:"total"`
Page int `json:"page"`
Items []SessionMessage `json:"items"`
}
MessageList is a paginated session message response.
type NewMessageRequest ¶
type NewMessageRequest struct {
Content string `json:"content,omitempty"`
ExecutionMode types.ExecutionMode `json:"execution_mode,omitempty" binding:"omitempty,oneof=default plan"`
ProjectID string `json:"project_id,omitempty"`
TaskID string `json:"task_id,omitempty"`
AssistantIDs []string `json:"assistant_ids,omitempty"`
ConnectorIDs []string `json:"connector_ids,omitempty"`
MessageType string `json:"message_type,omitempty"`
Objective string `json:"objective,omitempty"`
// Scene 区分普通问答与工具场景;空或 normal 为普通问答,bid_comparison 为标书对比。
Scene string `json:"scene,omitempty"`
// OutputFormat 是工具场景要求生成的最终交付格式,如 docx、pdf、pptx、md。
OutputFormat string `json:"output_format,omitempty"`
Attachments []types.MessageAttachment `json:"attachments,omitempty"`
Metadata *types.ObjectMetadata `json:"metadata,omitempty"`
}
NewMessageRequest is the homepage new-message request that atomically creates Project + Task + Session and dispatches to the allocated AgentWorker.
type NewMessageResponse ¶
type NewMessageResponse struct {
ProjectID string `json:"project_id"`
TaskID string `json:"task_id"`
SessionID string `json:"session_id"`
MessageID string `json:"message_id"`
AssistantID string `json:"assistant_id"`
}
NewMessageResponse is the homepage new-message response containing IDs of all created entities so the frontend can navigate to the session.
type OfficialPluginLatestVersionResponse ¶ added in v0.3.7
type OfficialPluginLatestVersionResponse struct {
Kind string `json:"kind"`
Code string `json:"code"`
Available bool `json:"available"`
ItemID string `json:"item_id,omitempty"`
LatestVersion string `json:"latest_version,omitempty"`
}
OfficialPluginLatestVersionResponse reports whether an official release is available.
type OfficialPluginMarketplaceItemView ¶ added in v0.3.7
type OfficialPluginMarketplaceItemView struct {
PublicID string `json:"public_id"`
Code string `json:"code"`
Kind string `json:"kind"`
Name string `json:"name"`
DisplayName string `json:"display_name,omitempty"`
Description string `json:"description,omitempty"`
Author string `json:"author"`
Version string `json:"version"`
Category string `json:"category"`
Tags []string `json:"tags"`
Icon string `json:"icon,omitempty"`
Verified bool `json:"verified"`
Installed bool `json:"installed"`
InstalledPluginID string `json:"installed_plugin_id,omitempty"`
MarketplaceAvailable bool `json:"marketplace_available"`
LatestVersion string `json:"latest_version,omitempty"`
UpdateAvailable bool `json:"update_available"`
OrganizationOverride bool `json:"organization_override"`
Content *PluginRevisionContentView `json:"content,omitempty"`
}
OfficialPluginMarketplaceItemView is the public projection of one official plugin.
type OfficialPluginMarketplaceService ¶ added in v0.3.7
type OfficialPluginMarketplaceService interface {
ListOfficialPluginMarketplaceItems(ctx context.Context, orgID uint, req *ListOfficialPluginMarketplaceItemsRequest) (*ListOfficialPluginMarketplaceItemsResponse, error)
GetOfficialPluginMarketplaceItem(ctx context.Context, orgID uint, itemID string) (*OfficialPluginMarketplaceItemView, error)
GetOfficialPluginLatestVersion(ctx context.Context, req *GetOfficialPluginLatestVersionRequest) (*OfficialPluginLatestVersionResponse, error)
InstallOfficialPlugin(ctx context.Context, orgID, uin uint, itemID string) (*InstallOfficialPluginResponse, error)
}
OfficialPluginMarketplaceService isolates official catalogue reads and installs from organization plugin APIs.
type OrgMemberDepartment ¶ added in v0.2.1
type OrgMemberDepartment struct {
account.OrgMemberDepartment
}
type OrgMemberList ¶
type OrgMemberList struct {
account.OrgMemberList
}
type PluginInstallationStatusResponse ¶ added in v0.3.7
type PluginInstallationStatusResponse struct {
Kind string `json:"kind"`
Code string `json:"code"`
Installed bool `json:"installed"`
PluginID string `json:"plugin_id,omitempty"`
CurrentVersion string `json:"current_version,omitempty"`
MarketplaceBased bool `json:"marketplace_based"`
MarketplaceItemID string `json:"marketplace_item_id,omitempty"`
InstalledMarketplaceVersion string `json:"installed_marketplace_version,omitempty"`
MarketplaceAvailable bool `json:"marketplace_available"`
LatestMarketplaceVersion string `json:"latest_marketplace_version,omitempty"`
UpdateAvailable bool `json:"update_available"`
}
PluginInstallationStatusResponse describes installation and official update state.
type PluginPermission ¶ added in v0.4.1
type PluginPermission struct {
Role types.ResourceRole `json:"role,omitempty"`
}
PluginPermission is the caller's direct role on one plugin.
type PluginPermissionDepartment ¶ added in v0.4.1
type PluginPermissionDepartment struct {
DepartmentID uint `json:"department_id"`
Name string `json:"name"`
}
PluginPermissionDepartment 是成员部门展示信息。
type PluginPermissionMemberInput ¶ added in v0.4.1
type PluginPermissionMemberInput struct {
User struct {
PublicID string `json:"public_id"`
} `json:"user"`
Role types.ResourceRole `json:"role"`
}
PluginPermissionMemberInput 是权限更新接口写入的成员身份。 身份标识为 user.public_id,展示字段由服务端重新解析,不信任写入值。
type PluginPermissionMemberView ¶ added in v0.4.1
type PluginPermissionMemberView struct {
User PluginPermissionUserView `json:"user"`
Role types.ResourceRole `json:"role"`
}
PluginPermissionMemberView 是权限接口返回的成员展示信息。
type PluginPermissionSettingsView ¶ added in v0.4.1
type PluginPermissionSettingsView struct {
Visibility types.PluginVisibility `json:"visibility"`
Members []PluginPermissionMemberView `json:"members"`
}
PluginPermissionSettingsView 是权限读取/更新接口的响应。
type PluginPermissionUserView ¶ added in v0.4.1
type PluginPermissionUserView struct {
PublicID string `json:"public_id"`
Name string `json:"name"`
Email string `json:"email,omitempty"`
AvatarURL string `json:"avatar_url,omitempty"`
Departments []PluginPermissionDepartment `json:"departments,omitempty"`
}
PluginPermissionUserView 是权限接口返回的公开用户展示信息。
type PluginRevisionContentView ¶ added in v0.3.7
type PluginRevisionContentView struct {
Schema string `json:"schema"`
Version int `json:"version"`
EntrypointPath string `json:"entrypoint_path"`
SkillMD string `json:"skill_md"`
Files []PluginRevisionFileView `json:"files"`
}
PluginRevisionContentView contains the current revision content used by detail pages.
type PluginRevisionFileView ¶ added in v0.3.7
type PluginRevisionFileView struct {
Path string `json:"path"`
SizeBytes int64 `json:"size_bytes"`
SHA256 string `json:"sha256"`
}
PluginRevisionFileView exposes one immutable file in the current plugin revision.
type PluginRevisionView ¶ added in v0.3.7
type PluginRevisionView struct {
Revision int `json:"revision"`
Status string `json:"status"`
PublishedByType string `json:"published_by_type"`
PublishedByID uint `json:"published_by_id"`
PublishedAt time.Time `json:"published_at"`
}
PluginRevisionView exposes immutable revision metadata without the storage URI.
type PluginService ¶ added in v0.3.7
type PluginService interface {
ListPlugins(ctx context.Context, orgID, uin uint, req *ListPluginsRequest) (*ListPluginsResponse, error)
GetPlugin(ctx context.Context, orgID, uin uint, pluginID string, req *GetPluginRequest) (*GetPluginResponse, error)
GetPluginInstallationStatus(ctx context.Context, orgID, uin uint, req *GetPluginInstallationStatusRequest) (*PluginInstallationStatusResponse, error)
ListPluginVersions(ctx context.Context, orgID, uin uint, pluginID string) (*ListPluginVersionsResponse, error)
DeletePlugin(ctx context.Context, orgID, uin uint, pluginID string, req *DeletePluginRequest) (*DeletePluginResponse, error)
GetPluginPermissions(ctx context.Context, orgID, uin uint, pluginID string) (*PluginPermissionSettingsView, error)
UpdatePluginPermissions(ctx context.Context, orgID, uin uint, pluginID string, req *UpdatePluginPermissionsRequest) (*PluginPermissionSettingsView, error)
AddSkillPlugin(ctx context.Context, orgID, uin uint, req *AddSkillPluginRequest) (*AddSkillPluginResponse, error)
AddMCPPlugin(ctx context.Context, orgID, uin uint, req *AddMCPPluginRequest) (*PluginView, error)
UpdateMCPPlugin(ctx context.Context, orgID, uin uint, pluginID string, req *UpdateMCPPluginRequest) (*PluginView, error)
TestMCPPlugin(ctx context.Context, req *TestMCPPluginRequest) (*TestMCPPluginResponse, error)
ListMCPPlatforms(ctx context.Context, orgID, uin uint) (*ListMCPPlatformsResponse, error)
ConnectMCPPlatform(ctx context.Context, orgID, uin uint, platformCode string, req *ConnectMCPPlatformRequest) (*ConnectMCPPlatformResponse, error)
TestMCPPlatform(ctx context.Context, orgID, uin uint, platformCode string) (*TestMCPPluginResponse, error)
StartMCPPlatformOAuth(ctx context.Context, orgID, uin uint, platformCode string) (*StartMCPPlatformOAuthResponse, error)
GetMCPPlatformOAuthStatus(ctx context.Context, orgID, uin uint, platformCode, attemptID string) (*MCPPlatformOAuthStatusResponse, error)
CompleteMCPPlatformOAuth(ctx context.Context, platformCode, state, code, providerError string) (*MCPPlatformOAuthStatusResponse, error)
ResolveSkillDownloadURLs(ctx context.Context, orgID uint, callerKind types.CallerKind, callerID uint, req *ResolveSkillDownloadURLsRequest) (*ResolveSkillDownloadURLsResponse, error)
ListBuiltinSkills(ctx context.Context) (*ListPluginsResponse, error)
}
PluginService defines the new organization plugin management contract.
type PluginView ¶ added in v0.3.7
type PluginView struct {
PublicID string `json:"public_id"`
Code string `json:"code"`
Kind string `json:"kind"`
Name string `json:"name"`
DisplayName string `json:"display_name,omitempty"`
Description string `json:"description,omitempty"`
Visibility string `json:"visibility,omitempty"`
Permission *PluginPermission `json:"permission,omitempty"`
Status string `json:"status"`
Origin string `json:"origin"`
CurrentRevision int `json:"current_revision"`
}
PluginView is the safe API representation of an organization plugin.
type Project ¶
type Project struct {
PublicID string `json:"public_id"`
Name string `json:"name"`
Description string `json:"description"`
Objective string `json:"objective,omitempty"`
OwnerID uint `json:"owner_id"`
Status string `json:"status"`
TaskCount int64 `json:"task_count"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
// AutomationID 关联的自动化主键(自动化为该自动化创建时非空,用于标记时钟图标)
AutomationID *uint `json:"automation_id,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
Project 项目响应结构
type ProjectActivityActor ¶ added in v0.2.1
type ProjectActivityActor struct {
ID string `json:"id"`
Name string `json:"name"`
AvatarURL string `json:"avatar_url"`
}
ProjectActivityActor 是动态中的用户或 AI 队友展示信息。
type ProjectActivityItem ¶ added in v0.2.1
type ProjectActivityItem struct {
ID uint `json:"id"`
ProjectID string `json:"project_id"`
OperatorID string `json:"operator_id"`
Operator *ProjectActivityActor `json:"operator,omitempty"`
ActionType string `json:"action_type"`
Payload ProjectActivityPayloadView `json:"payload"`
CreatedAt time.Time `json:"created_at"`
}
ProjectActivityItem 项目动态响应项。
type ProjectActivityList ¶ added in v0.2.1
type ProjectActivityList struct {
Items []ProjectActivityItem `json:"items"`
NextCursor string `json:"next_cursor,omitempty"`
}
ProjectActivityList 项目动态列表响应。
type ProjectActivityPayloadView ¶ added in v0.2.1
type ProjectActivityPayloadView struct {
AddedSkills []ProjectActivitySkill `json:"added_skills"`
RemovedSkills []ProjectActivitySkill `json:"removed_skills"`
AddedMCPs []ProjectActivitySkill `json:"added_mcps"`
RemovedMCPs []ProjectActivitySkill `json:"removed_mcps"`
AddedMembers []ProjectActivityActor `json:"added_members"`
RemovedMembers []ProjectActivityActor `json:"removed_members"`
AddedAITeammates []ProjectActivityActor `json:"added_ai_teammates"`
RemovedAITeammates []ProjectActivityActor `json:"removed_ai_teammates"`
}
ProjectActivityPayloadView 是补全展示信息后的动态 payload。
type ProjectActivitySkill ¶ added in v0.2.1
type ProjectActivitySkill struct {
ID string `json:"id"`
Name string `json:"name"`
Icon string `json:"icon"`
}
ProjectActivitySkill 是动态中的技能展示信息。
type ProjectDetail ¶
type ProjectDetail struct {
Project
Session *Session `json:"session,omitempty"`
Tasks []ProjectTaskItem `json:"tasks"`
Members []ProjectMemberItem `json:"members"`
}
ProjectDetail 项目详情响应,包含关联的会话、任务、产物和成员
type ProjectFileTreeQuery ¶ added in v0.3.0
ProjectFileTreeQuery scopes project file tree list requests.
type ProjectFileVersion ¶ added in v0.2.3
type ProjectFileVersion struct {
PublicID string `json:"public_id"`
InitialFilePublicID string `json:"initial_file_public_id"`
RelativePath string `json:"relative_path"`
Name string `json:"name"`
VersionNo int `json:"version_no"`
VersionLabel string `json:"version_label"`
Size int64 `json:"size,omitempty"`
MimeType string `json:"mime_type,omitempty"`
CreatedAt int64 `json:"created_at,omitempty"`
StorageURI string `json:"storage_uri,omitempty"`
Sha256 string `json:"sha256,omitempty"`
}
ProjectFileVersion describes one concrete version in a logical project file chain.
type ProjectFileVersionList ¶ added in v0.2.3
type ProjectFileVersionList struct {
InitialFilePublicID string `json:"initial_file_public_id"`
CurrentFilePublicID string `json:"current_file_public_id"`
Items []ProjectFileVersion `json:"items"`
}
ProjectFileVersionList contains all versions of one logical project file.
type ProjectList ¶
type ProjectList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []Project `json:"items"`
}
ProjectList 项目列表响应
type ProjectMemberItem ¶
type ProjectMemberItem struct {
MemberID uint `json:"member_id"`
PublicID string `json:"public_id,omitempty"`
MemberType string `json:"member_type"`
MemberRole string `json:"member_role"`
IsDefault bool `json:"is_default"`
JoinedAt time.Time `json:"joined_at"`
Name string `json:"name,omitempty"`
AvatarURL string `json:"avatar_url"`
}
ProjectMemberItem 项目详情中的成员项,包含用户基本信息
type ProjectMemory ¶
ProjectMemory 项目记忆响应
type ProjectPlugin ¶ added in v0.3.7
type ProjectPlugin struct {
PublicID string `json:"public_id"`
Code string `json:"code"`
Kind string `json:"kind"`
Name string `json:"name"`
DisplayName string `json:"display_name,omitempty"`
Description string `json:"description,omitempty"`
Status string `json:"status"`
Origin string `json:"origin"`
CurrentRevision int `json:"current_revision"`
}
ProjectPlugin is a project-authorized organization plugin.
type ProjectPluginMutationResult ¶ added in v0.4.1
type ProjectPluginMutationResult struct {
ProjectID string `json:"project_id"`
PluginID string `json:"plugin_id,omitempty"`
PluginCode string `json:"plugin_code"`
Kind string `json:"kind"`
Associated bool `json:"associated"`
Changed bool `json:"changed"`
}
ProjectPluginMutationResult reports the effective project association state.
type ProjectService ¶
type ProjectService interface {
CreateProject(ctx context.Context, req *CreateProjectRequest) (*Project, error)
GetProject(ctx context.Context, publicID string) (*Project, error)
UpdateProject(ctx context.Context, publicID string, req *UpdateProjectRequest) (*Project, error)
DeleteProject(ctx context.Context, publicID string) error
LeaveProject(ctx context.Context, publicID string) error
ListProjects(ctx context.Context, req *ListProjectsRequest) (*ProjectList, error)
ListProjectActivities(ctx context.Context, req *ListProjectActivitiesRequest) (*ProjectActivityList, error)
GetWorkbenchRecentContext(ctx context.Context) (*WorkbenchRecentContext, error)
SaveWorkbenchRecentContext(ctx context.Context, req *SaveWorkbenchRecentContextRequest) (*WorkbenchRecentContext, error)
DetailProject(ctx context.Context, publicID string) (*ProjectDetail, error)
ListProjectPlugins(ctx context.Context, req *ListProjectPluginsRequest) ([]ProjectPlugin, error)
AddProjectPlugin(ctx context.Context, req *UpdateProjectPluginRequest) (*ProjectPluginMutationResult, error)
RemoveProjectPlugin(ctx context.Context, req *UpdateProjectPluginRequest) (*ProjectPluginMutationResult, error)
GetProjectMemory(ctx context.Context, publicID string) (*ProjectMemory, error)
GetProjectFileTree(ctx context.Context, publicID string, query ProjectFileTreeQuery) ([]*FileTreeNode, error)
DownloadProjectFile(ctx context.Context, publicID string, filePath string) (io.ReadCloser, string, int64, error)
GetProjectFileVersions(ctx context.Context, publicID string, filePublicID string) (*ProjectFileVersionList, error)
DownloadProjectFileByPublicID(ctx context.Context, publicID string, filePublicID string) (io.ReadCloser, string, int64, error)
RestoreProjectFileVersion(ctx context.Context, publicID string, filePublicID string) (*FileTreeNode, error)
}
ProjectService 定义项目服务接口
type ProjectTaskItem ¶
ProjectTaskItem 项目详情中的任务项,包含关联的会话信息
type RefreshTokenRequest ¶
type RefreshTokenRequest struct {
account.RefreshTokenInput
}
type RegisterByEmailRequest ¶
type RegisterByEmailRequest struct {
account.RegisterByEmailInput
}
type ResolveAuthorizationRequest ¶
type ResolveAuthorizationRequest struct {
UserID string `json:"user_id"`
Provider string `json:"provider"`
AccountID string `json:"account_id,omitempty"`
}
ResolveAuthorizationRequest 表示运行时授权解析请求
type ResolveSkillDownloadURLsRequest ¶ added in v0.3.7
type ResolveSkillDownloadURLsRequest struct {
SkillCodes []string `json:"skill_codes"`
ConnectorSkills []ConnectorSkillRef `json:"connector_skills,omitempty"`
// ActorUin 标识任务执行的实际用户,避免把 Worker 身份误当成插件 owner。
ActorUin uint `json:"actor_uin,omitempty"`
// ProjectID 是任务运行所在项目,存在有效项目绑定时按项目运行授权允许下载。
ProjectID string `json:"project_id,omitempty"`
}
ResolveSkillDownloadURLsRequest selects the current downloadable artifacts by Skill code. Codes that are unavailable to the caller are omitted from the response.
type ResolveSkillDownloadURLsResponse ¶ added in v0.3.7
type ResolveSkillDownloadURLsResponse struct {
Skills []SkillDownloadURL `json:"skills"`
}
ResolveSkillDownloadURLsResponse contains only the Skill artifacts that could be resolved.
type ResolvedAuthorization ¶
type ResolvedAuthorization struct {
Account *AuthorizedAccount `json:"account"`
Credential *AccountCredential `json:"credential"`
}
ResolvedAuthorization 表示解析完成的授权结果
type RunAutomationNowRequest ¶ added in v0.3.9
type RunAutomationNowRequest struct {
PublicID string `json:"public_id" binding:"required"`
}
RunAutomationNowRequest 立即运行请求
type SaveWorkbenchRecentContextRequest ¶ added in v0.1.21
type SaveWorkbenchRecentContextRequest struct {
ProjectID string `json:"project_id" binding:"required"`
TaskID *string `json:"task_id,omitempty"`
}
SaveWorkbenchRecentContextRequest 保存首页工作台最近使用上下文的请求。
type SendPhoneLoginCodeRequest ¶ added in v0.1.12
type SendPhoneLoginCodeRequest struct {
account.SendPhoneLoginCodeInput
}
type SendPhoneLoginCodeResponse ¶ added in v0.1.12
type SendPhoneLoginCodeResponse struct {
account.SendPhoneLoginCodeOutput
}
type Session ¶
type Session struct {
SessionID string `json:"session_id"`
Type string `json:"type"`
Uin uint `json:"uin"`
OrgID uint `json:"org_id"`
Status string `json:"status"`
RuntimeStatus string `json:"runtime_status"`
Title string `json:"title"`
TitleManuallySet bool `json:"title_manually_set,omitempty"`
Metadata *types.ObjectMetadata `json:"metadata,omitempty"`
MessageCount int `json:"message_count"`
LastMessageAt *time.Time `json:"last_message_at,omitempty"`
ExpiredAt *time.Time `json:"expired_at,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type SessionEvent ¶
type SessionEvent struct {
Type string `json:"type"`
SessionID string `json:"session_id"`
AssistantID string `json:"assistant_id,omitempty"`
Payload interface{} `json:"payload,omitempty"`
Sequence int64 `json:"sequence"`
Timestamp int64 `json:"timestamp"`
}
SessionEvent is the public event shape embedded in persisted message chunks.
type SessionEventSink ¶ added in v0.1.22
type SessionEventSink interface {
EmitSessionEvent(ctx context.Context, event *SessionEvent) error
}
SessionEventSink receives projected Server session events.
type SessionEventSinkFunc ¶ added in v0.1.22
type SessionEventSinkFunc func(ctx context.Context, event *SessionEvent) error
SessionEventSinkFunc adapts a function to SessionEventSink.
func (SessionEventSinkFunc) EmitSessionEvent ¶ added in v0.1.22
func (f SessionEventSinkFunc) EmitSessionEvent( ctx context.Context, event *SessionEvent, ) error
EmitSessionEvent calls the adapted function.
type SessionEventsRequest ¶ added in v0.3.7
type SessionEventsRequest struct {
SessionID string `json:"session_id" binding:"required"`
Replay bool `json:"replay,omitempty"`
AssistantID string `json:"assistant_id,omitempty"`
}
SessionEventsRequest is the request to subscribe to a session event stream.
type SessionList ¶
type SessionList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []Session `json:"items"`
}
SessionList is a paginated session response.
type SessionMessage ¶
type SessionMessage struct {
ID string `json:"id"`
SessionID string `json:"session_id"`
Role string `json:"role"`
Content string `json:"content"`
ErrorMsg string `json:"error_msg,omitempty"`
Chunks []SessionEvent `json:"chunks,omitempty"`
Artifacts []types.MessageArtifact `json:"artifacts,omitempty"`
Attachments []types.MessageAttachment `json:"attachments,omitempty"`
Timestamp int64 `json:"timestamp"`
MessageType string `json:"message_type,omitempty"`
Metadata *types.ObjectMetadata `json:"metadata,omitempty"`
Usage *types.MessageUsage `json:"usage,omitempty"`
Sequence int64 `json:"sequence"`
CreatedAt time.Time `json:"created_at"`
SenderUin *uint `json:"sender_uin,omitempty"`
SenderName string `json:"sender_name,omitempty"`
RunID string `json:"run_id,omitempty"`
AssistantID string `json:"assistant_id,omitempty"`
DispatchState string `json:"dispatch_state,omitempty"`
QueueDeadlineAt *time.Time `json:"queue_deadline_at,omitempty"`
LastDispatchError string `json:"last_dispatch_error,omitempty"`
}
SessionMessage is the API response shape for a persisted conversation message.
type SessionRunStartedRequest ¶ added in v0.1.10
type SessionRunStartedRequest struct {
SessionID string `json:"session_id"`
ReplyToMessageIDs []string `json:"reply_to_message_ids,omitempty"`
RequestID string `json:"request_id,omitempty"`
StreamStartSeq uint64 `json:"stream_start_seq"`
StateStartSeq uint64 `json:"state_start_seq,omitempty"`
RunID string `json:"run_id,omitempty"`
AssistantID string `json:"assistant_id,omitempty"`
}
SessionRunStartedRequest marks user messages as processing when a worker run starts.
type SessionService ¶
type SessionService interface {
// Session CRUD
CreateSession(ctx context.Context, req *CreateSessionRequest) (*Session, error)
GetSession(ctx context.Context, sessionID string) (*Session, error)
UpdateSession(ctx context.Context, sessionID string, req *UpdateSessionRequest) (*Session, error)
DeleteSession(ctx context.Context, sessionID string) error
ListSessions(ctx context.Context, req *ListSessionsRequest) (*SessionList, error)
// Message management
AddMessage(ctx context.Context, sessionID string, req *AddMessageRequest) (*SessionMessage, error)
GetSessionMessages(ctx context.Context, sessionID string, page, perPage int) (*MessageList, error)
DeleteMessage(ctx context.Context, messageID uint) error
ClearSessionMessages(ctx context.Context, sessionID string) error
// Event streaming
// When assistantID is non-empty, only RunEvents whose Route.WorkerID matches the
// requested AI teammate are delivered; assistantID == "" disables filtering.
StreamSessionEvents(ctx context.Context, sessionID string, replay bool, assistantID string, sink SessionEventSink) error
// StreamGlobalEvents subscribes the caller to project-level global notify events
// (message.created, etc.) for all projects the caller is a member of.
// Events are delivered via ch; the call blocks until ctx is cancelled.
StreamGlobalEvents(ctx context.Context, orgID, userID uint, replaySinceSeq uint64, ch chan<- *messaging.GlobalEventPayload) error
// HandleSessionRunStarted marks source user messages as processing and records replay metadata.
HandleSessionRunStarted(ctx context.Context, req *SessionRunStartedRequest) error
// CompleteSessionMessage persists the final assistant message for a completed session run.
CompleteSessionMessage(ctx context.Context, req *CompleteSessionMessageRequest) error
// FailedSessionMessage persists the final assistant message for a failed session run.
FailedSessionMessage(ctx context.Context, req *FailedSessionMessageRequest) error
// SubmitApproval forwards an approval decision to the worker via NATS.
SubmitApproval(ctx context.Context, req *SubmitApprovalRequest) error
// SubmitQuestionAnswer forwards a question answer to the worker via NATS.
SubmitQuestionAnswer(ctx context.Context, req *SubmitQuestionAnswerRequest) error
// CancelSessionRun cancels an active agent run for the given session.
CancelSessionRun(ctx context.Context, sessionID string, req *CancelSessionRunRequest) (*CancelSessionRunResponse, error)
// SetSessionStreamStartSeq records the NATS stream sequence for the first
// run.stream event of a session, used by the stream projector for SSE replay.
SetSessionStreamStartSeq(ctx context.Context, sessionID string, streamSeq uint64) error
// CreateInitialMessage atomically creates Project + Task + Session and optionally posts
// the first message, then dispatches to the allocated AgentWorker.
CreateInitialMessage(ctx context.Context, req *NewMessageRequest) (*NewMessageResponse, error)
}
SessionService defines the session service contract.
type SetDefaultLLMModelRequest ¶ added in v0.4.0
type SetDefaultLLMModelRequest struct {
ID uint `json:"id" binding:"required"`
}
SetDefaultLLMModelRequest 将指定LLM模型设为所属用途的默认模型请求
type SetLLMModelStatusRequest ¶ added in v0.3.11
type SetLLMModelStatusRequest struct {
ID uint `json:"id" binding:"required"`
Status string `json:"status" binding:"required"`
}
SetLLMModelStatusRequest 启用或禁用LLM模型配置请求
type SkillDownloadURL ¶ added in v0.3.7
type SkillDownloadURL struct {
Code string `json:"code"`
Revision int `json:"revision"`
SHA256 string `json:"sha256"`
DownloadURL string `json:"download_url"`
}
SkillDownloadURL is the worker-safe projection of one current Skill artifact.
type StartAuthorizationRequest ¶
type StartAuthorizationRequest struct {
UserID string `json:"user_id"`
Provider string `json:"provider"`
RedirectURI string `json:"redirect_uri,omitempty"`
}
StartAuthorizationRequest 表示发起授权请求
type StartMCPPlatformOAuthResponse ¶ added in v0.3.7
type StartMCPPlatformOAuthResponse struct {
AttemptID string `json:"attempt_id"`
AuthorizationURL string `json:"authorization_url"`
ExpiresAt time.Time `json:"expires_at"`
}
StartMCPPlatformOAuthResponse starts one persisted OAuth authorization attempt.
type SubmitApprovalRequest ¶
type SubmitApprovalRequest struct {
OrgID uint `json:"-"`
SessionID string `json:"session_id"`
RequestID string `json:"request_id"`
Action string `json:"action"`
Reason string `json:"reason,omitempty"`
AssistantID string `json:"assistant_id" binding:"required"`
}
Session is the API response shape for a conversation. SubmitApprovalRequest forwards an approval decision to the worker via NATS.
type SubmitQuestionAnswerRequest ¶ added in v0.1.15
type SubmitQuestionAnswerRequest struct {
OrgID uint `json:"-"`
SessionID string `json:"session_id"`
RequestID string `json:"request_id"`
Answers [][]string `json:"answers"`
AssistantID string `json:"assistant_id" binding:"required"`
}
SubmitQuestionAnswerRequest forwards a question answer to the worker via NATS.
type SwitchOrganizationRequest ¶ added in v0.1.23
type SwitchOrganizationRequest struct {
account.SwitchOrganizationInput
}
type SwitchOrganizationResponse ¶ added in v0.3.3
type SwitchOrganizationResponse struct {
JwtToken string `json:"jwt_token"`
}
type Task ¶
type Task struct {
PublicID string `json:"public_id"`
OrgID uint `json:"org_id"`
OwnerID uint `json:"owner_id"`
ProjectID string `json:"project_id"`
ProjectName string `json:"project_name"`
SessionID *uint `json:"session_id,omitempty"`
TaskType string `json:"task_type"`
AssigneeID *uint `json:"assignee_id,omitempty"`
Title string `json:"title"`
Description string `json:"description"`
Status string `json:"status"`
Deadline *time.Time `json:"deadline,omitempty"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
Session *Session `json:"session,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
Task 任务响应结构
type TaskList ¶
type TaskList struct {
Total int64 `json:"total"`
Offset int `json:"offset"`
Limit int `json:"limit"`
Items []Task `json:"items"`
}
TaskList 任务列表响应
type TaskService ¶
type TaskService interface {
CreateTask(ctx context.Context, req *CreateTaskRequest) (*Task, error)
GetTask(ctx context.Context, publicID string) (*Task, error)
UpdateTask(ctx context.Context, publicID string, req *UpdateTaskRequest) (*Task, error)
DeleteTask(ctx context.Context, publicID string) error
ListTasks(ctx context.Context, req *ListTasksRequest) (*TaskList, error)
}
TaskService 定义任务服务接口
type TestLLMModelRequest ¶
type TestLLMModelRequest struct {
ID *uint `json:"id,omitempty"`
Code string `json:"code,omitempty"`
Provider string `json:"provider,omitempty"`
Model string `json:"model,omitempty"`
BaseURL string `json:"base_url,omitempty"`
APIKey string `json:"api_key,omitempty"`
}
TestLLMModelRequest 测试LLM模型配置请求
type TestLLMModelResponse ¶
type TestLLMModelResponse struct {
Success bool `json:"success"`
StatusCode int `json:"status_code"`
Message string `json:"message"`
Endpoint string `json:"endpoint"`
LatencyMS int64 `json:"latency_ms"`
BaseURLHasV1 bool `json:"base_url_has_v1"`
}
TestLLMModelResponse 测试LLM模型配置响应
type TestMCPPluginRequest ¶ added in v0.3.7
type TestMCPPluginRequest struct {
Transport string `json:"transport,omitempty"`
URL string `json:"url"`
BearerToken string `json:"bearer_token,omitempty"`
Headers map[string]string `json:"headers,omitempty"`
}
TestMCPPluginRequest tests a draft remote HTTP MCP configuration without storing it.
type TestMCPPluginResponse ¶ added in v0.3.7
TestMCPPluginResponse contains the result of one stateless MCP handshake.
type ThirdAuthService ¶
type ThirdAuthService interface {
// OAuth 流程启动 - 返回授权 URL
StartAuthorization(ctx context.Context, req *StartAuthorizationRequest) (string, error)
// OAuth 回调处理 - 处理 provider 回调,保存授权账户
HandleAuthorizationCallback(ctx context.Context, req *AuthorizationCallbackRequest) (*AuthorizationResult, error)
// 运行时授权解析 - 根据条件解析可用的授权账户
ResolveAuthorization(ctx context.Context, req *ResolveAuthorizationRequest) (*ResolvedAuthorization, error)
}
ThirdAuthService 定义第三方平台授权服务接口
type UpdateAutomationRequest ¶ added in v0.3.9
type UpdateAutomationRequest struct {
Name string `json:"name,omitempty"`
Instruction *string `json:"instruction,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
// 修改周期时必须提交完整 schedule
ScheduleMode *string `json:"schedule_mode,omitempty"`
Schedule *AutomationScheduleInput `json:"schedule,omitempty"`
Timezone *string `json:"timezone,omitempty"`
// ProjectPublicID 关联项目三态:
// nil:保持原关联;"":切回默认新项目;非空:关联指定项目。
ProjectPublicID *string `json:"project_public_id,omitempty"`
}
UpdateAutomationRequest 更新自动化请求(部分更新)
type UpdateCurrentUserRequest ¶ added in v0.3.7
type UpdateCurrentUserRequest struct {
account.UpdateCurrentUserInput
}
type UpdateDepartmentRequest ¶ added in v0.1.23
type UpdateDepartmentRequest struct {
account.UpdateDepartmentInput
}
type UpdateDigitalAssistantRequest ¶
type UpdateDigitalAssistantRequest struct {
Name string `json:"name"`
RoleName string `json:"role_name"`
Description string `json:"description"`
Avatar string `json:"avatar"`
SystemPrompt *string `json:"system_prompt,omitempty"`
Expertise *[]string `json:"expertise,omitempty"`
}
UpdateDigitalAssistantRequest 更新数字助手请求
type UpdateDigitalAssistantStatusRequest ¶
type UpdateDigitalAssistantStatusRequest struct {
Status string `json:"status" binding:"required"`
}
UpdateDigitalAssistantStatusRequest 更新数字助手状态请求
type UpdateLLMModelRequest ¶
type UpdateLLMModelRequest struct {
Name string `json:"name" binding:"required"`
Description *string `json:"description,omitempty"`
Provider string `json:"provider,omitempty"`
Model string `json:"model,omitempty"`
BaseURL *string `json:"base_url,omitempty"`
APIKey *string `json:"api_key,omitempty"`
Purpose *string `json:"purpose" binding:"required"`
IsDefault *bool `json:"is_default,omitempty"`
Config *map[string]interface{} `json:"config,omitempty"`
MaxTokens *int `json:"max_tokens,omitempty"`
Temperature *float64 `json:"temperature,omitempty"`
}
UpdateLLMModelRequest 更新LLM模型配置请求 不含 Status 字段:启用/禁用走独立的 SetStatus 逻辑/请求。
type UpdateMCPPluginRequest ¶ added in v0.3.7
type UpdateMCPPluginRequest struct {
MCPPluginConfig
}
UpdateMCPPluginRequest replaces one organization MCP configuration.
type UpdateMemberDepartmentRequest ¶ added in v0.1.23
type UpdateOrgMemberRequest ¶
type UpdateOrgMemberRequest struct {
account.UpdateOrgMemberInput
}
type UpdateOrgRequest ¶
type UpdateOrgRequest struct {
account.UpdateOrgInput
}
type UpdatePluginPermissionsRequest ¶ added in v0.4.1
type UpdatePluginPermissionsRequest struct {
Visibility types.PluginVisibility `json:"visibility"`
Members []PluginPermissionMemberInput `json:"members"`
}
UpdatePluginPermissionsRequest 全量替换插件权限配置。
type UpdateProjectPluginRequest ¶ added in v0.3.7
type UpdateProjectPluginRequest struct {
PublicID string `json:"public_id" binding:"required"`
PluginID string `json:"plugin_id,omitempty"`
PluginCode string `json:"plugin_code,omitempty"`
Kind string `json:"kind,omitempty"`
}
UpdateProjectPluginRequest binds or unbinds one organization plugin.
type UpdateProjectRequest ¶
type UpdateProjectRequest struct {
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Objective *string `json:"objective,omitempty"`
OwnerID *uint `json:"owner_id,omitempty"`
Status *string `json:"status,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
Members []MemberInput `json:"members,omitempty"`
}
UpdateProjectRequest 更新项目请求
type UpdateSessionRequest ¶
type UpdateSessionRequest struct {
Title string `json:"title,omitempty"`
Metadata *types.ObjectMetadata `json:"metadata,omitempty"`
ExpiredAt *time.Time `json:"expired_at,omitempty"`
}
UpdateSessionRequest updates basic session fields.
type UpdateTaskRequest ¶
type UpdateTaskRequest struct {
ProjectID *string `json:"project_id,omitempty"`
Title *string `json:"title,omitempty"`
Description *string `json:"description,omitempty"`
TaskType *string `json:"task_type,omitempty"`
AssigneeID *uint `json:"assignee_id,omitempty"`
Status *string `json:"status,omitempty"`
Deadline *time.Time `json:"deadline,omitempty"`
Metadata *map[string]interface{} `json:"metadata,omitempty"`
}
UpdateTaskRequest 更新任务请求
type UpdateUserRequest ¶
type UpdateUserRequest struct {
account.UpdateUserInput
}
type UploadFileRequest ¶ added in v0.1.2
type UploadFileResult ¶ added in v0.1.2
type WorkbenchRecentContext ¶ added in v0.1.21
type WorkbenchRecentContext struct {
ProjectID string `json:"project_id"`
ProjectName string `json:"project_name"`
TaskID *string `json:"task_id,omitempty"`
TaskTitle *string `json:"task_title,omitempty"`
UsedAt time.Time `json:"used_at"`
}
WorkbenchRecentContext 首页工作台最近明确使用的项目/任务上下文。
type WorkerDeploymentStatus ¶ added in v0.1.22
type WorkerDeploymentStatus struct {
PublicID string `json:"public_id"`
Status string `json:"status"`
LastError string `json:"last_error,omitempty"`
}
WorkerDeploymentStatus describes the runtime deployment state of an AI teammate.
Source Files
¶
- account_third_auth.go
- account_third_auth_type.go
- ai_teammate_template.go
- auth.go
- auth_type.go
- automation.go
- automation_type.go
- department.go
- digital_assistant.go
- digital_assistant_type.go
- file.go
- llm_model.go
- llm_model_type.go
- org_type.go
- plugin.go
- project.go
- project_type.go
- rel_user_org_department.go
- session.go
- session_type.go
- task.go
- task_type.go
- user.go
- user_type.go
- work_type.go