rpc

package
v0.0.0-...-7469d17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 28, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AuthEntityType_Space = "Space"

	AuthEntityType_EvaluationExperiment = "EvaluationExperiment"

	AuthEntityType_EvaluationExptTemplate = "EvaluationExptTemplate"

	AuthEntityType_EvaluationSet = "EvaluationSet"

	AuthEntityType_Evaluator = "Evaluator"

	AuthEntityType_EvaluationTarget = "EvaluationTarget"
)
View Source
const (
	VariableTypeString       = "string"
	VariableTypeBoolean      = "boolean"
	VariableTypeInteger      = "integer"
	VariableTypeFloat        = "float"
	VariableTypeObject       = "object"
	VariableTypeArrayString  = "array<string>"
	VariableTypeArrayBoolean = "array<boolean>"
	VariableTypeArrayInteger = "array<integer>"
	VariableTypeArrayFloat   = "array<float>"
	VariableTypeArrayObject  = "array<object>"

	VariableTypePlaceholder = "placeholder"
	VariableTypeMultiPart   = "multi_part"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionObject

type ActionObject struct {
	Action     *string
	EntityType *AuthEntityType
}

type AuthEntityType

type AuthEntityType = string

type AuthorizationParam

type AuthorizationParam struct {
	ObjectID      string
	SpaceID       int64
	ActionObjects []*ActionObject
}

type AuthorizationWithoutSPIParam

type AuthorizationWithoutSPIParam struct {
	ObjectID      string
	SpaceID       int64
	ActionObjects []*ActionObject

	OwnerID         *string
	ResourceSpaceID int64
}

type BatchAddExistDatasetItemsParam

type BatchAddExistDatasetItemsParam struct {
	SpaceID         int64
	EvaluationSetID int64
	Items           []*entity.EvaluationItemVersionRef
	AllowPartialAdd *bool
}

type BatchCreateDatasetItemsParam

type BatchCreateDatasetItemsParam struct {
	SpaceID         int64
	EvaluationSetID int64
	Items           []*entity.EvaluationSetItem
	// items 中存在无效数据时,默认不会写入任何数据;设置 skipInvalidItems=true 会跳过无效数据,写入有效数据
	SkipInvalidItems *bool
	// 批量写入 items 如果超出数据集容量限制,默认不会写入任何数据;设置 partialAdd=true 会写入不超出容量限制的前 N 条
	AllowPartialAdd *bool

	FieldWriteOptions []*entity.FieldWriteOption
}

type BatchGetDatasetItemsParam

type BatchGetDatasetItemsParam struct {
	SpaceID            int64
	EvaluationSetID    int64
	ItemIDs            []int64
	ItemVersionQueries []*entity.EvaluationItemVersionRef
	VersionID          *int64
	Filter             *entity.Filter
	TagFilter          *entity.TagFilter
}

type BatchGetVersionedDatasetsResult

type BatchGetVersionedDatasetsResult struct {
	Version       *entity.EvaluationSetVersion
	EvaluationSet *entity.EvaluationSet
}

type BatchUpdateDatasetItemsParam

type BatchUpdateDatasetItemsParam struct {
	SpaceID         int64
	EvaluationSetID int64
	Items           []*entity.EvaluationSetItem
	// items 中存在无效数据时,默认不会写入任何数据;设置 skipInvalidItems=true 会跳过无效数据,写入有效数据
	SkipInvalidItems  *bool
	FieldWriteOptions []*entity.FieldWriteOption
}

type CallTraceAgentParam

type CallTraceAgentParam struct {
	SpaceID int64
	ExptID  int64
	Url     string

	StartTime int64 // in ms
	EndTime   int64 // in ms

	EvalTargetType    entity.EvalTargetType // now support prompt only
	EvalTargetID      int64
	EvalTargetVersion string // like 1.2.3

	Evaluators []*entity.ExptEvaluatorRef
}

type CommitInfo

type CommitInfo struct {
	Version     *string
	BaseVersion *string
	Description *string
	CommittedBy *string
	CommittedAt *int64
}

type CreateDatasetParam

type CreateDatasetParam struct {
	SpaceID            int64
	Name               string
	Desc               *string
	EvaluationSetItems *entity.EvaluationSetSchema
	BizCategory        *entity.BizCategory
	Session            *entity.Session
	DatasetType        *string
	Tags               []*entity.ResourceTagRef
	DatasetKey         *string
	TemplateDatasetID  *int64
}

type CreateDatasetWithImportParam

type CreateDatasetWithImportParam struct {
	SpaceID            int64
	Name               string
	Desc               *string
	EvaluationSetItems *entity.EvaluationSetSchema
	BizCategory        *entity.BizCategory

	SourceType    *entity.SetSourceType
	Source        *entity.DatasetIOEndpoint
	FieldMappings []*entity.FieldMapping
	Session       *entity.Session
	Option        *entity.DatasetIOJobOption
	DatasetType   *string
}

type CreatePeriodicJobParam

type CreatePeriodicJobParam struct {
	// BizKey 业务唯一标识;命名规则由调用方决定,同值重复调用为 upsert
	BizKey string
	// Crontab 标准 5 段 crontab 表达式(minute hour day-of-month month day-of-week);
	// 实现方负责将其转换为底层调度平台所需格式
	Crontab string
	// StartedAt 首次执行时间;nil 表示按 Crontab 自然触发
	StartedAt *time.Time
	// EndedAt 截止时间;nil 时由实现方使用默认值(不超过实现方约定的最大有效期)
	EndedAt *time.Time
	// CallbackMethod 触发时回调的方法名(语义由实现方解释,如 RPC 方法名)
	CallbackMethod string
	// CallbackPayload 触发时回调的请求体(已由调用方序列化)
	CallbackPayload string
}

CreatePeriodicJobParam 创建周期任务的参数

type ExecutePromptParam

type ExecutePromptParam struct {
	PromptID      int64
	PromptVersion string
	Variables     []*entity.VariableVal
	History       []*entity.Message
	UserQuery     *entity.Message
	RuntimeParam  *string
}

type ExecutePromptResult

type ExecutePromptResult struct {
	Content      *string            `json:"content,omitempty"`
	ToolCalls    []*entity.ToolCall `json:"tool_calls,omitempty"`
	TokenUsage   *entity.TokenUsage `json:"token_usage,omitempty"`
	MultiContent *entity.Content    `json:"multi_content,omitempty"`
}

type GetDatasetItemFieldParam

type GetDatasetItemFieldParam struct {
	SpaceID         int64
	EvaluationSetID int64
	// item 的主键ID,即 item.ID 这一字段
	ItemPK int64
	// 列名
	FieldName string
	// 列的唯一键,用于精确查找
	FieldKey *string
	// 当 item 为多轮时,必须提供
	TurnID *int64
}

type GetPromptParams

type GetPromptParams struct {
	CommitVersion *string
}

type IAgentAdapter

type IAgentAdapter interface {
	CallTraceAgent(ctx context.Context, param *CallTraceAgentParam) (int64, error)
	GetReport(ctx context.Context, spaceID, reportID int64) (report string, list []*entity.InsightAnalysisReportIndex, status entity.ReportStatus, err error)
}

type IAuthProvider

type IAuthProvider interface {
	Authorization(ctx context.Context, param *AuthorizationParam) (err error)
	AuthorizationWithoutSPI(ctx context.Context, param *AuthorizationWithoutSPIParam) (err error)
	MAuthorizeWithoutSPI(ctx context.Context, spaceID int64, params []*AuthorizationWithoutSPIParam) error
}

type IDatasetRPCAdapter

type IDatasetRPCAdapter interface {
	CreateDataset(ctx context.Context, param *CreateDatasetParam) (id int64, err error)
	CreateDatasetWithImport(ctx context.Context, param *CreateDatasetWithImportParam) (id, jobID int64, err error)
	ImportDataset(ctx context.Context, param *ImportDatasetParam) (jobID int64, err error)
	GetDatasetIOJob(ctx context.Context, spaceID, jobID int64) (job *entity.DatasetIOJob, err error)
	ParseImportSourceFile(ctx context.Context, param *entity.ParseImportSourceFileParam) (*entity.ParseImportSourceFileResult, error)
	ValidateMultiPartData(ctx context.Context, spaceID int64, previewData []string, storeOption *entity.MultiModalStoreOption) ([]*entity.UploadAttachmentDetail, error)
	UpdateDataset(ctx context.Context, spaceID, evaluationSetID int64, name, desc *string, tags []*entity.ResourceTagRef) (err error)
	DeleteDataset(ctx context.Context, spaceID, evaluationSetID int64) (err error)
	GetDataset(ctx context.Context, spaceID *int64, evaluationSetID int64, deletedAt *bool, sharedOption *entity.SharedResourceOption) (set *entity.EvaluationSet, err error)
	BatchGetDatasets(ctx context.Context, spaceID *int64, evaluationSetID []int64, deletedAt *bool, sharedOption *entity.SharedResourceOption) (sets []*entity.EvaluationSet, err error)
	ListDatasets(ctx context.Context, param *ListDatasetsParam) (sets []*entity.EvaluationSet, total *int64, nextPageToken *string, err error)

	CreateDatasetVersion(ctx context.Context, spaceID, evaluationSetID int64, version string, desc *string) (id int64, err error)
	GetDatasetVersion(ctx context.Context, spaceID, versionID int64, deletedAt *bool, sharedOption *entity.SharedResourceOption) (version *entity.EvaluationSetVersion, set *entity.EvaluationSet, err error)
	BatchGetVersionedDatasets(ctx context.Context, spaceID *int64, versionIDs []int64, deletedAt *bool, sharedOption *entity.SharedResourceOption) (sets []*BatchGetVersionedDatasetsResult, err error)
	ListDatasetVersions(ctx context.Context, spaceID, evaluationSetID int64, pageToken *string, pageNumber, pageSize *int32, versionLike *string, versions []string, sharedOption *entity.SharedResourceOption) (version []*entity.EvaluationSetVersion, total *int64, nextPageToken *string, err error)

	UpdateDatasetSchema(ctx context.Context, spaceID, evaluationSetID int64, schemas []*entity.FieldSchema) (err error)

	BatchCreateDatasetItems(ctx context.Context, param *BatchCreateDatasetItemsParam) (idMap map[int64]int64, errorGroup []*entity.ItemErrorGroup, itemOutputs []*entity.DatasetItemOutput, err error)
	BatchUpdateDatasetItems(ctx context.Context, param *BatchUpdateDatasetItemsParam) (errorGroup []*entity.ItemErrorGroup, itemOutputs []*entity.DatasetItemOutput, err error)
	UpdateDatasetItem(ctx context.Context, spaceID, evaluationSetID, itemID int64, turns []*entity.Turn, fieldWriteOptions []*entity.FieldWriteOption, tags []*entity.ResourceTagRef) (err error)
	BatchDeleteDatasetItems(ctx context.Context, spaceID, evaluationSetID int64, itemIDs []int64) (err error)
	ListDatasetItems(ctx context.Context, param *ListDatasetItemsParam) (items []*entity.EvaluationSetItem, total, filterTotal *int64, nextPageToken *string, err error)
	ListDatasetItemsByVersion(ctx context.Context, param *ListDatasetItemsParam) (items []*entity.EvaluationSetItem, total, filterTotal *int64, nextPageToken *string, err error)
	BatchGetDatasetItems(ctx context.Context, param *BatchGetDatasetItemsParam) (items []*entity.EvaluationSetItem, err error)
	BatchGetDatasetItemsByVersion(ctx context.Context, param *BatchGetDatasetItemsParam) (items []*entity.EvaluationSetItem, err error)
	ClearEvaluationSetDraftItem(ctx context.Context, spaceID, evaluationSetID int64) (err error)
	QueryItemSnapshotMappings(ctx context.Context, req *QueryItemSnapshotMappingRequest) (fieldMappings []*entity.ItemSnapshotFieldMapping, syncCkDate string, err error)
	GetDatasetItemField(ctx context.Context, param *GetDatasetItemFieldParam) (fieldData *entity.FieldData, err error)

	GetDatasetItemDef(ctx context.Context, spaceID, evaluationSetID, itemID int64) (*entity.EvaluationSetItemDef, error)
	ListDatasetItemDefs(ctx context.Context, param *ListDatasetItemDefsParam) ([]*entity.EvaluationSetItemDef, *int64, *string, error)
	ListDatasetItemVersions(ctx context.Context, param *ListDatasetItemVersionsParam) ([]*entity.EvaluationSetItemVersion, *int64, *string, error)
	GetDatasetItemVersion(ctx context.Context, spaceID, evaluationSetID, itemID int64, itemVersionID *int64, itemVersion *string) (*entity.EvaluationSetItemVersion, error)
	UpdateDatasetItemVersion(ctx context.Context, spaceID, evaluationSetID, itemID int64, itemVersionID *int64, status, description, itemVersion *string) error
	BatchAddExistDatasetItems(ctx context.Context, param *BatchAddExistDatasetItemsParam) (*entity.BatchAddExistEvaluationSetItemsResult, error)
}

type IExptScheduleAdapter

type IExptScheduleAdapter interface {
	// CreatePeriodicJob 创建/更新周期任务
	// 同 BizKey 重复调用支持 upsert 语义(若任务已关闭,可用相同 BizKey 重新创建)
	CreatePeriodicJob(ctx context.Context, param *CreatePeriodicJobParam) error

	// CloseJob 关闭周期任务
	// 任务已关闭或不存在时返回 nil,保持幂等
	CloseJob(ctx context.Context, bizKey string) error

	// GetJob 查询任务详情
	// 任务不存在时返回 (nil, nil)
	GetJob(ctx context.Context, bizKey string) (*ScheduleJobDetail, error)
}

IExptScheduleAdapter 实验模块周期调度任务适配器(通用)

该接口屏蔽底层调度平台(如 ByteScheduler)的差异,仅提供注册/关闭/查询周期任务的能力, 不感知任何业务语义。BizKey 命名、调度时机、回调方法名、回调 payload 等均由调用方决定, 业务侧(如"基于实验模板创建实验")的逻辑应放在 backend evaluation 模块的 service 层实现。

type IFileProvider

type IFileProvider interface {
	MGetFileURL(ctx context.Context, keys []string) (urls map[string]string, err error)
}

type IFileRPCAdapter

type IFileRPCAdapter interface {
	UploadLoopFileInner(ctx context.Context, req *file.UploadLoopFileInnerRequest, callOptions ...callopt.Option) (r *file.UploadLoopFileInnerResponse, err error)
	// SignUploadFile(ctx context.Context, req *file.SignUploadFileRequest, callOptions ...callopt.Option) (r *file.SignUploadFileResponse, err error)
	// SignDownloadFile(ctx context.Context, req *file.SignDownloadFileRequest, callOptions ...callopt.Option) (r *file.SignDownloadFileResponse, err error)
	GetFileURL(ctx context.Context, key string) (url string, err error)
}

type ILLMProvider

type ILLMProvider interface {
	Call(ctx context.Context, param *commonentity.LLMCallParam) (*commonentity.ReplyItem, error)
}

type INotifyRPCAdapter

type INotifyRPCAdapter interface {
	// SendMessageCard 发送飞书卡片消息。
	// receiveID 为接收方标识,receiveIDType 为其类型(email / open_id / union_id 等,对应飞书 receive_id_type)。
	SendMessageCard(ctx context.Context, receiveID, receiveIDType, cardID string, param map[string]string) error
}

type IPipelineListAdapter

type IPipelineListAdapter interface {
	ListPipelineFlow(ctx context.Context, req *ListPipelineFlowRequest) (*ListPipelineFlowResponse, error)
	// PipelineNodeFinishCallback Pipeline 节点完成时回调 ml_flow(例如同步节点状态);首参为评测实验 ID(ExperimentID)
	PipelineNodeFinishCallback(ctx context.Context, experimentID, spaceID int64) error
	// DeletePipeline 删除指定工作流。
	DeletePipeline(ctx context.Context, pipelineID, spaceID int64) error
}

IPipelineListAdapter 查询 ml_flow PipelineService ListPipeline 的适配器接口

type IPromptRPCAdapter

type IPromptRPCAdapter interface {
	GetPrompt(ctx context.Context, spaceID, promptID int64, params GetPromptParams) (prompt *LoopPrompt, err error)
	MGetPrompt(ctx context.Context, spaceID int64, promptQueries []*MGetPromptQuery) (prompts []*LoopPrompt, err error)
	ListPrompt(ctx context.Context, param *ListPromptParam) (prompts []*LoopPrompt, total *int32, err error)
	ListPromptVersion(ctx context.Context, param *ListPromptVersionParam) (prompts []*CommitInfo, nextCursor string, err error)
	ExecutePrompt(ctx context.Context, spaceID int64, param *ExecutePromptParam) (result *ExecutePromptResult, err error)
}

type ISandboxSchedulerAdapter

type ISandboxSchedulerAdapter interface {
	// Init 初始化一个沙箱任务。
	Init(ctx context.Context, req *SandboxInitRequest) (*SandboxInitResponse, error)
	// Run 提交一次执行。
	Run(ctx context.Context, req *SandboxRunRequest) (*SandboxRunResponse, error)
	// Get 查询单次执行状态。
	Get(ctx context.Context, req *SandboxGetRequest) (*SandboxGetResponse, error)
	// GetTaskInfo 查询任务整体状态。
	GetTaskInfo(ctx context.Context, req *SandboxGetTaskInfoRequest) (*SandboxGetTaskInfoResponse, error)
	// Destroy 销毁任务或指定执行。
	Destroy(ctx context.Context, req *SandboxDestroyRequest) (*SandboxDestroyResponse, error)
	// WriteFile 向某个 Running execution 的 session 写入文件(批量)。
	// 用于双沙箱 bring-up:session 建好后把补全 endpoint 的 case-file 写进 Orchestrator 沙箱。
	WriteFile(ctx context.Context, req *SandboxWriteFileRequest) (*SandboxWriteFileResponse, error)
	// RunCommand 在某个 Running execution 的 session 内执行命令。
	// 用于双沙箱 bring-up:在 Orchestrator 沙箱内启动 `fornax-eval orchestrator`。
	RunCommand(ctx context.Context, req *SandboxRunCommandRequest) (*SandboxRunCommandResponse, error)
}

ISandboxSchedulerAdapter 沙箱调度 RPC 适配器。

对应 idl: cozeloop-idl-commercial/saas/coze/loop/agent_studio/coze.loop.agent_studio.sandbox_scheduler.thrift 目标 PSM: stone.cozeloop.agent_studio

type ISkillPreloader

type ISkillPreloader interface {
	// PreloadSkills 预下载指定实验用到的 skill 入库 TOS 并回写 tos_key。
	// exptID 实验 ID;spaceID 空间 ID;skillConfigs 该实验涉及的 skill 配置;userJWT 发起人透传的 user JWT。
	PreloadSkills(ctx context.Context, exptID int64, spaceID int64, skillConfigs []*entity.SkillConfig, userJWT string) error
}

ISkillPreloader skill 预下载入 TOS 的 Port 接口。

提交实验时,把该实验用到的外部来源 skill 用发起人 user JWT + 平台 SA JWT 下载一次并入库到 TOS,把 tos_key 记入实验 eval_conf 的 SkillTOSKeys 快照字段; 之后该实验的所有执行/重试批次都从 TOS 现签下发,与原始来源、user JWT 解耦。

开源版仅提供 Port 接口 + Noop 空实现供依赖注入图占位;真实现由商业版注入。

type ITagRPCAdapter

type ITagRPCAdapter interface {
	GetTagInfo(context.Context, int64, int64) (*entity.TagInfo, error)
	BatchGetTagInfo(context.Context, int64, []int64) (map[int64]*entity.TagInfo, error)
}

type ITaskRPCAdapter

type ITaskRPCAdapter interface {
	ListTasks(ctx context.Context, param *ListTasksParam) (tasks []*taskdomain.Task, total *int64, err error)
}

type ITrajectoryAdapter

type ITrajectoryAdapter interface {
	ListTrajectory(ctx context.Context, spaceID int64, traceID []string, startTimeMS *int64) ([]*entity.Trajectory, error)
}

type IUserProvider

type IUserProvider interface {
	MGetUserInfo(ctx context.Context, userIDs []string) ([]*entity.UserInfo, error)
}

type ImportDatasetParam

type ImportDatasetParam struct {
	WorkspaceID   int64
	DatasetID     int64
	File          *entity.DatasetIOFile
	FieldMappings []*entity.FieldMapping
	Option        *entity.DatasetIOJobOption
}

type ListDatasetItemDefsParam

type ListDatasetItemDefsParam struct {
	SpaceID         int64
	EvaluationSetID int64
	PageNumber      *int32
	PageSize        *int32
	PageToken       *string
	OrderBys        []*entity.OrderBy
}

type ListDatasetItemVersionsParam

type ListDatasetItemVersionsParam struct {
	SpaceID         int64
	EvaluationSetID int64
	ItemID          int64
	PageNumber      *int32
	PageSize        *int32
	PageToken       *string
	OrderBys        []*entity.OrderBy
}

type ListDatasetItemsParam

type ListDatasetItemsParam struct {
	SpaceID         int64
	EvaluationSetID int64
	VersionID       *int64
	PageNumber      *int32
	PageSize        *int32
	PageToken       *string
	OrderBys        []*entity.OrderBy
	ItemIDsNotIn    []int64
	Filter          *entity.Filter
	TagFilter       *entity.TagFilter
}

type ListDatasetsParam

type ListDatasetsParam struct {
	SpaceID          int64
	EvaluationSetIDs []int64
	Name             *string
	Creators         []string
	PageNumber       *int32
	PageSize         *int32
	PageToken        *string
	OrderBys         []*entity.OrderBy
	TagFilter        *entity.TagFilter
	DatasetKeys      []string
	SharedOption     *entity.SharedResourceOption
}

type ListPipelineFlowRequest

type ListPipelineFlowRequest struct {
	SpaceID    *int64
	Name       *string
	Page       *int32
	PageSize   *int32
	WithDetail bool    // 为 true 时返回 Flow 详情(含 nodes、edges)
	IDList     []int64 // 按 ID 筛选,非空时只返回指定 ID 的 Pipeline
}

ListPipelineFlowRequest ListPipeline 查询请求参数

type ListPipelineFlowResponse

type ListPipelineFlowResponse struct {
	Total int64
	Items []*entity.Pipeline
}

ListPipelineFlowResponse ListPipeline 查询响应,返回完整 Pipeline 列表

type ListPromptParam

type ListPromptParam struct {
	SpaceID  *int64
	Page     *int32
	PageSize *int32
	// name/key前缀匹配
	KeyWord *string
}

type ListPromptVersionParam

type ListPromptVersionParam struct {
	PromptID int64
	SpaceID  *int64
	Cursor   *string
	PageSize *int32
}

type ListTasksParam

type ListTasksParam struct {
	WorkspaceID int64
	TaskFilters *taskfilter.TaskFilterFields
	Limit       *int32
	Offset      *int32
	OrderBy     *taskcommon.OrderBy
}

type LoopPrompt

type LoopPrompt struct {
	ID           int64
	PromptKey    string
	PromptBasic  *PromptBasic
	PromptCommit *PromptCommit
}

type MGetPromptQuery

type MGetPromptQuery struct {
	PromptID int64
	Version  *string
}

type PromptBasic

type PromptBasic struct {
	DisplayName   *string
	Description   *string
	LatestVersion *string
}

type PromptCommit

type PromptCommit struct {
	Detail     *PromptDetail `thrift:"detail,1,optional" frugal:"1,optional,PromptDetail" form:"detail" json:"detail,omitempty" query:"detail"`
	CommitInfo *CommitInfo   `` /* 130-byte string literal not displayed */
}

type PromptDetail

type PromptDetail struct {
	PromptTemplate *PromptTemplate
}

type PromptPublishInfo

type PromptPublishInfo struct {
	Publisher          string
	PublishDescription string
	PublishTSMS        *int64
}

type PromptTemplate

type PromptTemplate struct {
	VariableDefs []*VariableDef `` /* 145-byte string literal not displayed */
}

type PublishStatus

type PublishStatus int64
const (
	PublishStatus_Undefined PublishStatus = 0
	// 未发布
	PublishStatus_UnPublish PublishStatus = 1
	// 已发布
	PublishStatus_Published PublishStatus = 2
)

type QueryItemSnapshotMappingRequest

type QueryItemSnapshotMappingRequest struct {
	// 空间ID
	SpaceID int64
	// 数据集ID
	DatasetID int64
	// 是否草稿版本
	IsDraftVersion bool
	// 版本号
	VersionID *int64
}

QueryItemSnapshotMappingRequest 查询数据集 item snapshot 映射的请求参数

type SandboxDestroyRequest

type SandboxDestroyRequest struct {
	TaskID      string
	DestroyType SandboxDestroyType
	ExecuteIDs  []string
	WorkspaceID int64
	// ZombieTimeout 标记本次销毁是否由 SandboxAgent zombie 超时触发;
	// 具体收尾命令的拼接由调用侧适配器实现,backend 不感知命令内容。
	ZombieTimeout bool
}

SandboxDestroyRequest 销毁任务/执行请求。

type SandboxDestroyResponse

type SandboxDestroyResponse struct {
	AffectedCount int32
}

SandboxDestroyResponse 销毁响应。

type SandboxDestroyType

type SandboxDestroyType int32

SandboxDestroyType 销毁类型。

const (
	SandboxDestroyTypeTask    SandboxDestroyType = 0
	SandboxDestroyTypeExecute SandboxDestroyType = 1
)

type SandboxExecuteError

type SandboxExecuteError struct {
	Code    string
	Message string
}

SandboxExecuteError 单次执行错误信息。

type SandboxExecuteInfo

type SandboxExecuteInfo struct {
	ExecuteID     string
	TaskID        string
	Status        SandboxExecuteStatus
	SessionID     string
	EnqueueTimeMS int64
	StartTimeMS   int64
	EndTimeMS     int64
	Error         *SandboxExecuteError
	Param         map[string]string
	QueuePosition int32
	// IP / IPv6 / Port session 网络地址,Get 时由调度侧从底座 SDK 的 AdvancedInfo 活取(不落库);
	// session 未就绪(Creating)或非 Running 时可能为空。用于 Remote-SSH IDE 场景把目标 sandbox
	// 的 ip/port 透给上层填 RemoteSSHTarget(IDE 经 Remote-SSH 挂上来)。
	IP   string
	IPv6 string
	Port string
}

SandboxExecuteInfo 单次执行详情。

type SandboxExecuteStatus

type SandboxExecuteStatus int32

SandboxExecuteStatus 执行状态。

const (
	SandboxExecuteStatusPending   SandboxExecuteStatus = 0
	SandboxExecuteStatusCreating  SandboxExecuteStatus = 1
	SandboxExecuteStatusRunning   SandboxExecuteStatus = 2
	SandboxExecuteStatusSucceeded SandboxExecuteStatus = 10
	SandboxExecuteStatusFailed    SandboxExecuteStatus = 11
	SandboxExecuteStatusCanceled  SandboxExecuteStatus = 12
	SandboxExecuteStatusFinished  SandboxExecuteStatus = 13
)

type SandboxFileWrite

type SandboxFileWrite struct {
	// Path 容器内绝对路径。
	Path string
	// Content UTF-8 文本;IsBase64=true 时按 base64 解码后写入。
	Content string
	// IsBase64 表示 Content 是 base64 编码的二进制内容。
	IsBase64 bool
}

SandboxFileWrite 单个待写入沙箱容器的文件。

type SandboxFileWriteResult

type SandboxFileWriteResult struct {
	Path         string
	BytesWritten int64
}

SandboxFileWriteResult 单个文件的写入结果。

type SandboxGetRequest

type SandboxGetRequest struct {
	ExecuteID   string
	WorkspaceID int64
}

SandboxGetRequest 查询执行请求。

type SandboxGetResponse

type SandboxGetResponse struct {
	ExecuteInfo *SandboxExecuteInfo
}

SandboxGetResponse 查询执行响应。

type SandboxGetTaskInfoRequest

type SandboxGetTaskInfoRequest struct {
	TaskID      string
	WorkspaceID int64
}

SandboxGetTaskInfoRequest 查询任务请求。

type SandboxGetTaskInfoResponse

type SandboxGetTaskInfoResponse struct {
	TaskInfo *SandboxTaskInfo
}

SandboxGetTaskInfoResponse 查询任务响应。

type SandboxInitRequest

type SandboxInitRequest struct {
	TaskID      string
	Concurrency int32
	Metadata    map[string]string
	WorkspaceID int64
	// Tenant 沙箱租户;未显式设置(值为 SandboxTenantDefault)时沿用调度侧默认租户 FornaxTraeEval。
	// 双沙箱模式的评测对象必须传 SandboxTenantFornaxEvalGeneral。
	Tenant SandboxTenant
	// ResourceType 计算资源类型;未显式设置(值为 SandboxResourceTypeSandbox)时落 Linux 沙箱,保持原行为。
	// mac_vm + sandbox 双资源实验中,两个 task 用同一租户、靠本字段区分落到哪种 backend。
	ResourceType SandboxResourceType
}

SandboxInitRequest 初始化任务请求。

type SandboxInitResponse

type SandboxInitResponse struct {
	TaskInfo *SandboxTaskInfo
}

SandboxInitResponse 初始化任务响应。

type SandboxResourceType

type SandboxResourceType int32

SandboxResourceType 标识 task 落到哪种计算资源,与 stone.cozeloop.agent_studio 的 sandbox_scheduler.ResourceType 枚举保持数值一致。与 SandboxTenant 正交:Tenant 管能力门控/配额, ResourceType 管路由到哪种 backend。task 级属性,Init 时下发,同一 task 只能配置一次; per-op(Run/RunCommand/WriteFile/Destroy)不携带,调度侧从 task 反查。

const (
	// SandboxResourceTypeSandbox = sandbox(0),默认,Linux 沙箱;未显式设置即此值,保持原行为不变。
	SandboxResourceTypeSandbox SandboxResourceType = 0
	// SandboxResourceTypeMacVM = mac_vm(1),从 warm pool 租借的 Mac VM。
	SandboxResourceTypeMacVM SandboxResourceType = 1
)

type SandboxRunCommandRequest

type SandboxRunCommandRequest struct {
	ExecuteID   string
	WorkspaceID int64
	// Command 命令行,经 bash -lc 执行。
	Command string
	// Cwd 工作目录,默认 "/"。
	Cwd string
	// TimeoutMS 执行超时(毫秒),服务端会封顶。
	TimeoutMS int64
	// Async 为 true 时后台执行、立即返回(不回 stdout/stderr);默认同步。
	Async bool
	// Env 注入被执行命令的环境变量(不上命令行)。mac_vm 场景下 runner 拉起靠它注入
	// FORNAX_ORCHESTRATOR_WS_LISTEN / FORNAX_RUNNER_SESSION_ID 等及凭据;调度侧经 guest-exec env 数组下发。
	Env map[string]string
}

SandboxRunCommandRequest 在某个 Running execution 的 session 内执行命令。

type SandboxRunCommandResponse

type SandboxRunCommandResponse struct {
	// Stdout 标准输出(async 模式下为空)。
	Stdout string
	// Stderr 标准错误(async 模式下为空)。
	Stderr string
	// ExitCode 进程退出码(async 模式下 0/未设)。
	ExitCode int32
}

SandboxRunCommandResponse 执行命令响应。

type SandboxRunRequest

type SandboxRunRequest struct {
	ExecuteID   string
	TaskID      string
	Param       map[string]string
	WorkspaceID int64
	// StartCmd 覆盖沙箱容器启动后执行的默认命令;仅在租户开启 start_cmd 能力时生效。
	StartCmd string
	// Env 会与租户策略注入的环境变量合并;同名 key 以调用方为准(含 FORNAX_* 前缀)。
	Env map[string]string
	// Sync 为 true 时同步等待 session 创建完成,返回 SessionID;默认异步返回。
	Sync bool
	// Files 在 session 创建后、StartCmd 执行前写入容器内的文件。
	Files []*SandboxFileWrite
}

SandboxRunRequest 提交一次执行请求。

type SandboxRunResponse

type SandboxRunResponse struct {
	ExecuteID string
	// SessionID 仅在 SandboxRunRequest.Sync=true 时返回;异步模式下 session 未创建,值为空。
	SessionID string
}

SandboxRunResponse 提交一次执行响应。

type SandboxTaskInfo

type SandboxTaskInfo struct {
	TaskID         string
	Concurrency    int32
	ActiveCount    int32
	PendingCount   int32
	TotalCount     int32
	CompletedCount int32
	// ResourceType 该 task 落到的计算资源类型(调度侧回显);缺省为 sandbox。
	ResourceType SandboxResourceType
}

SandboxTaskInfo 任务整体状态。

type SandboxTenant

type SandboxTenant int32

SandboxTenant 沙箱租户,与 stone.cozeloop.agent_studio 的 sandbox_scheduler.Tenant 枚举保持数值一致。 决定容器 start_cmd / env 注入 / case-file 等能力开关,Init 时下发,一个 task 只能配置一次。

const (
	// SandboxTenantDefault = FornaxTraeEval,兼容单沙箱链路的默认租户。
	SandboxTenantDefault SandboxTenant = 0
	// SandboxTenantGeneralAgent 通用 agent 场景。
	SandboxTenantGeneralAgent SandboxTenant = 1
	// SandboxTenantLabelingAnalysis 标注 / 分析场景。
	SandboxTenantLabelingAnalysis SandboxTenant = 2
	// SandboxTenantFornaxTraeEvalDualSandbox = FornaxTraeEvalDoubleSandbox,双沙箱模式。
	SandboxTenantFornaxTraeEvalDualSandbox SandboxTenant = 3
	// SandboxTenantFornaxEvalGeneral = FornaxEvalGeneral,通用评测租户(能力同 GeneralAgent 的最小集:
	// 不注入平台 env、不写 case-file、无默认 start_cmd,全部由调用方显式下发)。
	// 双沙箱链路现用此租户:编排完全由 operator 侧完成,调度侧只需提供裸沙箱。
	SandboxTenantFornaxEvalGeneral SandboxTenant = 4
	// SandboxTenantFornaxEvalGeneralGUI = FornaxEvalGeneralGUI,Mac VM GUI 评测专用租户(能力同 GeneralAgent 最小集)。
	// mac_vm_plus_sandbox 链路的两个 task(mac_vm + sandbox)共用此租户,靠 ResourceType 区分落到哪种 backend。
	SandboxTenantFornaxEvalGeneralGUI SandboxTenant = 5
)

type SandboxWriteFileRequest

type SandboxWriteFileRequest struct {
	ExecuteID   string
	WorkspaceID int64
	Files       []*SandboxFileWrite
}

SandboxWriteFileRequest 向某个 Running execution 的 session 写文件(批量)。

type SandboxWriteFileResponse

type SandboxWriteFileResponse struct {
	// TotalBytesWritten 所有文件写入字节数之和。
	TotalBytesWritten int64
	// Results 每个文件的写入结果,与入参顺序一致。
	Results []*SandboxFileWriteResult
}

SandboxWriteFileResponse 写文件响应。

type ScheduleJobDetail

type ScheduleJobDetail struct {
	BizKey     string
	Enabled    bool
	Crontab    string
	NextRunAt  *time.Time
	FirstRunAt *time.Time
	Deadline   *time.Time
}

ScheduleJobDetail 周期任务详情

type VariableDef

type VariableDef struct {
	Key      *string
	Type     *VariableType `thrift:"type,3,optional" frugal:"3,optional,string" form:"type" json:"type,omitempty" query:"type"`
	TypeTags []string      `thrift:"type_tags,4,optional" frugal:"4,optional,list<string>" form:"type_tags" json:"type_tags,omitempty" query:"type_tags"`
}

type VariableType

type VariableType = string

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL