schema

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ADL

type ADL struct {
	APIVersion string   `yaml:"apiVersion" json:"apiVersion"`
	Kind       string   `yaml:"kind" json:"kind"`
	Metadata   Metadata `yaml:"metadata" json:"metadata"`
	Spec       Spec     `yaml:"spec" json:"spec"`
}

ADL represents the complete Agent Definition Language structure

type Agent

type Agent struct {
	Provider     string  `yaml:"provider" json:"provider"`
	Model        string  `yaml:"model" json:"model"`
	SystemPrompt string  `yaml:"systemPrompt" json:"systemPrompt"`
	MaxTokens    int     `yaml:"maxTokens" json:"maxTokens"`
	Temperature  float64 `yaml:"temperature" json:"temperature"`
}

Agent configuration for AI providers

type ArtifactsConfig added in v0.22.0

type ArtifactsConfig struct {
	Enabled bool `yaml:"enabled" json:"enabled"`
}

ArtifactsConfig for artifact storage settings

type AuthConfig

type AuthConfig struct {
	Enabled bool `yaml:"enabled" json:"enabled"`
}

AuthConfig for server authentication

type Capabilities

type Capabilities struct {
	Streaming              bool `yaml:"streaming" json:"streaming"`
	PushNotifications      bool `yaml:"pushNotifications" json:"pushNotifications"`
	StateTransitionHistory bool `yaml:"stateTransitionHistory" json:"stateTransitionHistory"`
}

Capabilities defines what the agent can do

type Card added in v0.12.0

type Card struct {
	ProtocolVersion    string   `yaml:"protocolVersion,omitempty" json:"protocolVersion,omitempty"`
	URL                string   `yaml:"url,omitempty" json:"url,omitempty"`
	PreferredTransport string   `yaml:"preferredTransport,omitempty" json:"preferredTransport,omitempty"`
	DefaultInputModes  []string `yaml:"defaultInputModes,omitempty" json:"defaultInputModes,omitempty"`
	DefaultOutputModes []string `yaml:"defaultOutputModes,omitempty" json:"defaultOutputModes,omitempty"`
	DocumentationURL   string   `yaml:"documentationUrl,omitempty" json:"documentationUrl,omitempty"`
	IconURL            string   `yaml:"iconUrl,omitempty" json:"iconUrl,omitempty"`
}

Card represents the agent card configuration

type CloudRunConfig added in v0.18.0

type CloudRunConfig struct {
	Image       *ImageConfig      `yaml:"image,omitempty" json:"image,omitempty"`
	Resources   *ResourcesConfig  `yaml:"resources,omitempty" json:"resources,omitempty"`
	Scaling     *ScalingConfig    `yaml:"scaling,omitempty" json:"scaling,omitempty"`
	Service     *ServiceConfig    `yaml:"service,omitempty" json:"service,omitempty"`
	Environment map[string]string `yaml:"environment,omitempty" json:"environment,omitempty"`
}

CloudRunConfig for Google Cloud Run specific deployment settings

type DeploymentConfig added in v0.7.0

type DeploymentConfig struct {
	Type     string          `yaml:"type,omitempty" json:"type,omitempty"`
	CloudRun *CloudRunConfig `yaml:"cloudrun,omitempty" json:"cloudrun,omitempty"`
}

DeploymentConfig for deployment platform settings

type DevContainerConfig added in v0.7.0

type DevContainerConfig struct {
	Enabled bool `yaml:"enabled" json:"enabled"`
}

DevContainerConfig for Dev Container environment settings

type FloxConfig added in v0.7.0

type FloxConfig struct {
	Enabled bool `yaml:"enabled" json:"enabled"`
}

FloxConfig for Flox environment settings

type GeneratedMetadata

type GeneratedMetadata struct {
	GeneratedAt time.Time `json:"generatedAt"`
	CLIVersion  string    `json:"cliVersion"`
	Template    string    `json:"template"`
	ADLFile     string    `json:"adlFile"`
}

GeneratedMetadata contains information about the generation

type GoConfig

type GoConfig struct {
	Module  string `yaml:"module" json:"module"`
	Version string `yaml:"version" json:"version"`
}

GoConfig for Go-specific settings

type Hooks added in v0.9.0

type Hooks struct {
	Post []string `yaml:"post,omitempty" json:"post,omitempty"`
}

Hooks contains lifecycle hooks for the generation process

type ImageConfig added in v0.18.0

type ImageConfig struct {
	Registry      string `yaml:"registry,omitempty" json:"registry,omitempty"`
	Repository    string `yaml:"repository,omitempty" json:"repository,omitempty"`
	Tag           string `yaml:"tag,omitempty" json:"tag,omitempty"`
	UseCloudBuild bool   `yaml:"useCloudBuild,omitempty" json:"useCloudBuild,omitempty"`
}

ImageConfig for container image settings

type Language

type Language struct {
	Go         *GoConfig         `yaml:"go,omitempty" json:"go,omitempty"`
	TypeScript *TypeScriptConfig `yaml:"typescript,omitempty" json:"typescript,omitempty"`
	Rust       *RustConfig       `yaml:"rust,omitempty" json:"rust,omitempty"`
}

Language configuration for different programming languages

type Metadata

type Metadata struct {
	Name        string `yaml:"name" json:"name"`
	Description string `yaml:"description" json:"description"`
	Version     string `yaml:"version" json:"version"`
}

Metadata contains agent metadata

type ResourcesConfig added in v0.18.0

type ResourcesConfig struct {
	CPU    string `yaml:"cpu,omitempty" json:"cpu,omitempty"`
	Memory string `yaml:"memory,omitempty" json:"memory,omitempty"`
}

ResourcesConfig for CloudRun resource allocation

type RustConfig added in v0.6.0

type RustConfig struct {
	PackageName string `yaml:"packageName" json:"packageName"`
	Version     string `yaml:"version" json:"version"`
	Edition     string `yaml:"edition" json:"edition"`
}

RustConfig for Rust-specific settings

type SCM

type SCM struct {
	Provider       string `yaml:"provider" json:"provider"`
	URL            string `yaml:"url,omitempty" json:"url,omitempty"`
	GithubApp      bool   `yaml:"github_app,omitempty" json:"github_app,omitempty"`
	IssueTemplates bool   `yaml:"issue_templates,omitempty" json:"issue_templates,omitempty"`
}

SCM contains source control management configuration

type SandboxConfig added in v0.7.0

type SandboxConfig struct {
	Flox         *FloxConfig         `yaml:"flox,omitempty" json:"flox,omitempty"`
	DevContainer *DevContainerConfig `yaml:"devcontainer,omitempty" json:"devcontainer,omitempty"`
}

SandboxConfig for sandbox environment settings

type ScalingConfig added in v0.18.0

type ScalingConfig struct {
	MinInstances int `yaml:"minInstances,omitempty" json:"minInstances,omitempty"`
	MaxInstances int `yaml:"maxInstances,omitempty" json:"maxInstances,omitempty"`
	Concurrency  int `yaml:"concurrency,omitempty" json:"concurrency,omitempty"`
}

ScalingConfig for CloudRun scaling settings

type Server

type Server struct {
	Port  int         `yaml:"port" json:"port"`
	Debug bool        `yaml:"debug" json:"debug"`
	Auth  *AuthConfig `yaml:"auth,omitempty" json:"auth,omitempty"`
}

Server configuration

type Service added in v0.21.3

type Service struct {
	Type        string `yaml:"type" json:"type"`
	Interface   string `yaml:"interface" json:"interface"`
	Factory     string `yaml:"factory" json:"factory"`
	Description string `yaml:"description" json:"description"`
}

Service represents a service that can be injected

type ServiceConfig added in v0.18.0

type ServiceConfig struct {
	Timeout              int    `yaml:"timeout,omitempty" json:"timeout,omitempty"`
	AllowUnauthenticated bool   `yaml:"allowUnauthenticated,omitempty" json:"allowUnauthenticated,omitempty"`
	ServiceAccount       string `yaml:"serviceAccount,omitempty" json:"serviceAccount,omitempty"`
	ExecutionEnvironment string `yaml:"executionEnvironment,omitempty" json:"executionEnvironment,omitempty"`
}

ServiceConfig for CloudRun service settings

type Skill added in v0.12.0

type Skill struct {
	ID             string         `yaml:"id" json:"id"`
	Name           string         `yaml:"name" json:"name"`
	Description    string         `yaml:"description" json:"description"`
	Tags           []string       `yaml:"tags" json:"tags"`
	Examples       []string       `yaml:"examples,omitempty" json:"examples,omitempty"`
	InputModes     []string       `yaml:"inputModes,omitempty" json:"inputModes,omitempty"`
	OutputModes    []string       `yaml:"outputModes,omitempty" json:"outputModes,omitempty"`
	Schema         map[string]any `yaml:"schema" json:"schema"`
	Implementation string         `yaml:"implementation,omitempty" json:"implementation,omitempty"`
	Inject         []string       `yaml:"inject,omitempty" json:"inject,omitempty"`
}

Skill represents a distinct capability or function that an agent can perform

type Spec

type Spec struct {
	Capabilities *Capabilities             `yaml:"capabilities,omitempty" json:"capabilities,omitempty"`
	Card         *Card                     `yaml:"card,omitempty" json:"card,omitempty"`
	Agent        *Agent                    `yaml:"agent,omitempty" json:"agent,omitempty"`
	Config       map[string]map[string]any `yaml:"config,omitempty" json:"config,omitempty"`
	Services     map[string]Service        `yaml:"services,omitempty" json:"services,omitempty"`
	Skills       []Skill                   `yaml:"skills,omitempty" json:"skills,omitempty"`
	Server       Server                    `yaml:"server" json:"server"`
	Language     *Language                 `yaml:"language,omitempty" json:"language,omitempty"`
	Artifacts    *ArtifactsConfig          `yaml:"artifacts,omitempty" json:"artifacts,omitempty"`
	Acronyms     []string                  `yaml:"acronyms,omitempty" json:"acronyms,omitempty"`
	SCM          *SCM                      `yaml:"scm,omitempty" json:"scm,omitempty"`
	Sandbox      *SandboxConfig            `yaml:"sandbox,omitempty" json:"sandbox,omitempty"`
	Deployment   *DeploymentConfig         `yaml:"deployment,omitempty" json:"deployment,omitempty"`
	Hooks        *Hooks                    `yaml:"hooks,omitempty" json:"hooks,omitempty"`
}

Spec contains the agent specification

type TypeScriptConfig

type TypeScriptConfig struct {
	PackageName string `yaml:"packageName" json:"packageName"`
	NodeVersion string `yaml:"nodeVersion" json:"nodeVersion"`
}

TypeScriptConfig for TypeScript-specific settings

type Validator

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

Validator validates ADL files against the schema

func NewValidator

func NewValidator() *Validator

NewValidator creates a new validator with the embedded schema

func (*Validator) ValidateFile

func (v *Validator) ValidateFile(filePath string) error

ValidateFile validates an ADL file

Jump to

Keyboard shortcuts

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