Documentation
¶
Index ¶
- Constants
- func AppUrl() string
- func Id() string
- func TypeOf(payload MsgPayload) string
- type Action
- type AgentData
- type ChartMsg
- type CollectData
- type Context
- type DataFilter
- type Document
- type EventPayload
- type FileDef
- type FormField
- type FormFieldType
- type FormFieldValueType
- type FormMsg
- type HtmlMsg
- type InfoMsg
- type InstructMsg
- type JobFilter
- type KV
- func (j KV) Any(key string) (any, bool)
- func (j KV) Float64(key string) (float64, bool)
- func (j KV) Float64Value() (float64, bool)
- func (j KV) Int64(key string) (int64, bool)
- func (j KV) Int64Value() (int64, bool)
- func (j KV) List(key string) ([]any, bool)
- func (j KV) Map(key string) (map[string]interface{}, bool)
- func (j KV) Merge(kvs ...KV) KV
- func (j *KV) Scan(value interface{}) error
- func (j KV) String(key string) (string, bool)
- func (j KV) StringValue() (string, bool)
- func (j KV) Uint64(key string) (uint64, bool)
- func (j KV) Uint64Value() (uint64, bool)
- func (j KV) Value() (driver.Value, error)
- type KVMsg
- type LinkMsg
- type MarkdownMsg
- type Message
- type Mount
- type MsgPayload
- type ObjHeader
- type Registry
- type TableMsg
- type Task
- type TaskLimits
- type TaskRetry
- type TaskState
- type TextMsg
- type UI
- type Uid
- type WorkflowMetadata
- type WorkflowTask
Constants ¶
View Source
const ( MessageSendEvent = "message:send" InstructPushEvent = "instruct:push" )
View Source
const ( MountTypeVolume string = "volume" MountTypeBind string = "bind" MountTypeTmpfs string = "tmpfs" )
View Source
const ApiVersion = 1
Variables ¶
This section is empty.
Functions ¶
func TypeOf ¶
func TypeOf(payload MsgPayload) string
Types ¶
type ChartMsg ¶
type CollectData ¶
type Context ¶
type Context struct {
// Message ID denormalized
Id string
// chat platform
Platform string
// channel or group
Topic string
// Sender's UserId as string.
AsUser Uid
// form id
FormId string
// form Rule id
FormRuleId string
// agent
CollectId string
// agent
AgentVersion int
// page rule id
PageRuleId string
// workflow rule id
WorkflowRuleId string
// llm tool rule id
ToolRuleId string
// contains filtered or unexported fields
}
func (*Context) Cancel ¶
func (c *Context) Cancel() context.CancelFunc
func (*Context) SetTimeout ¶
type DataFilter ¶
type EventPayload ¶
type FileDef ¶
type FileDef struct {
ObjHeader `bson:",inline"`
// Status of upload
Status int
// User who created the file
User string
// Type of the file.
MimeType string
// Size of the file in bytes.
Size int64
// Internal file location, i.e. path on disk or an S3 blob address.
Location string
}
FileDef is a stored record of a file upload
type FormField ¶
type FormField struct {
Type FormFieldType `json:"type"`
Key string `json:"key"`
Value interface{} `json:"value"`
ValueType FormFieldValueType `json:"value_type"`
Label string `json:"label"`
Placeholder string `json:"placeholder"`
Option []string `json:"option"`
Rule string `json:"rule"`
}
type FormFieldType ¶
type FormFieldType string
const ( FormFieldText FormFieldType = "text" FormFieldPassword FormFieldType = "password" FormFieldNumber FormFieldType = "number" FormFieldColor FormFieldType = "color" FormFieldFile FormFieldType = "file" FormFieldMonth FormFieldType = "month" FormFieldDate FormFieldType = "date" FormFieldTime FormFieldType = "time" FormFieldEmail FormFieldType = "email" FormFieldUrl FormFieldType = "url" FormFieldRadio FormFieldType = "radio" FormFieldCheckbox FormFieldType = "checkbox" FormFieldRange FormFieldType = "range" FormFieldSelect FormFieldType = "select" FormFieldTextarea FormFieldType = "textarea" FormFieldHidden FormFieldType = "hidden" )
type FormFieldValueType ¶
type FormFieldValueType string
const ( FormFieldValueString FormFieldValueType = "string" FormFieldValueBool FormFieldValueType = "bool" FormFieldValueInt64 FormFieldValueType = "int64" FormFieldValueFloat64 FormFieldValueType = "float64" FormFieldValueStringSlice FormFieldValueType = "string_slice" FormFieldValueInt64Slice FormFieldValueType = "int64_slice" FormFieldValueFloat64Slice FormFieldValueType = "float64_slice" )
type FormMsg ¶
type InfoMsg ¶
type InfoMsg struct {
Title string `json:"title"`
Model interface{} `json:"model,omitempty"`
}
type InstructMsg ¶
type InstructMsg struct {
No string
Object model.InstructObject
Bot string
Flag string
Content KV
Priority model.InstructPriority
State model.InstructState
ExpireAt time.Time
}
func (InstructMsg) Convert ¶
func (t InstructMsg) Convert() any
type KV ¶
type KV map[string]interface{}
func (KV) Float64Value ¶
func (KV) Int64Value ¶
func (KV) StringValue ¶
func (KV) Uint64Value ¶
type LinkMsg ¶
type MarkdownMsg ¶
func (MarkdownMsg) Convert ¶
func (m MarkdownMsg) Convert() any
type Message ¶
type Message struct {
Platform string
Topic string
Payload EventPayload
}
type MsgPayload ¶
type MsgPayload interface {
Convert() any
}
func ToPayload ¶
func ToPayload(typ string, src []byte) MsgPayload
type ObjHeader ¶
type ObjHeader struct {
// using string to get around rethinkdb's problems with uint64;
// `bson:"_id"` tag is for mongodb to use as primary key '_id'.
Id string `bson:"_id"`
//id Uid
CreatedAt time.Time
UpdatedAt time.Time
}
ObjHeader is the header shared by all stored objects.
type Registry ¶
type TableMsg ¶
type Task ¶
type Task struct {
ID string `json:"id,omitempty"`
State TaskState `json:"state,omitempty"`
CreatedAt *time.Time `json:"created_at,omitempty"`
StartedAt *time.Time `json:"started_at,omitempty"`
CompletedAt *time.Time `json:"completed_at,omitempty"`
FailedAt *time.Time `json:"failed_at,omitempty"`
CMD []string `json:"cmd,omitempty"`
Entrypoint []string `json:"entrypoint,omitempty"`
Run string `json:"run,omitempty"`
Image string `json:"image,omitempty"`
Registry *Registry `json:"registry,omitempty"`
Env map[string]string `json:"env,omitempty"`
Files map[string]string `json:"files,omitempty"`
Error string `json:"error,omitempty"`
Pre []*Task `json:"pre,omitempty"`
Post []*Task `json:"post,omitempty"`
Mounts []Mount `json:"mounts,omitempty"`
Networks []string `json:"networks,omitempty"`
Retry *TaskRetry `json:"retry,omitempty"`
Limits *TaskLimits `json:"limits,omitempty"`
Timeout string `json:"timeout,omitempty"`
Result string `json:"result,omitempty"`
GPUs string `json:"gpus,omitempty"`
}
Task is the basic unit of work that a Worker can handle.
func CloneTasks ¶
type TaskLimits ¶
type TaskLimits struct {
CPUs string `json:"cpus,omitempty"`
Memory string `json:"memory,omitempty"`
}
func (*TaskLimits) Clone ¶
func (l *TaskLimits) Clone() *TaskLimits
type TaskRetry ¶
type TaskState ¶
type TaskState string
TaskState State defines the list of states that a task can be in, at any given moment.
type Uid ¶
type Uid string
Uid is a database-specific record id, suitable to be used as a primary key.
const ZeroUid Uid = ""
ZeroUid is a constant representing uninitialized Uid.
type WorkflowMetadata ¶
type WorkflowMetadata struct {
Name string `json:"name" yaml:"name"`
Describe string `json:"describe" yaml:"describe"`
Triggers []struct {
Type string `json:"type" yaml:"type"`
Rule KV `json:"rule,omitempty" yaml:"rule"`
} `json:"triggers" yaml:"triggers"`
Pipeline []string `json:"pipeline" yaml:"pipeline"`
Tasks []WorkflowTask `json:"tasks" yaml:"tasks"`
}
type WorkflowTask ¶
type WorkflowTask struct {
ID string `json:"id" yaml:"id"`
Action string `json:"action" yaml:"action"`
Describe string `json:"describe,omitempty" yaml:"describe"`
Params KV `json:"params,omitempty" yaml:"params"`
Vars []string `json:"vars,omitempty" yaml:"vars"`
Conn []string `json:"conn,omitempty" yaml:"conn"`
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.