model

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2025 License: MIT Imports: 0 Imported by: 1

Documentation

Index

Constants

View Source
const (
	RegistryTypeNPM   = "npm"
	RegistryTypePyPI  = "pypi"
	RegistryTypeOCI   = "oci"
	RegistryTypeNuGet = "nuget"
	RegistryTypeMCPB  = "mcpb"
)

Registry Types - supported package registry types

View Source
const (
	RegistryURLNPM    = "https://registry.npmjs.org"
	RegistryURLPyPI   = "https://pypi.org"
	RegistryURLDocker = "https://docker.io"
	RegistryURLGHCR   = "https://ghcr.io"
	RegistryURLNuGet  = "https://api.nuget.org"
	RegistryURLGitHub = "https://github.com"
	RegistryURLGitLab = "https://gitlab.com"
)

Registry Base URLs - supported package registry base URLs

View Source
const (
	TransportTypeStreamableHTTP = "streamable-http"
	TransportTypeSSE            = "sse"
	TransportTypeStdio          = "stdio"
)

Transport Types - supported remote transport protocols

View Source
const (
	RuntimeHintNPX    = "npx"
	RuntimeHintUVX    = "uvx"
	RuntimeHintDocker = "docker"
	RuntimeHintDNX    = "dnx"
)

Runtime Hints - supported package runtime hints

Variables

This section is empty.

Functions

This section is empty.

Types

type Argument

type Argument struct {
	InputWithVariables `json:",inline"`
	Type               ArgumentType `json:"type"`
	Name               string       `json:"name,omitempty"`
	IsRepeated         bool         `json:"isRepeated,omitempty"`
	ValueHint          string       `json:"valueHint,omitempty"`
}

Argument defines a type that can be either a PositionalArgument or a NamedArgument

type ArgumentType

type ArgumentType string

ArgumentType represents the type of argument

const (
	ArgumentTypePositional ArgumentType = "positional"
	ArgumentTypeNamed      ArgumentType = "named"
)

type Format

type Format string

Format represents the input format type

const (
	FormatString   Format = "string"
	FormatNumber   Format = "number"
	FormatBoolean  Format = "boolean"
	FormatFilePath Format = "file_path"
)

type Input

type Input struct {
	Description string   `json:"description,omitempty"`
	IsRequired  bool     `json:"isRequired,omitempty"`
	Format      Format   `json:"format,omitempty"`
	Value       string   `json:"value,omitempty"`
	IsSecret    bool     `json:"isSecret,omitempty"`
	Default     string   `json:"default,omitempty"`
	Choices     []string `json:"choices,omitempty"`
}

Input represents a configuration input

type InputWithVariables

type InputWithVariables struct {
	Input     `json:",inline"`
	Variables map[string]Input `json:"variables,omitempty"`
}

InputWithVariables represents an input that can contain variables

type KeyValueInput

type KeyValueInput struct {
	InputWithVariables `json:",inline"`
	Name               string `json:"name"`
}

KeyValueInput represents a named input with variables

type Package

type Package struct {
	// RegistryType indicates how to download packages (e.g., "npm", "pypi", "oci", "mcpb")
	RegistryType string `json:"registryType" minLength:"1"`
	// RegistryBaseURL is the base URL of the package registry
	RegistryBaseURL string `json:"registryBaseUrl,omitempty"`
	// Identifier is the package identifier - either a package name (for registries) or URL (for direct downloads)
	Identifier           string          `json:"identifier" minLength:"1"`
	Version              string          `json:"version" minLength:"1"`
	FileSHA256           string          `json:"fileSha256,omitempty"`
	RunTimeHint          string          `json:"runtimeHint,omitempty"`
	Transport            Transport       `json:"transport,omitempty"`
	RuntimeArguments     []Argument      `json:"runtimeArguments,omitempty"`
	PackageArguments     []Argument      `json:"packageArguments,omitempty"`
	EnvironmentVariables []KeyValueInput `json:"environmentVariables,omitempty"`
}

Package represents a package configuration

type Repository

type Repository struct {
	URL       string `json:"url"`
	Source    string `json:"source"`
	ID        string `json:"id,omitempty"`
	Subfolder string `json:"subfolder,omitempty"`
}

Repository represents a source code repository as defined in the spec

type Status

type Status string

Status represents the lifecycle status of a server

const (
	StatusActive     Status = "active"
	StatusDeprecated Status = "deprecated"
	StatusDeleted    Status = "deleted"
)

type Transport

type Transport struct {
	Type    string          `json:"type"`
	URL     string          `json:"url,omitempty"`
	Headers []KeyValueInput `json:"headers,omitempty"`
}

Transport represents transport configuration with optional URL templating

Jump to

Keyboard shortcuts

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