models

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AgentJSON

type AgentJSON struct {
	AgentManifest `json:",inline"`
	Title         string             `json:"title,omitempty"`
	Version       string             `json:"version"`
	Status        string             `json:"status,omitempty"`
	WebsiteURL    string             `json:"websiteUrl,omitempty"`
	Repository    *model.Repository  `json:"repository,omitempty" doc:"Optional repository metadata for the agent source code."`
	Packages      []AgentPackageInfo `json:"packages,omitempty"`
	Remotes       []model.Transport  `json:"remotes,omitempty"`
}

AgentJSON mirrors the ServerJSON shape for now, defined locally

type AgentListResponse

type AgentListResponse struct {
	Agents   []AgentResponse `json:"agents"`
	Metadata AgentMetadata   `json:"metadata"`
}

type AgentManifest

type AgentManifest struct {
	Name              string          `yaml:"agentName" json:"name"`
	Image             string          `yaml:"image" json:"image"`
	Language          string          `yaml:"language" json:"language"`
	Framework         string          `yaml:"framework" json:"framework"`
	ModelProvider     string          `yaml:"modelProvider" json:"modelProvider"`
	ModelName         string          `yaml:"modelName" json:"modelName"`
	Description       string          `yaml:"description" json:"description"`
	Version           string          `yaml:"version,omitempty" json:"version,omitempty"`
	TelemetryEndpoint string          `yaml:"telemetryEndpoint,omitempty" json:"telemetryEndpoint,omitempty"`
	McpServers        []McpServerType `yaml:"mcpServers,omitempty" json:"mcpServers,omitempty"`
	Skills            []SkillRef      `yaml:"skills,omitempty" json:"skills,omitempty"`
	Prompts           []PromptRef     `yaml:"prompts,omitempty" json:"prompts,omitempty"`
	UpdatedAt         time.Time       `yaml:"updatedAt,omitempty" json:"updatedAt,omitempty"`
}

AgentManifest represents the agent project configuration and metadata.

type AgentMetadata

type AgentMetadata struct {
	NextCursor string `json:"nextCursor,omitempty"`
	Count      int    `json:"count"`
}

type AgentPackageInfo

type AgentPackageInfo struct {
	RegistryType string `json:"registryType"`
	Identifier   string `json:"identifier"`
	Version      string `json:"version"`
	Transport    struct {
		Type string `json:"type"`
	} `json:"transport"`
}

type AgentRegistryExtensions

type AgentRegistryExtensions struct {
	Status      string    `json:"status"`
	PublishedAt time.Time `json:"publishedAt"`
	UpdatedAt   time.Time `json:"updatedAt"`
	IsLatest    bool      `json:"isLatest"`
}

AgentRegistryExtensions mirrors official metadata stored separately

type AgentResponse

type AgentResponse struct {
	Agent AgentJSON         `json:"agent"`
	Meta  AgentResponseMeta `json:"_meta"`
}

type AgentResponseMeta

type AgentResponseMeta struct {
	Official    *AgentRegistryExtensions `json:"io.modelcontextprotocol.registry/official,omitempty"`
	Semantic    *AgentSemanticMeta       `json:"aregistry.ai/semantic,omitempty"`
	Deployments *ResourceDeploymentsMeta `json:"aregistry.ai/deployments,omitempty"`
}

type AgentSemanticMeta

type AgentSemanticMeta struct {
	Score float64 `json:"score"`
}

type CreateProviderInput added in v0.2.0

type CreateProviderInput struct {
	ID       string         `json:"id,omitempty"`
	Name     string         `json:"name"`
	Platform string         `json:"platform"`
	Config   map[string]any `json:"config,omitempty"`
}

CreateProviderInput defines inputs for provider creation.

type Deployment

type Deployment struct {
	ID               string            `json:"id"`
	ServerName       string            `json:"serverName"` // deployed resource name
	Version          string            `json:"version"`
	ProviderID       string            `json:"providerId,omitempty"`
	ResourceType     string            `json:"resourceType"`
	Status           string            `json:"status"` // deploying, deployed, failed, cancelled, discovered
	Origin           string            `json:"origin"` // managed, discovered
	Env              map[string]string `json:"env"`
	ProviderConfig   JSONObject        `json:"providerConfig,omitempty"`
	ProviderMetadata JSONObject        `json:"providerMetadata,omitempty"`
	PreferRemote     bool              `json:"preferRemote"`
	Error            string            `json:"error,omitempty"`
	DeployedAt       time.Time         `json:"deployedAt"`
	UpdatedAt        time.Time         `json:"updatedAt"`
}

Deployment represents a deployed resource with unified deployment metadata.

type DeploymentFilter

type DeploymentFilter struct {
	Platform     *string // local, kubernetes
	ProviderID   *string
	ResourceType *string // mcp or agent
	Status       *string
	Origin       *string
	ResourceName *string // case-insensitive substring filter
}

DeploymentFilter defines filtering options for deployment queries

type DeploymentSummary added in v0.2.0

type DeploymentSummary struct {
	ID         string    `json:"id"`
	ProviderID string    `json:"providerId,omitempty"`
	Status     string    `json:"status"`
	Origin     string    `json:"origin"`
	Version    string    `json:"version,omitempty"`
	DeployedAt time.Time `json:"deployedAt"`
	UpdatedAt  time.Time `json:"updatedAt"`
}

DeploymentSummary is a compact deployment view embedded in catalog metadata.

type JSONObject added in v0.2.0

type JSONObject map[string]any

func UnmarshalFrom added in v0.2.0

func UnmarshalFrom(v any) (JSONObject, error)

func (JSONObject) UnmarshalInto added in v0.2.0

func (o JSONObject) UnmarshalInto(v any) error

type KubernetesProviderMetadata added in v0.2.0

type KubernetesProviderMetadata struct {
	IsExternal bool `json:"isExternal"`
}

type McpServerType

type McpServerType struct {
	// MCP Server Type -- remote, command, registry
	Type    string            `yaml:"type" json:"type"`
	Name    string            `yaml:"name" json:"name"`
	Image   string            `yaml:"image,omitempty" json:"image,omitempty"`
	Build   string            `yaml:"build,omitempty" json:"build,omitempty"`
	Command string            `yaml:"command,omitempty" json:"command,omitempty"`
	Args    []string          `yaml:"args,omitempty" json:"args,omitempty"`
	Env     []string          `yaml:"env,omitempty" json:"env,omitempty"`
	URL     string            `yaml:"url,omitempty" json:"url,omitempty"`
	Headers map[string]string `yaml:"headers,omitempty" json:"headers,omitempty"`
	// Registry MCP server fields -- these are translated into the appropriate fields above when the agent is ran or deployed
	RegistryURL                string `yaml:"registryURL,omitempty" json:"registryURL,omitempty"`
	RegistryServerName         string `yaml:"registryServerName,omitempty" json:"registryServerName,omitempty"`
	RegistryServerVersion      string `yaml:"registryServerVersion,omitempty" json:"registryServerVersion,omitempty"`
	RegistryServerPreferRemote bool   `yaml:"registryServerPreferRemote,omitempty" json:"registryServerPreferRemote,omitempty"`
}

McpServerType represents a single MCP server configuration.

type PromptJSON added in v0.2.0

type PromptJSON struct {
	Name        string `json:"name" yaml:"name"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Version     string `json:"version" yaml:"version"`
	Content     string `json:"content" yaml:"content"`
}

PromptJSON is the stored JSONB payload for a prompt registry entry. A prompt is a named, versioned text string (e.g. a system prompt for an agent).

type PromptListResponse added in v0.2.0

type PromptListResponse struct {
	Prompts  []PromptResponse `json:"prompts"`
	Metadata PromptMetadata   `json:"metadata"`
}

PromptListResponse is the paginated list response for prompts.

type PromptMetadata added in v0.2.0

type PromptMetadata struct {
	NextCursor string `json:"nextCursor,omitempty"`
	Count      int    `json:"count"`
}

PromptMetadata contains pagination info for prompt list responses.

type PromptRef added in v0.2.0

type PromptRef struct {
	// Name is the local name for the prompt in this agent project.
	Name string `yaml:"name" json:"name"`
	// RegistryURL is the registry URL for pulling the prompt (for registry type).
	RegistryURL string `yaml:"registryURL,omitempty" json:"registryURL,omitempty"`
	// RegistryPromptName is the prompt name in the registry.
	RegistryPromptName string `yaml:"registryPromptName,omitempty" json:"registryPromptName,omitempty"`
	// RegistryPromptVersion is the version of the prompt to pull.
	RegistryPromptVersion string `yaml:"registryPromptVersion,omitempty" json:"registryPromptVersion,omitempty"`
}

PromptRef represents a prompt reference in the agent manifest.

type PromptRegistryExtensions added in v0.2.0

type PromptRegistryExtensions struct {
	Status      string    `json:"status"`
	PublishedAt time.Time `json:"publishedAt"`
	UpdatedAt   time.Time `json:"updatedAt"`
	IsLatest    bool      `json:"isLatest"`
}

PromptRegistryExtensions mirrors official metadata stored separately.

type PromptResponse added in v0.2.0

type PromptResponse struct {
	Prompt PromptJSON         `json:"prompt"`
	Meta   PromptResponseMeta `json:"_meta"`
}

PromptResponse wraps a PromptJSON with its registry metadata.

type PromptResponseMeta added in v0.2.0

type PromptResponseMeta struct {
	Official *PromptRegistryExtensions `json:"io.modelcontextprotocol.registry/official,omitempty"`
}

PromptResponseMeta contains metadata about a prompt response.

type Provider added in v0.2.0

type Provider struct {
	ID        string         `json:"id"`
	Name      string         `json:"name"`
	Platform  string         `json:"platform"` // local, kubernetes
	Config    map[string]any `json:"config,omitempty"`
	CreatedAt time.Time      `json:"createdAt"`
	UpdatedAt time.Time      `json:"updatedAt"`
}

Provider represents a concrete deployment target instance. Examples: a specific kube cluster.

type ResourceDeploymentsMeta added in v0.2.0

type ResourceDeploymentsMeta struct {
	Deployments []DeploymentSummary `json:"deployments"`
	Count       int                 `json:"count"`
}

ResourceDeploymentsMeta is the `_meta["aregistry.ai/deployments"]` payload.

type ServerListResponse

type ServerListResponse struct {
	Servers  []ServerResponse `json:"servers"`
	Metadata ServerMetadata   `json:"metadata"`
}

ServerListResponse wraps a list response.

type ServerMetadata

type ServerMetadata struct {
	NextCursor string `json:"nextCursor,omitempty"`
	Count      int    `json:"count"`
}

ServerMetadata holds pagination info for server listings.

type ServerResponse

type ServerResponse struct {
	Server apiv0.ServerJSON   `json:"server"`
	Meta   ServerResponseMeta `json:"_meta"`
}

ServerResponse is the server API shape with registry-managed metadata.

type ServerResponseMeta

type ServerResponseMeta struct {
	Official    *apiv0.RegistryExtensions `json:"io.modelcontextprotocol.registry/official,omitempty"`
	Semantic    *ServerSemanticMeta       `json:"aregistry.ai/semantic,omitempty"`
	Deployments *ResourceDeploymentsMeta  `json:"aregistry.ai/deployments,omitempty"`
}

ServerResponseMeta mirrors the MCP ResponseMeta but adds semantic metadata.

type ServerSemanticMeta

type ServerSemanticMeta struct {
	Score float64 `json:"score"`
}

ServerSemanticMeta carries semantic search metadata for servers.

type SkillJSON

type SkillJSON struct {
	Name        string             `json:"name"`
	Title       string             `json:"title,omitempty"`
	Category    string             `json:"category,omitempty"`
	Description string             `json:"description"`
	Version     string             `json:"version"`
	Status      string             `json:"status,omitempty"`
	WebsiteURL  string             `json:"websiteUrl,omitempty"`
	Repository  *SkillRepository   `json:"repository,omitempty"`
	Packages    []SkillPackageInfo `json:"packages,omitempty"`
	Remotes     []SkillRemoteInfo  `json:"remotes,omitempty"`
}

SkillJSON mirrors the ServerJSON shape for now, defined locally

type SkillListResponse

type SkillListResponse struct {
	Skills   []SkillResponse `json:"skills"`
	Metadata SkillMetadata   `json:"metadata"`
}

type SkillMetadata

type SkillMetadata struct {
	NextCursor string `json:"nextCursor,omitempty"`
	Count      int    `json:"count"`
}

type SkillPackageInfo

type SkillPackageInfo struct {
	RegistryType string `json:"registryType"`
	Identifier   string `json:"identifier"`
	Version      string `json:"version"`
	Transport    struct {
		Type string `json:"type"`
	} `json:"transport"`
}

type SkillRef added in v0.1.26

type SkillRef struct {
	// Name is the local name for the skill in this agent project.
	Name string `yaml:"name" json:"name"`
	// Image is a Docker image containing the skill (for image type).
	Image string `yaml:"image,omitempty" json:"image,omitempty"`
	// RegistryURL is the registry URL for pulling the skill (for registry type).
	RegistryURL string `yaml:"registryURL,omitempty" json:"registryURL,omitempty"`
	// RegistrySkillName is the skill name in the registry.
	RegistrySkillName string `yaml:"registrySkillName,omitempty" json:"registrySkillName,omitempty"`
	// RegistrySkillVersion is the version of the skill to pull.
	RegistrySkillVersion string `yaml:"registrySkillVersion,omitempty" json:"registrySkillVersion,omitempty"`
}

SkillRef represents a skill reference in the agent manifest.

type SkillRegistryExtensions

type SkillRegistryExtensions struct {
	Status      string    `json:"status"`
	PublishedAt time.Time `json:"publishedAt"`
	UpdatedAt   time.Time `json:"updatedAt"`
	IsLatest    bool      `json:"isLatest"`
}

RegistryExtensions mirrors official metadata stored separately

type SkillRemoteInfo

type SkillRemoteInfo struct {
	URL string `json:"url"`
}

type SkillRepository

type SkillRepository struct {
	URL    string `json:"url"`
	Source string `json:"source"`
}

type SkillResponse

type SkillResponse struct {
	Skill SkillJSON         `json:"skill"`
	Meta  SkillResponseMeta `json:"_meta"`
}

type SkillResponseMeta

type SkillResponseMeta struct {
	Official *SkillRegistryExtensions `json:"io.modelcontextprotocol.registry/official,omitempty"`
}

type UpdateProviderInput added in v0.2.0

type UpdateProviderInput struct {
	Name   *string        `json:"name,omitempty"`
	Config map[string]any `json:"config,omitempty"`
}

UpdateProviderInput defines inputs for provider updates.

Jump to

Keyboard shortcuts

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