atmos

package
v1.210.0-test.21 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterReadOnlyTools

func RegisterReadOnlyTools(registry *tools.Registry, atmosConfig *schema.AtmosConfiguration) error

RegisterReadOnlyTools registers only read-only, in-process tools for non-interactive commands like 'ask'. This excludes subprocess-based tools (execute_atmos_command, execute_bash_command) and write tools that are better suited for interactive chat sessions.

func RegisterTools

func RegisterTools(registry *tools.Registry, atmosConfig *schema.AtmosConfiguration, lspManager client.ManagerInterface) error

RegisterTools registers all Atmos tools to the registry.

Types

type DescribeAffectedTool

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

DescribeAffectedTool shows affected components based on git changes.

func NewDescribeAffectedTool

func NewDescribeAffectedTool(atmosConfig *schema.AtmosConfiguration) *DescribeAffectedTool

NewDescribeAffectedTool creates a new describe affected tool.

func (*DescribeAffectedTool) Description

func (t *DescribeAffectedTool) Description() string

Description returns the tool description.

func (*DescribeAffectedTool) Execute

func (t *DescribeAffectedTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute retrieves affected components.

func (*DescribeAffectedTool) IsRestricted

func (t *DescribeAffectedTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*DescribeAffectedTool) Name

func (t *DescribeAffectedTool) Name() string

Name returns the tool name.

func (*DescribeAffectedTool) Parameters

func (t *DescribeAffectedTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*DescribeAffectedTool) RequiresPermission

func (t *DescribeAffectedTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type DescribeComponentTool

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

DescribeComponentTool describes an Atmos component in a stack.

func NewDescribeComponentTool

func NewDescribeComponentTool(atmosConfig *schema.AtmosConfiguration) *DescribeComponentTool

NewDescribeComponentTool creates a new describe component tool.

func (*DescribeComponentTool) Description

func (t *DescribeComponentTool) Description() string

Description returns the tool description.

func (*DescribeComponentTool) Execute

func (t *DescribeComponentTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute runs the tool.

func (*DescribeComponentTool) IsRestricted

func (t *DescribeComponentTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*DescribeComponentTool) Name

func (t *DescribeComponentTool) Name() string

Name returns the tool name.

func (*DescribeComponentTool) Parameters

func (t *DescribeComponentTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*DescribeComponentTool) RequiresPermission

func (t *DescribeComponentTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type EditFileTool

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

EditFileTool performs incremental file editing operations.

func NewEditFileTool

func NewEditFileTool(atmosConfig *schema.AtmosConfiguration) *EditFileTool

NewEditFileTool creates a new file editing tool.

func (*EditFileTool) Description

func (t *EditFileTool) Description() string

Description returns the tool description.

func (*EditFileTool) Execute

func (t *EditFileTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute performs the file editing operation.

func (*EditFileTool) IsRestricted

func (t *EditFileTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*EditFileTool) Name

func (t *EditFileTool) Name() string

Name returns the tool name.

func (*EditFileTool) Parameters

func (t *EditFileTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*EditFileTool) RequiresPermission

func (t *EditFileTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type EditOperation

type EditOperation string

EditOperation represents the type of edit operation.

const (

	// OperationSearchReplace finds and replaces text in the file.
	OperationSearchReplace EditOperation = "search_replace"
	// OperationInsertLine inserts a line at a specific position.
	OperationInsertLine EditOperation = "insert_line"
	// OperationDeleteLines deletes a range of lines.
	OperationDeleteLines EditOperation = "delete_lines"
	// OperationAppend appends text to the end of the file.
	OperationAppend EditOperation = "append"
)

type ExecuteAtmosCommandTool

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

ExecuteAtmosCommandTool executes any Atmos CLI command.

func NewExecuteAtmosCommandTool

func NewExecuteAtmosCommandTool(atmosConfig *schema.AtmosConfiguration) *ExecuteAtmosCommandTool

NewExecuteAtmosCommandTool creates a new Atmos command execution tool.

func (*ExecuteAtmosCommandTool) Description

func (t *ExecuteAtmosCommandTool) Description() string

Description returns the tool description.

func (*ExecuteAtmosCommandTool) Execute

func (t *ExecuteAtmosCommandTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute runs the Atmos command and returns the output.

func (*ExecuteAtmosCommandTool) IsRestricted

func (t *ExecuteAtmosCommandTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ExecuteAtmosCommandTool) Name

func (t *ExecuteAtmosCommandTool) Name() string

Name returns the tool name.

func (*ExecuteAtmosCommandTool) Parameters

func (t *ExecuteAtmosCommandTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ExecuteAtmosCommandTool) RequiresPermission

func (t *ExecuteAtmosCommandTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ExecuteBashCommandTool

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

ExecuteBashCommandTool executes any shell command.

func NewExecuteBashCommandTool

func NewExecuteBashCommandTool(atmosConfig *schema.AtmosConfiguration) *ExecuteBashCommandTool

NewExecuteBashCommandTool creates a new bash command execution tool.

func (*ExecuteBashCommandTool) Description

func (t *ExecuteBashCommandTool) Description() string

Description returns the tool description.

func (*ExecuteBashCommandTool) Execute

func (t *ExecuteBashCommandTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute runs the shell command and returns the output.

func (*ExecuteBashCommandTool) IsRestricted

func (t *ExecuteBashCommandTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ExecuteBashCommandTool) Name

func (t *ExecuteBashCommandTool) Name() string

Name returns the tool name.

func (*ExecuteBashCommandTool) Parameters

func (t *ExecuteBashCommandTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ExecuteBashCommandTool) RequiresPermission

func (t *ExecuteBashCommandTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type GetTemplateContextTool

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

GetTemplateContextTool gets the template context for debugging Go template failures.

func NewGetTemplateContextTool

func NewGetTemplateContextTool(atmosConfig *schema.AtmosConfiguration) *GetTemplateContextTool

NewGetTemplateContextTool creates a new template context tool.

func (*GetTemplateContextTool) Description

func (t *GetTemplateContextTool) Description() string

Description returns the tool description.

func (*GetTemplateContextTool) Execute

func (t *GetTemplateContextTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute retrieves the template context for the component.

func (*GetTemplateContextTool) IsRestricted

func (t *GetTemplateContextTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*GetTemplateContextTool) Name

func (t *GetTemplateContextTool) Name() string

Name returns the tool name.

func (*GetTemplateContextTool) Parameters

func (t *GetTemplateContextTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*GetTemplateContextTool) RequiresPermission

func (t *GetTemplateContextTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ListComponentFilesTool

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

ListComponentFilesTool lists files in a component directory.

func NewListComponentFilesTool

func NewListComponentFilesTool(atmosConfig *schema.AtmosConfiguration) *ListComponentFilesTool

NewListComponentFilesTool creates a new component file listing tool.

func (*ListComponentFilesTool) Description

func (t *ListComponentFilesTool) Description() string

Description returns the tool description.

func (*ListComponentFilesTool) Execute

func (t *ListComponentFilesTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute lists files in the component directory.

func (*ListComponentFilesTool) IsRestricted

func (t *ListComponentFilesTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ListComponentFilesTool) Name

func (t *ListComponentFilesTool) Name() string

Name returns the tool name.

func (*ListComponentFilesTool) Parameters

func (t *ListComponentFilesTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ListComponentFilesTool) RequiresPermission

func (t *ListComponentFilesTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ListStacksTool

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

ListStacksTool lists available Atmos stacks.

func NewListStacksTool

func NewListStacksTool(atmosConfig *schema.AtmosConfiguration) *ListStacksTool

NewListStacksTool creates a new list stacks tool.

func (*ListStacksTool) Description

func (t *ListStacksTool) Description() string

Description returns the tool description.

func (*ListStacksTool) Execute

func (t *ListStacksTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute runs the tool.

func (*ListStacksTool) IsRestricted

func (t *ListStacksTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ListStacksTool) Name

func (t *ListStacksTool) Name() string

Name returns the tool name.

func (*ListStacksTool) Parameters

func (t *ListStacksTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ListStacksTool) RequiresPermission

func (t *ListStacksTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ReadComponentFileTool

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

ReadComponentFileTool reads a file from the components directory.

func NewReadComponentFileTool

func NewReadComponentFileTool(atmosConfig *schema.AtmosConfiguration) *ReadComponentFileTool

NewReadComponentFileTool creates a new component file reader tool.

func (*ReadComponentFileTool) Description

func (t *ReadComponentFileTool) Description() string

Description returns the tool description.

func (*ReadComponentFileTool) Execute

func (t *ReadComponentFileTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute reads the component file and returns its content.

func (*ReadComponentFileTool) IsRestricted

func (t *ReadComponentFileTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ReadComponentFileTool) Name

func (t *ReadComponentFileTool) Name() string

Name returns the tool name.

func (*ReadComponentFileTool) Parameters

func (t *ReadComponentFileTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ReadComponentFileTool) RequiresPermission

func (t *ReadComponentFileTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ReadFileTool

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

ReadFileTool reads any file from the Atmos repository.

func NewReadFileTool

func NewReadFileTool(atmosConfig *schema.AtmosConfiguration) *ReadFileTool

NewReadFileTool creates a new generic file reader tool.

func (*ReadFileTool) Description

func (t *ReadFileTool) Description() string

Description returns the tool description.

func (*ReadFileTool) Execute

func (t *ReadFileTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute reads the file and returns its content.

func (*ReadFileTool) IsRestricted

func (t *ReadFileTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ReadFileTool) Name

func (t *ReadFileTool) Name() string

Name returns the tool name.

func (*ReadFileTool) Parameters

func (t *ReadFileTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ReadFileTool) RequiresPermission

func (t *ReadFileTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ReadStackFileTool

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

ReadStackFileTool reads a file from the stacks directory.

func NewReadStackFileTool

func NewReadStackFileTool(atmosConfig *schema.AtmosConfiguration) *ReadStackFileTool

NewReadStackFileTool creates a new stack file reader tool.

func (*ReadStackFileTool) Description

func (t *ReadStackFileTool) Description() string

Description returns the tool description.

func (*ReadStackFileTool) Execute

func (t *ReadStackFileTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute reads the stack file and returns its content.

func (*ReadStackFileTool) IsRestricted

func (t *ReadStackFileTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ReadStackFileTool) Name

func (t *ReadStackFileTool) Name() string

Name returns the tool name.

func (*ReadStackFileTool) Parameters

func (t *ReadStackFileTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ReadStackFileTool) RequiresPermission

func (t *ReadStackFileTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type SearchFilesTool

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

SearchFilesTool searches for patterns in files.

func NewSearchFilesTool

func NewSearchFilesTool(atmosConfig *schema.AtmosConfiguration) *SearchFilesTool

NewSearchFilesTool creates a new file search tool.

func (*SearchFilesTool) Description

func (t *SearchFilesTool) Description() string

Description returns the tool description.

func (*SearchFilesTool) Execute

func (t *SearchFilesTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute searches for the pattern and returns matching results.

func (*SearchFilesTool) IsRestricted

func (t *SearchFilesTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*SearchFilesTool) Name

func (t *SearchFilesTool) Name() string

Name returns the tool name.

func (*SearchFilesTool) Parameters

func (t *SearchFilesTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*SearchFilesTool) RequiresPermission

func (t *SearchFilesTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ValidateFileLSPTool

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

ValidateFileLSPTool provides LSP-based file validation.

func NewValidateFileLSPTool

func NewValidateFileLSPTool(atmosConfig *schema.AtmosConfiguration, lspManager client.ManagerInterface) *ValidateFileLSPTool

NewValidateFileLSPTool creates a new LSP validation tool.

func (*ValidateFileLSPTool) Description

func (t *ValidateFileLSPTool) Description() string

Description returns the tool description.

func (*ValidateFileLSPTool) Execute

func (t *ValidateFileLSPTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute validates a file using LSP and returns diagnostics.

func (*ValidateFileLSPTool) IsRestricted

func (t *ValidateFileLSPTool) IsRestricted() bool

IsRestricted returns whether this tool is always restricted.

func (*ValidateFileLSPTool) Name

func (t *ValidateFileLSPTool) Name() string

Name returns the tool name.

func (*ValidateFileLSPTool) Parameters

func (t *ValidateFileLSPTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ValidateFileLSPTool) RequiresPermission

func (t *ValidateFileLSPTool) RequiresPermission() bool

RequiresPermission returns whether this tool requires user permission.

type ValidateStacksTool

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

ValidateStacksTool validates Atmos stack configurations.

func NewValidateStacksTool

func NewValidateStacksTool(atmosConfig *schema.AtmosConfiguration) *ValidateStacksTool

NewValidateStacksTool creates a new validate stacks tool.

func (*ValidateStacksTool) Description

func (t *ValidateStacksTool) Description() string

Description returns the tool description.

func (*ValidateStacksTool) Execute

func (t *ValidateStacksTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute runs the tool.

func (*ValidateStacksTool) IsRestricted

func (t *ValidateStacksTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ValidateStacksTool) Name

func (t *ValidateStacksTool) Name() string

Name returns the tool name.

func (*ValidateStacksTool) Parameters

func (t *ValidateStacksTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*ValidateStacksTool) RequiresPermission

func (t *ValidateStacksTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type WebSearchTool

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

WebSearchTool performs web searches to gather information.

func NewWebSearchTool

func NewWebSearchTool(atmosConfig *schema.AtmosConfiguration) *WebSearchTool

NewWebSearchTool creates a new web search tool.

func (*WebSearchTool) Description

func (t *WebSearchTool) Description() string

Description returns the tool description.

func (*WebSearchTool) Execute

func (t *WebSearchTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute runs the tool.

func (*WebSearchTool) IsRestricted

func (t *WebSearchTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*WebSearchTool) Name

func (t *WebSearchTool) Name() string

Name returns the tool name.

func (*WebSearchTool) Parameters

func (t *WebSearchTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*WebSearchTool) RequiresPermission

func (t *WebSearchTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type WriteComponentFileTool

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

WriteComponentFileTool writes content to a file in the components directory.

func NewWriteComponentFileTool

func NewWriteComponentFileTool(atmosConfig *schema.AtmosConfiguration) *WriteComponentFileTool

NewWriteComponentFileTool creates a new component file writer tool.

func (*WriteComponentFileTool) Description

func (t *WriteComponentFileTool) Description() string

Description returns the tool description.

func (*WriteComponentFileTool) Execute

func (t *WriteComponentFileTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute writes content to the component file.

func (*WriteComponentFileTool) IsRestricted

func (t *WriteComponentFileTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*WriteComponentFileTool) Name

func (t *WriteComponentFileTool) Name() string

Name returns the tool name.

func (*WriteComponentFileTool) Parameters

func (t *WriteComponentFileTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*WriteComponentFileTool) RequiresPermission

func (t *WriteComponentFileTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type WriteStackFileTool

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

WriteStackFileTool writes content to a file in the stacks directory.

func NewWriteStackFileTool

func NewWriteStackFileTool(atmosConfig *schema.AtmosConfiguration) *WriteStackFileTool

NewWriteStackFileTool creates a new stack file writer tool.

func (*WriteStackFileTool) Description

func (t *WriteStackFileTool) Description() string

Description returns the tool description.

func (*WriteStackFileTool) Execute

func (t *WriteStackFileTool) Execute(ctx context.Context, params map[string]interface{}) (*tools.Result, error)

Execute writes content to the stack file.

func (*WriteStackFileTool) IsRestricted

func (t *WriteStackFileTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*WriteStackFileTool) Name

func (t *WriteStackFileTool) Name() string

Name returns the tool name.

func (*WriteStackFileTool) Parameters

func (t *WriteStackFileTool) Parameters() []tools.Parameter

Parameters returns the tool parameters.

func (*WriteStackFileTool) RequiresPermission

func (t *WriteStackFileTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

Jump to

Keyboard shortcuts

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