specs

package
v0.2.13 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2025 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API struct {
	// contains filtered or unexported fields
}

func NewAPI

func NewAPI(ctrl *controller.Controller, rt *runtime.Runtime) *API

func (*API) Create

func (api *API) Create(ctx context.Context, requester interface{}, request *CreateRequest) (*agent.Spec, error)

func (*API) Delete

func (api *API) Delete(ctx context.Context, requester interface{}, request *DeleteRequest) (uuid.UUID, error)

func (*API) Get

func (api *API) Get(ctx context.Context, requester interface{}, request *GetRequest) (*agent.Spec, error)

func (*API) List

func (api *API) List(ctx context.Context, requester interface{}, request *ListRequest) (*ListResponse, error)

func (*API) Update

func (api *API) Update(ctx context.Context, requester interface{}, request *UpdateRequest) (*agent.Spec, error)

type CreateRequest

type CreateRequest struct {
	Name                   string                       `json:"name"`
	Provider               agent.LLMProvider            `json:"provider"`
	Model                  string                       `json:"model"`
	Instructions           string                       `json:"instructions"`
	ReasoningEffort        runtimetypes.ReasoningEffort `json:"reasoning_effort"`
	AutoCompact            bool                         `json:"auto_compact"`
	CompactAtPercent       *int                         `json:"compact_at_percent"`
	CompactionPrompt       string                       `json:"compaction_prompt"`
	AllowedTools           []string                     `json:"allowed_tools"`
	ShellAccess            *bool                        `json:"shell_access"`
	WebSearch              *bool                        `json:"web_search"`
	StructuredOutput       *bool                        `json:"structured_output"`
	StructuredOutputSchema json.RawMessage              `json:"structured_output_schema"`
}

func (CreateRequest) Validate

func (r CreateRequest) Validate() error

type DeleteRequest

type DeleteRequest struct {
	AgentSpecID uuid.UUID `json:"agent_spec_id"`
}

func (DeleteRequest) Validate

func (r DeleteRequest) Validate() error

type GetRequest

type GetRequest struct {
	AgentSpecID uuid.UUID `json:"agent_spec_id"`
}

func (GetRequest) Validate

func (r GetRequest) Validate() error

type ListRequest

type ListRequest struct {
	pagination.CursorRequest

	// Optional filters
	Provider *agent.LLMProvider `json:"provider,omitempty"`
	Search   string             `json:"search"`
}

func (*ListRequest) Validate

func (r *ListRequest) Validate() error

type ListResponse

type ListResponse struct {
	pagination.CursorResponse
	AgentSpecs []agent.Spec `json:"agent_specs"`
}

type UpdateRequest

type UpdateRequest struct {
	AgentSpecID            uuid.UUID          `json:"agent_spec_id"`
	Provider               *agent.LLMProvider `json:"provider"`
	Name                   *string            `json:"name"`
	Model                  *string            `json:"model"`
	Instructions           *string            `json:"instructions"`
	AutoCompact            *bool              `json:"auto_compact"`
	CompactAtPercent       *int               `json:"compact_at_percent"`
	CompactionPrompt       *string            `json:"compaction_prompt"`
	AllowedTools           *[]string          `json:"allowed_tools"`
	ShellAccess            *bool              `json:"shell_access"`
	WebSearch              *bool              `json:"web_search"`
	StructuredOutput       *bool              `json:"structured_output"`
	StructuredOutputSchema *json.RawMessage   `json:"structured_output_schema"`
}

func (UpdateRequest) Validate

func (r UpdateRequest) Validate() error

Jump to

Keyboard shortcuts

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