message

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSONSchema

type JSONSchema struct {
	Type                 string                `json:"type,omitempty"`
	Description          string                `json:"description,omitempty"`
	Properties           map[string]JSONSchema `json:"properties,omitempty"`
	Required             []string              `json:"required,omitempty"`
	Items                *JSONSchema           `json:"items,omitempty"`
	Enum                 []string              `json:"enum,omitempty"`
	AdditionalProperties bool                  `json:"additionalProperties,omitempty"`
}

type Kind

type Kind string
const (
	KindStandard          Kind = "standard"
	KindBranchSummary     Kind = "branch_summary"
	KindCompactionSummary Kind = "compaction_summary"
	KindCommandOutput     Kind = "command_output"
	KindCustom            Kind = "custom"
)

type Message

type Message struct {
	ID          string            `json:"id,omitempty"`
	Role        Role              `json:"role"`
	Kind        Kind              `json:"kind,omitempty"`
	Name        string            `json:"name,omitempty"`
	Text        string            `json:"text,omitempty"`
	Thinking    string            `json:"thinking,omitempty"`
	ToolCalls   []ToolCall        `json:"toolCalls,omitempty"`
	ToolResult  *ToolResult       `json:"toolResult,omitempty"`
	TeamID      string            `json:"teamId,omitempty"`
	AgentID     string            `json:"agentId,omitempty"`
	RunID       string            `json:"runId,omitempty"`
	ParentRunID string            `json:"parentRunId,omitempty"`
	Visibility  Visibility        `json:"visibility,omitempty"`
	Metadata    map[string]string `json:"metadata,omitempty"`
	CreatedAt   time.Time         `json:"createdAt,omitempty"`
}

func NewText

func NewText(role Role, text string) Message

func NewToolResult

func NewToolResult(result ToolResult) Message

type Role

type Role string
const (
	RoleSystem    Role = "system"
	RoleUser      Role = "user"
	RoleAssistant Role = "assistant"
	RoleTool      Role = "tool"
	RoleCustom    Role = "custom"
)

type ToolCall

type ToolCall struct {
	ID        string          `json:"id"`
	Name      string          `json:"name"`
	Arguments json.RawMessage `json:"arguments,omitempty"`
}

type ToolDefinition

type ToolDefinition struct {
	Name                string            `json:"name"`
	Description         string            `json:"description,omitempty"`
	InputSchema         JSONSchema        `json:"inputSchema"`
	Terminal            bool              `json:"terminal,omitempty"`
	Tags                []string          `json:"tags,omitempty"`
	Metadata            map[string]string `json:"metadata,omitempty"`
	Origin              string            `json:"origin,omitempty"`
	Security            ToolSecurity      `json:"security,omitempty"`
	RequiredPermissions []string          `json:"requiredPermissions,omitempty"`
	RequiresApproval    bool              `json:"requiresApproval,omitempty"`
	RiskLevel           string            `json:"riskLevel,omitempty"`
}

type ToolResult

type ToolResult struct {
	ToolCallID string          `json:"toolCallId,omitempty"`
	Name       string          `json:"name"`
	Content    string          `json:"content,omitempty"`
	Structured json.RawMessage `json:"structured,omitempty"`
	IsError    bool            `json:"isError,omitempty"`
}

type ToolSecurity

type ToolSecurity struct {
	RequiredPermissions []string `json:"requiredPermissions,omitempty"`
	RequiresApproval    bool     `json:"requiresApproval,omitempty"`
	RiskLevel           string   `json:"riskLevel,omitempty"`
	Idempotent          bool     `json:"idempotent,omitempty"`
}

type Visibility

type Visibility string
const (
	VisibilityShared  Visibility = "shared"
	VisibilityPrivate Visibility = "private"
)

Jump to

Keyboard shortcuts

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