Documentation
¶
Index ¶
- type ADL
- type Agent
- type ArtifactsConfig
- type AuthConfig
- type Capabilities
- type Card
- type CloudRunConfig
- type DeploymentConfig
- type DevContainerConfig
- type FloxConfig
- type GeneratedMetadata
- type GoConfig
- type Hooks
- type ImageConfig
- type Language
- type Metadata
- type ResourcesConfig
- type RustConfig
- type SCM
- type SandboxConfig
- type ScalingConfig
- type Server
- type Service
- type ServiceConfig
- type Skill
- type Spec
- type TypeScriptConfig
- type Validator
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 ¶
ValidateFile validates an ADL file