v0

package
v0.1.19 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterAdminAgentsCreateEndpoint

func RegisterAdminAgentsCreateEndpoint(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterAdminAgentsCreateEndpoint registers the admin agents create/update endpoint at /agents This endpoint creates or updates an agent in the registry (published defaults to false)

func RegisterAdminCreateEndpoint

func RegisterAdminCreateEndpoint(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterAdminCreateEndpoint registers the admin create/update server endpoint at /servers This endpoint creates or updates a server in the registry (published defaults to false)

func RegisterAdminSkillsCreateEndpoint

func RegisterAdminSkillsCreateEndpoint(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterAdminSkillsCreateEndpoint registers the admin skills create/update endpoint at /skills This endpoint creates or updates a skill in the registry (published defaults to false)

func RegisterAgentsCreateEndpoint

func RegisterAgentsCreateEndpoint(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterAgentsCreateEndpoint registers the public agents create/update endpoint at /agents/publish This endpoint creates or updates an agent in the registry (published defaults to false)

func RegisterAgentsEndpoints

func RegisterAgentsEndpoints(api huma.API, pathPrefix string, registry service.RegistryService, isAdmin bool)

RegisterAgentsEndpoints registers all agent-related endpoints with a custom path prefix isAdmin: if true, shows all resources; if false, only shows published resources

func RegisterAgentsPublishStatusEndpoints

func RegisterAgentsPublishStatusEndpoints(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterAgentsPublishStatusEndpoints registers the publish/unpublish status endpoints for agents These endpoints change the published status of existing agents

func RegisterCreateEndpoint

func RegisterCreateEndpoint(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterCreateEndpoint registers the public create/update server endpoint at /publish This endpoint creates or updates a server in the registry (published defaults to false)

func RegisterDeploymentsEndpoints

func RegisterDeploymentsEndpoints(api huma.API, basePath string, registry service.RegistryService)

RegisterDeploymentsEndpoints registers all deployment-related endpoints

func RegisterEditEndpoints

func RegisterEditEndpoints(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterEditEndpoints registers the edit endpoint with a custom path prefix

func RegisterHealthEndpoint

func RegisterHealthEndpoint(api huma.API, pathPrefix string, cfg *config.Config, metrics *telemetry.Metrics)

RegisterHealthEndpoint registers the health check endpoint with a custom path prefix

func RegisterPingEndpoint

func RegisterPingEndpoint(api huma.API, pathPrefix string)

RegisterPingEndpoint registers the ping endpoint with a custom path prefix

func RegisterPublishStatusEndpoints

func RegisterPublishStatusEndpoints(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterPublishStatusEndpoints registers the publish/unpublish status endpoints for servers These endpoints change the published status of existing servers

func RegisterServersEndpoints

func RegisterServersEndpoints(api huma.API, pathPrefix string, registry service.RegistryService, isAdmin bool)

RegisterServersEndpoints registers all server-related endpoints with a custom path prefix isAdmin: if true, shows all resources; if false, only shows published resources

func RegisterSkillsCreateEndpoint

func RegisterSkillsCreateEndpoint(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterSkillsCreateEndpoint registers the public skills create/update endpoint at /skills/publish This endpoint creates or updates a skill in the registry (published defaults to false)

func RegisterSkillsEndpoints

func RegisterSkillsEndpoints(api huma.API, pathPrefix string, registry service.RegistryService, isAdmin bool)

RegisterSkillsEndpoints registers all skill-related endpoints with a custom path prefix isAdmin: if true, shows all resources; if false, only shows published resources

func RegisterSkillsPublishStatusEndpoints

func RegisterSkillsPublishStatusEndpoints(api huma.API, pathPrefix string, registry service.RegistryService)

RegisterSkillsPublishStatusEndpoints registers the publish/unpublish status endpoints for skills These endpoints change the published status of existing skills

func RegisterVersionEndpoint

func RegisterVersionEndpoint(api huma.API, pathPrefix string, versionInfo *VersionBody)

RegisterVersionEndpoint registers the version endpoint with a custom path prefix

Types

type AgentDetailInput

type AgentDetailInput struct {
	AgentName string `path:"agentName" json:"agentName" doc:"URL-encoded agent name" example:"com.example%2Fmy-agent"`
}

AgentDetailInput represents the input for getting agent details

type AgentVersionDetailInput

type AgentVersionDetailInput struct {
	AgentName string `path:"agentName" json:"agentName" doc:"URL-encoded agent name" example:"com.example%2Fmy-agent"`
	Version   string `path:"version" json:"version" doc:"URL-encoded agent version" example:"1.0.0"`
}

AgentVersionDetailInput represents the input for getting a specific version

type AgentVersionsInput

type AgentVersionsInput struct {
	AgentName string `path:"agentName" json:"agentName" doc:"URL-encoded agent name" example:"com.example%2Fmy-agent"`
}

AgentVersionsInput represents the input for listing all versions of an agent

type CreateAgentInput

type CreateAgentInput struct {
	Body agentmodels.AgentJSON `body:""`
}

CreateAgentInput represents the input for creating/updating an agent

type CreateServerInput

type CreateServerInput struct {
	Body apiv0.ServerJSON `body:""`
}

CreateServerInput represents the input for creating/updating a server

type CreateSkillInput

type CreateSkillInput struct {
	Body skillmodels.SkillJSON `body:""`
}

CreateSkillInput represents the input for creating/updating a skill

type DeploymentConfigUpdate

type DeploymentConfigUpdate struct {
	Config map[string]string `json:"config" doc:"Configuration key-value pairs to set"`
}

DeploymentConfigUpdate represents the input for updating deployment configuration

type DeploymentInput

type DeploymentInput struct {
	ServerName   string `path:"serverName" json:"serverName" doc:"URL-encoded server name" example:"io.github.user%2Fweather"`
	Version      string `path:"version" json:"version" doc:"Version of the deployment to get" example:"1.0.0"`
	ResourceType string `query:"resourceType" json:"resourceType" doc:"Resource type (mcp, agent)" example:"mcp" enum:"mcp,agent"`
}

DeploymentInput represents path parameters for deployment operations

type DeploymentRequest

type DeploymentRequest struct {
	ServerName   string            `json:"serverName" doc:"Server name to deploy" example:"io.github.user/weather"`
	Version      string            `json:"version" doc:"Version to deploy (use 'latest' for latest version)" default:"latest" example:"1.0.0"`
	Config       map[string]string `json:"config,omitempty" doc:"Configuration key-value pairs (env vars, args, headers)"`
	PreferRemote bool              `json:"preferRemote,omitempty" doc:"Prefer remote deployment over local" default:"false"`
	ResourceType string            `json:"resourceType,omitempty" doc:"Type of resource to deploy (mcp, agent)" default:"mcp" example:"mcp" enum:"mcp,agent"`
	Runtime      string            `json:"runtime,omitempty" doc:"Runtime target (local, kubernetes)" default:"local" example:"local" enum:"local,kubernetes"`
}

DeploymentRequest represents the input for deploying a server

type DeploymentResponse

type DeploymentResponse struct {
	Body models.Deployment
}

DeploymentResponse represents a deployment

type DeploymentsListInput

type DeploymentsListInput struct {
	ResourceType string `query:"resourceType" json:"resourceType,omitempty" doc:"Filter by resource type (mcp, agent)" example:"mcp" enum:"mcp,agent"`
	Runtime      string `query:"runtime" json:"runtime,omitempty" doc:"Filter by runtime (local, kubernetes)" example:"local" enum:"local,kubernetes"`
}

DeploymentsListInput represents query parameters for listing deployments

type DeploymentsListResponse

type DeploymentsListResponse struct {
	Body struct {
		Deployments []models.Deployment `json:"deployments" doc:"List of deployed servers"`
	}
}

DeploymentsListResponse represents a list of deployments

type EditServerInput

type EditServerInput struct {
	ServerName string           `path:"serverName" doc:"URL-encoded server name" example:"com.example%2Fmy-server"`
	Version    string           `path:"version" doc:"URL-encoded version to edit" example:"1.0.0"`
	Status     string           `` /* 126-byte string literal not displayed */
	Body       apiv0.ServerJSON `body:""`
}

EditServerInput represents the input for editing a server

type HealthBody

type HealthBody struct {
	Status         string `json:"status" example:"ok" doc:"Health status"`
	GitHubClientID string `json:"github_client_id,omitempty" doc:"GitHub OAuth App Client ID"`
}

HealthBody represents the health check response body

type ListAgentsInput

type ListAgentsInput struct {
	Cursor                 string  `query:"cursor" json:"cursor,omitempty" doc:"Pagination cursor" required:"false" example:"agent-cursor-123"`
	Limit                  int     `query:"limit" json:"limit,omitempty" doc:"Number of items per page" default:"30" minimum:"1" maximum:"100" example:"50"`
	UpdatedSince           string  `` /* 167-byte string literal not displayed */
	Search                 string  `query:"search" json:"search,omitempty" doc:"Search agents by name (substring match)" required:"false" example:"filesystem"`
	Version                string  `` /* 162-byte string literal not displayed */
	Semantic               bool    `query:"semantic_search" json:"semantic_search,omitempty" doc:"Use semantic search for the search term"`
	SemanticMatchThreshold float64 `` /* 150-byte string literal not displayed */
}

ListAgentsInput represents the input for listing agents

type ListServersInput

type ListServersInput struct {
	Cursor                 string  `query:"cursor" json:"cursor,omitempty" doc:"Pagination cursor" required:"false" example:"server-cursor-123"`
	Limit                  int     `query:"limit" json:"limit,omitempty" doc:"Number of items per page" default:"30" minimum:"1" maximum:"100" example:"50"`
	UpdatedSince           string  `` /* 168-byte string literal not displayed */
	Search                 string  `query:"search" json:"search,omitempty" doc:"Search servers by name (substring match)" required:"false" example:"filesystem"`
	Version                string  `` /* 162-byte string literal not displayed */
	Semantic               bool    `` /* 168-byte string literal not displayed */
	SemanticMatchThreshold float64 `` /* 150-byte string literal not displayed */
}

ListServersInput represents the input for listing servers

type ListSkillsInput

type ListSkillsInput struct {
	Cursor       string `query:"cursor" json:"cursor,omitempty" doc:"Pagination cursor" required:"false" example:"skill-cursor-123"`
	Limit        int    `query:"limit" json:"limit,omitempty" doc:"Number of items per page" default:"30" minimum:"1" maximum:"100" example:"50"`
	UpdatedSince string `` /* 167-byte string literal not displayed */
	Search       string `query:"search" json:"search,omitempty" doc:"Search skills by name (substring match)" required:"false" example:"filesystem"`
	Version      string `` /* 162-byte string literal not displayed */
}

ListSkillsInput represents the input for listing skills

type PingBody

type PingBody struct {
	Pong bool `json:"pong" example:"true" doc:"Ping response"`
}

PingBody represents the ping response body

type ServerDetailInput

type ServerDetailInput struct {
	ServerName string `path:"serverName" json:"serverName" doc:"URL-encoded server name" example:"com.example%2Fmy-server"`
}

ServerDetailInput represents the input for getting server details

type ServerReadmeResponse

type ServerReadmeResponse struct {
	Content     string    `json:"content"`
	ContentType string    `json:"content_type"`
	SizeBytes   int       `json:"size_bytes"`
	Sha256      string    `json:"sha256"`
	Version     string    `json:"version"`
	FetchedAt   time.Time `json:"fetched_at"`
}

ServerReadmeResponse is the payload for README fetch endpoints

type ServerVersionDetailInput

type ServerVersionDetailInput struct {
	ServerName    string `path:"serverName" json:"serverName" doc:"URL-encoded server name" example:"com.example%2Fmy-server"`
	Version       string `path:"version" json:"version" doc:"URL-encoded server version" example:"1.0.0"`
	All           bool   `query:"all" json:"all,omitempty" doc:"If true, return all versions of the server instead of a single version" default:"false"`
	PublishedOnly bool   `` /* 145-byte string literal not displayed */
}

ServerVersionDetailInput represents the input for getting a specific version

type ServerVersionsInput

type ServerVersionsInput struct {
	ServerName string `path:"serverName" json:"serverName" doc:"URL-encoded server name" example:"com.example%2Fmy-server"`
}

ServerVersionsInput represents the input for listing all versions of a server

type SkillDetailInput

type SkillDetailInput struct {
	SkillName string `path:"skillName" json:"skillName" doc:"URL-encoded skill name" example:"com.example%2Fmy-skill"`
}

SkillDetailInput represents the input for getting skill details

type SkillVersionDetailInput

type SkillVersionDetailInput struct {
	SkillName string `path:"skillName" json:"skillName" doc:"URL-encoded skill name" example:"com.example%2Fmy-skill"`
	Version   string `path:"version" json:"version" doc:"URL-encoded skill version" example:"1.0.0"`
}

SkillVersionDetailInput represents the input for getting a specific version

type SkillVersionsInput

type SkillVersionsInput struct {
	SkillName string `path:"skillName" json:"skillName" doc:"URL-encoded skill name" example:"com.example%2Fmy-skill"`
}

SkillVersionsInput represents the input for listing all versions of a skill

type VersionBody

type VersionBody struct {
	Version   string `json:"version" example:"v1.0.0" doc:"Application version"`
	GitCommit string `json:"git_commit" example:"abc123d" doc:"Git commit SHA"`
	BuildTime string `json:"build_time" example:"2025-10-14T12:00:00Z" doc:"Build timestamp"`
}

VersionBody represents the version information

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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