atmos

package
v1.223.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterTools

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

RegisterTools registers Atmos tools to the registry. When atmosConfig.AI.Tools.Allowed is non-empty, only tools matching one of those name patterns are registered — every other tool simply doesn't exist for this session (it won't appear in tools/list or atmos ai chat's tool set). An empty/unset Allowed list registers every tool, unchanged from prior behavior.

func SetCommandTreeProvider added in v1.223.0

func SetCommandTreeProvider(provider CommandTreeProvider)

SetCommandTreeProvider registers the function these tools use to obtain the live Atmos CLI command tree. It must be called once during host process startup (typically from cmd/mcp/server, wrapping cmd/internal.ListProviders() + NewCommandNodeFromCobra) before atmos_list_commands / atmos_command_help are executed. Passing nil clears the provider; this is primarily useful for tests, which should always restore the previous provider (e.g. via t.Cleanup) to avoid cross-test pollution, since the provider is process-global.

Types

type AnalyzeFindingTool added in v1.215.0

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

AnalyzeFindingTool performs AI-powered analysis of a specific security finding.

func NewAnalyzeFindingTool added in v1.215.0

func NewAnalyzeFindingTool(atmosConfig *schema.AtmosConfiguration) *AnalyzeFindingTool

NewAnalyzeFindingTool creates a new analyze finding tool.

func (*AnalyzeFindingTool) Description added in v1.215.0

func (t *AnalyzeFindingTool) Description() string

Description returns the tool description.

func (*AnalyzeFindingTool) Execute added in v1.215.0

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

Execute runs the tool.

func (*AnalyzeFindingTool) IsRestricted added in v1.215.0

func (t *AnalyzeFindingTool) IsRestricted() bool

IsRestricted returns whether this tool is always restricted.

func (*AnalyzeFindingTool) Name added in v1.215.0

func (t *AnalyzeFindingTool) Name() string

Name returns the tool name.

func (*AnalyzeFindingTool) Parameters added in v1.215.0

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

Parameters returns the tool parameters.

func (*AnalyzeFindingTool) RequiresPermission added in v1.215.0

func (t *AnalyzeFindingTool) RequiresPermission() bool

RequiresPermission returns whether this tool needs permission.

type AuthListTool added in v1.223.0

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

AuthListTool lists configured Atmos authentication providers and identities.

func NewAuthListTool added in v1.223.0

func NewAuthListTool(atmosConfig *schema.AtmosConfiguration) *AuthListTool

NewAuthListTool creates a new auth list tool.

func (*AuthListTool) Description added in v1.223.0

func (t *AuthListTool) Description() string

Description returns the tool description.

func (*AuthListTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*AuthListTool) IsRestricted added in v1.223.0

func (t *AuthListTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*AuthListTool) Name added in v1.223.0

func (t *AuthListTool) Name() string

Name returns the tool name.

func (*AuthListTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*AuthListTool) RequiresPermission added in v1.223.0

func (t *AuthListTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type AuthWhoamiTool added in v1.223.0

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

AuthWhoamiTool reports the currently active Atmos authentication identity.

func NewAuthWhoamiTool added in v1.223.0

func NewAuthWhoamiTool(atmosConfig *schema.AtmosConfiguration) *AuthWhoamiTool

NewAuthWhoamiTool creates a new auth whoami tool.

func (*AuthWhoamiTool) Description added in v1.223.0

func (t *AuthWhoamiTool) Description() string

Description returns the tool description.

func (*AuthWhoamiTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*AuthWhoamiTool) IsRestricted added in v1.223.0

func (t *AuthWhoamiTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*AuthWhoamiTool) Name added in v1.223.0

func (t *AuthWhoamiTool) Name() string

Name returns the tool name.

func (*AuthWhoamiTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*AuthWhoamiTool) RequiresPermission added in v1.223.0

func (t *AuthWhoamiTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type CommandHelpTool added in v1.223.0

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

CommandHelpTool returns detailed help (long description, usage examples, and flags) for a single Atmos CLI command, resolved from the same injected CommandNode tree used by ListCommandsTool. See CommandNode's doc comment for the import-cycle / visibility design behind that seam.

func NewCommandHelpTool added in v1.223.0

func NewCommandHelpTool(atmosConfig *schema.AtmosConfiguration) *CommandHelpTool

NewCommandHelpTool creates a new command help tool.

func (*CommandHelpTool) Description added in v1.223.0

func (t *CommandHelpTool) Description() string

Description returns the tool description.

func (*CommandHelpTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*CommandHelpTool) IsRestricted added in v1.223.0

func (t *CommandHelpTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*CommandHelpTool) Name added in v1.223.0

func (t *CommandHelpTool) Name() string

Name returns the tool name.

func (*CommandHelpTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*CommandHelpTool) RequiresPermission added in v1.223.0

func (t *CommandHelpTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type CommandNode added in v1.223.0

type CommandNode struct {
	// Name is the command's own name, e.g. "pull" (cmd.Name(), the first
	// word of Use).
	Name string
	// Use is the raw cobra Use string, e.g. "pull [flags]".
	Use string
	// Short is the one-line description.
	Short string
	// Long is the full description.
	Long string
	// Example is cmd.Example as wired at snapshot time. Most commands only
	// have this populated lazily by cmd/root.go's help renderer, so it is
	// frequently empty here -- see command_help.go's markdown fallback.
	Example string
	// Group is the registry group name (e.g. "Configuration Management").
	// Only meaningful on top-level nodes; descendants leave this empty.
	Group string
	// Hidden mirrors cobra's Hidden flag; hidden nodes are filtered out of
	// listings.
	Hidden bool
	// Flags are the flags defined directly on this command (not inherited
	// from parents).
	Flags []flagInfo
	// Subcommands are this command's immediate children.
	Subcommands []*CommandNode
}

CommandNode is a decoupled, serializable snapshot of a single Atmos CLI *cobra.Command, used by ListCommandsTool and CommandHelpTool.

Import-cycle / visibility design note

These two tools need read access to the live Atmos CLI command tree, which is owned by cmd/internal's CommandRegistry (see cmd/internal.ListProviders / CommandProvider.GetCommand). This package (pkg/ai/tools/atmos) CANNOT import cmd/internal directly. Go's internal-package visibility rule restricts an "internal" package to importers whose own import path is rooted at the directory containing it, in this case cmd/. This package does not qualify, so the compiler rejects the import outright (error: "use of internal package not allowed") regardless of whether a real dependency cycle would also result. (One would: cmd (root) blank-imports cmd/mcp, whose cmd/mcp/server/start.go imports pkg/ai/tools/atmos; pkg/ai/tools/atmos importing cmd/internal directly stays cycle-free only because cmd/internal itself never imports anything upstream -- but the visibility rule blocks the import before cycle analysis is even relevant.)

Rather than importing cmd/internal, atmos_list_commands and atmos_command_help depend only on this decoupled CommandNode type plus a small injection seam, SetCommandTreeProvider. NewCommandNodeFromCobra (below) converts a *cobra.Command subtree into CommandNode using only the public spf13/cobra API (a normal third-party dependency, not subject to the internal-package rule), so ALL tree-walking, search, and formatting logic for these tools still lives here in pkg/ai/tools/atmos, per this repo's "no feature logic in cmd/" convention (cmd/ and internal/exec should contain only inline call sites).

The one remaining piece of wiring -- calling cmd/internal.ListProviders() to obtain the live *cobra.Command tree and wrapping each top-level command with NewCommandNodeFromCobra, then calling SetCommandTreeProvider with the result -- must happen from a package rooted at cmd/ (e.g. cmd/mcp/server/start.go, before it calls atmosTools.RegisterTools). That call is intentionally NOT added by this change: per this task's scope, central tool registration/wiring is handled by a separate follow-up task. Until SetCommandTreeProvider is called, both tools return errUtils.ErrAICommandTreeNotConfigured instead of panicking or silently returning an empty tree.

func NewCommandNodeFromCobra added in v1.223.0

func NewCommandNodeFromCobra(cmd *cobra.Command, group string) *CommandNode

NewCommandNodeFromCobra recursively snapshots cmd (and its subcommands) into a decoupled CommandNode tree, using only the public spf13/cobra API. The group parameter is attached to cmd itself but left empty on descendants, since "group" is a top-level command-registry concept.

type CommandTreeProvider added in v1.223.0

type CommandTreeProvider func() []*CommandNode

CommandTreeProvider supplies the live Atmos CLI command tree (its top-level nodes; each CommandNode's Subcommands field holds its descendants) to atmos_list_commands / atmos_command_help.

type ComplianceReportTool added in v1.215.0

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

ComplianceReportTool generates compliance posture reports for frameworks.

func NewComplianceReportTool added in v1.215.0

func NewComplianceReportTool(atmosConfig *schema.AtmosConfiguration) *ComplianceReportTool

NewComplianceReportTool creates a new compliance report tool.

func (*ComplianceReportTool) Description added in v1.215.0

func (t *ComplianceReportTool) Description() string

Description returns the tool description.

func (*ComplianceReportTool) Execute added in v1.215.0

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

Execute runs the tool.

func (*ComplianceReportTool) IsRestricted added in v1.215.0

func (t *ComplianceReportTool) IsRestricted() bool

IsRestricted returns whether this tool is always restricted.

func (*ComplianceReportTool) Name added in v1.215.0

func (t *ComplianceReportTool) Name() string

Name returns the tool name.

func (*ComplianceReportTool) Parameters added in v1.215.0

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

Parameters returns the tool parameters.

func (*ComplianceReportTool) RequiresPermission added in v1.215.0

func (t *ComplianceReportTool) RequiresPermission() bool

RequiresPermission returns whether this tool needs permission.

type ConfigDeleteTool added in v1.223.0

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

ConfigDeleteTool deletes a value from atmos.yaml by dot-notation path.

func NewConfigDeleteTool added in v1.223.0

func NewConfigDeleteTool(atmosConfig *schema.AtmosConfiguration) *ConfigDeleteTool

NewConfigDeleteTool creates a new atmos config delete tool.

func (*ConfigDeleteTool) Description added in v1.223.0

func (t *ConfigDeleteTool) Description() string

Description returns the tool description.

func (*ConfigDeleteTool) Execute added in v1.223.0

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

Execute deletes the value at path from the resolved atmos.yaml.

func (*ConfigDeleteTool) IsRestricted added in v1.223.0

func (t *ConfigDeleteTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ConfigDeleteTool) Name added in v1.223.0

func (t *ConfigDeleteTool) Name() string

Name returns the tool name.

func (*ConfigDeleteTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ConfigDeleteTool) RequiresPermission added in v1.223.0

func (t *ConfigDeleteTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ConfigFormatTool added in v1.223.0

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

ConfigFormatTool formats the active atmos.yaml file in place.

func NewConfigFormatTool added in v1.223.0

func NewConfigFormatTool(atmosConfig *schema.AtmosConfiguration) *ConfigFormatTool

NewConfigFormatTool creates a new atmos config format tool.

func (*ConfigFormatTool) Description added in v1.223.0

func (t *ConfigFormatTool) Description() string

Description returns the tool description.

func (*ConfigFormatTool) Execute added in v1.223.0

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

Execute formats the resolved atmos.yaml in place.

func (*ConfigFormatTool) IsRestricted added in v1.223.0

func (t *ConfigFormatTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ConfigFormatTool) Name added in v1.223.0

func (t *ConfigFormatTool) Name() string

Name returns the tool name.

func (*ConfigFormatTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ConfigFormatTool) RequiresPermission added in v1.223.0

func (t *ConfigFormatTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ConfigGetTool added in v1.223.0

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

ConfigGetTool reads a value from atmos.yaml by dot-notation path.

func NewConfigGetTool added in v1.223.0

func NewConfigGetTool(atmosConfig *schema.AtmosConfiguration) *ConfigGetTool

NewConfigGetTool creates a new atmos config get tool.

func (*ConfigGetTool) Description added in v1.223.0

func (t *ConfigGetTool) Description() string

Description returns the tool description.

func (*ConfigGetTool) Execute added in v1.223.0

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

Execute reads the value at path from the resolved atmos.yaml.

func (*ConfigGetTool) IsRestricted added in v1.223.0

func (t *ConfigGetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ConfigGetTool) Name added in v1.223.0

func (t *ConfigGetTool) Name() string

Name returns the tool name.

func (*ConfigGetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ConfigGetTool) RequiresPermission added in v1.223.0

func (t *ConfigGetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ConfigListTool added in v1.223.0

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

ConfigListTool lists editable atmos.yaml setting paths.

func NewConfigListTool added in v1.223.0

func NewConfigListTool(atmosConfig *schema.AtmosConfiguration) *ConfigListTool

NewConfigListTool creates a new atmos config list tool.

func (*ConfigListTool) Description added in v1.223.0

func (t *ConfigListTool) Description() string

Description returns the tool description.

func (*ConfigListTool) Execute added in v1.223.0

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

Execute lists the setting paths in the resolved atmos.yaml, optionally filtered by pattern.

func (*ConfigListTool) IsRestricted added in v1.223.0

func (t *ConfigListTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ConfigListTool) Name added in v1.223.0

func (t *ConfigListTool) Name() string

Name returns the tool name.

func (*ConfigListTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ConfigListTool) RequiresPermission added in v1.223.0

func (t *ConfigListTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ConfigSetTool added in v1.223.0

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

ConfigSetTool sets a value in atmos.yaml by dot-notation path.

func NewConfigSetTool added in v1.223.0

func NewConfigSetTool(atmosConfig *schema.AtmosConfiguration) *ConfigSetTool

NewConfigSetTool creates a new atmos config set tool.

func (*ConfigSetTool) Description added in v1.223.0

func (t *ConfigSetTool) Description() string

Description returns the tool description.

func (*ConfigSetTool) Execute added in v1.223.0

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

Execute sets the value at path in the resolved atmos.yaml.

func (*ConfigSetTool) IsRestricted added in v1.223.0

func (t *ConfigSetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ConfigSetTool) Name added in v1.223.0

func (t *ConfigSetTool) Name() string

Name returns the tool name.

func (*ConfigSetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ConfigSetTool) RequiresPermission added in v1.223.0

func (t *ConfigSetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

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 DescribeDependentsTool added in v1.223.0

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

DescribeDependentsTool lists Atmos components that depend on a given component.

func NewDescribeDependentsTool added in v1.223.0

func NewDescribeDependentsTool(atmosConfig *schema.AtmosConfiguration) *DescribeDependentsTool

NewDescribeDependentsTool creates a new describe dependents tool.

func (*DescribeDependentsTool) Description added in v1.223.0

func (t *DescribeDependentsTool) Description() string

Description returns the tool description.

func (*DescribeDependentsTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*DescribeDependentsTool) IsRestricted added in v1.223.0

func (t *DescribeDependentsTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*DescribeDependentsTool) Name added in v1.223.0

func (t *DescribeDependentsTool) Name() string

Name returns the tool name.

func (*DescribeDependentsTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*DescribeDependentsTool) RequiresPermission added in v1.223.0

func (t *DescribeDependentsTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type DescribeFindingTool added in v1.215.0

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

DescribeFindingTool retrieves detailed information about a specific security finding.

func NewDescribeFindingTool added in v1.215.0

func NewDescribeFindingTool(atmosConfig *schema.AtmosConfiguration) *DescribeFindingTool

NewDescribeFindingTool creates a new describe finding tool.

func (*DescribeFindingTool) Description added in v1.215.0

func (t *DescribeFindingTool) Description() string

Description returns the tool description.

func (*DescribeFindingTool) Execute added in v1.215.0

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

Execute runs the tool.

func (*DescribeFindingTool) IsRestricted added in v1.215.0

func (t *DescribeFindingTool) IsRestricted() bool

IsRestricted returns whether this tool is always restricted.

func (*DescribeFindingTool) Name added in v1.215.0

func (t *DescribeFindingTool) Name() string

Name returns the tool name.

func (*DescribeFindingTool) Parameters added in v1.215.0

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

Parameters returns the tool parameters.

func (*DescribeFindingTool) RequiresPermission added in v1.215.0

func (t *DescribeFindingTool) RequiresPermission() bool

RequiresPermission returns whether this tool needs permission.

type DescribeWorkflowsTool added in v1.223.0

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

DescribeWorkflowsTool lists all discovered Atmos workflows and the files that define them.

func NewDescribeWorkflowsTool added in v1.223.0

func NewDescribeWorkflowsTool(atmosConfig *schema.AtmosConfiguration) *DescribeWorkflowsTool

NewDescribeWorkflowsTool creates a new describe workflows tool.

func (*DescribeWorkflowsTool) Description added in v1.223.0

func (t *DescribeWorkflowsTool) Description() string

Description returns the tool description.

func (*DescribeWorkflowsTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*DescribeWorkflowsTool) IsRestricted added in v1.223.0

func (t *DescribeWorkflowsTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*DescribeWorkflowsTool) Name added in v1.223.0

func (t *DescribeWorkflowsTool) Name() string

Name returns the tool name.

func (*DescribeWorkflowsTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*DescribeWorkflowsTool) RequiresPermission added in v1.223.0

func (t *DescribeWorkflowsTool) 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 HCLEditOperation added in v1.223.0

type HCLEditOperation string

HCLEditOperation represents the type of Terraform HCL edit operation.

const (
	// HCLOperationAttributeSet sets an existing attribute's value. Silently
	// does nothing if the attribute doesn't already exist (hcledit semantics).
	HCLOperationAttributeSet HCLEditOperation = "attribute_set"
	// HCLOperationAttributeAppend adds a new attribute. Errors if it already exists.
	HCLOperationAttributeAppend HCLEditOperation = "attribute_append"
	// HCLOperationAttributeRemove removes an attribute.
	HCLOperationAttributeRemove HCLEditOperation = "attribute_remove"
	// HCLOperationBlockNew creates a new empty block.
	HCLOperationBlockNew HCLEditOperation = "block_new"
	// HCLOperationBlockAppend appends a new child block inside every block matching parent's address.
	HCLOperationBlockAppend HCLEditOperation = "block_append"
	// HCLOperationBlockRemove removes every block matching an address.
	HCLOperationBlockRemove HCLEditOperation = "block_remove"
)

type ListCommandsTool added in v1.223.0

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

ListCommandsTool discovers the Atmos CLI command tree so an AI agent can find out what commands exist without shelling out to `atmos --help`. See the CommandNode doc comment for how it obtains the tree without an import cycle.

func NewListCommandsTool added in v1.223.0

func NewListCommandsTool(atmosConfig *schema.AtmosConfiguration) *ListCommandsTool

NewListCommandsTool creates a new command discovery tool.

func (*ListCommandsTool) Description added in v1.223.0

func (t *ListCommandsTool) Description() string

Description returns the tool description.

func (*ListCommandsTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*ListCommandsTool) IsRestricted added in v1.223.0

func (t *ListCommandsTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ListCommandsTool) Name added in v1.223.0

func (t *ListCommandsTool) Name() string

Name returns the tool name.

func (*ListCommandsTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ListCommandsTool) RequiresPermission added in v1.223.0

func (t *ListCommandsTool) 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 ListComponentsTool added in v1.223.0

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

ListComponentsTool lists unique Atmos components across stacks.

func NewListComponentsTool added in v1.223.0

func NewListComponentsTool(atmosConfig *schema.AtmosConfiguration) *ListComponentsTool

NewListComponentsTool creates a new list components tool.

func (*ListComponentsTool) Description added in v1.223.0

func (t *ListComponentsTool) Description() string

Description returns the tool description.

func (*ListComponentsTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*ListComponentsTool) IsRestricted added in v1.223.0

func (t *ListComponentsTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ListComponentsTool) Name added in v1.223.0

func (t *ListComponentsTool) Name() string

Name returns the tool name.

func (*ListComponentsTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ListComponentsTool) RequiresPermission added in v1.223.0

func (t *ListComponentsTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ListFindingsTool added in v1.215.0

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

ListFindingsTool lists security findings from AWS Security Hub.

func NewListFindingsTool added in v1.215.0

func NewListFindingsTool(atmosConfig *schema.AtmosConfiguration) *ListFindingsTool

NewListFindingsTool creates a new list findings tool.

func (*ListFindingsTool) Description added in v1.215.0

func (t *ListFindingsTool) Description() string

Description returns the tool description.

func (*ListFindingsTool) Execute added in v1.215.0

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

Execute runs the tool.

func (*ListFindingsTool) IsRestricted added in v1.215.0

func (t *ListFindingsTool) IsRestricted() bool

IsRestricted returns whether this tool is always restricted.

func (*ListFindingsTool) Name added in v1.215.0

func (t *ListFindingsTool) Name() string

Name returns the tool name.

func (*ListFindingsTool) Parameters added in v1.215.0

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

Parameters returns the tool parameters.

func (*ListFindingsTool) RequiresPermission added in v1.215.0

func (t *ListFindingsTool) RequiresPermission() bool

RequiresPermission returns whether 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 ListValuesTool added in v1.223.0

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

ListValuesTool lists a component's values (or vars) across every stack where it is used.

func NewListValuesTool added in v1.223.0

func NewListValuesTool(atmosConfig *schema.AtmosConfiguration) *ListValuesTool

NewListValuesTool creates a new list values tool.

func (*ListValuesTool) Description added in v1.223.0

func (t *ListValuesTool) Description() string

Description returns the tool description.

func (*ListValuesTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*ListValuesTool) IsRestricted added in v1.223.0

func (t *ListValuesTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ListValuesTool) Name added in v1.223.0

func (t *ListValuesTool) Name() string

Name returns the tool name.

func (*ListValuesTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ListValuesTool) RequiresPermission added in v1.223.0

func (t *ListValuesTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ListWorkflowsTool added in v1.223.0

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

ListWorkflowsTool lists Atmos workflows with their file, description, and step count.

func NewListWorkflowsTool added in v1.223.0

func NewListWorkflowsTool(atmosConfig *schema.AtmosConfiguration) *ListWorkflowsTool

NewListWorkflowsTool creates a new list workflows tool.

func (*ListWorkflowsTool) Description added in v1.223.0

func (t *ListWorkflowsTool) Description() string

Description returns the tool description.

func (*ListWorkflowsTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*ListWorkflowsTool) IsRestricted added in v1.223.0

func (t *ListWorkflowsTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ListWorkflowsTool) Name added in v1.223.0

func (t *ListWorkflowsTool) Name() string

Name returns the tool name.

func (*ListWorkflowsTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ListWorkflowsTool) RequiresPermission added in v1.223.0

func (t *ListWorkflowsTool) 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 SecretListTool added in v1.223.0

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

SecretListTool lists declared secrets and their local initialization status.

This tool is strictly metadata-only and credential-free: it never authenticates, never contacts a remote secret backend, and never calls a decrypt/read-value API (no kms:Decrypt, no fetching an actual secret value). It mirrors `atmos secret list` WITHOUT the `--verify` flag: declarations are resolved with auth disabled (see credentialFreeSkipTags), and each secret's status is checked via secrets.Service.Status(false), which "never registers values with the masker (uses the backend status check, not Get) and never decrypts" (see pkg/secrets/service.go). Local backends (e.g. SOPS) report a real initialized/missing status because their existence check is local; remote-store secrets report "unknown" since verifying them would require authenticating to the backend.

func NewSecretListTool added in v1.223.0

func NewSecretListTool(atmosConfig *schema.AtmosConfiguration) *SecretListTool

NewSecretListTool creates a new secret list tool.

func (*SecretListTool) Description added in v1.223.0

func (t *SecretListTool) Description() string

Description returns the tool description.

func (*SecretListTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*SecretListTool) IsRestricted added in v1.223.0

func (t *SecretListTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*SecretListTool) Name added in v1.223.0

func (t *SecretListTool) Name() string

Name returns the tool name.

func (*SecretListTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*SecretListTool) RequiresPermission added in v1.223.0

func (t *SecretListTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type StackConfigDeleteTool added in v1.223.0

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

StackConfigDeleteTool deletes a component-relative value from the manifest that defines it for a component in a stack, using provenance to find the manifest file that defines the effective value.

func NewStackConfigDeleteTool added in v1.223.0

func NewStackConfigDeleteTool(atmosConfig *schema.AtmosConfiguration) *StackConfigDeleteTool

NewStackConfigDeleteTool creates a new stack config delete tool.

func (*StackConfigDeleteTool) Description added in v1.223.0

func (t *StackConfigDeleteTool) Description() string

Description returns the tool description.

func (*StackConfigDeleteTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*StackConfigDeleteTool) IsRestricted added in v1.223.0

func (t *StackConfigDeleteTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*StackConfigDeleteTool) Name added in v1.223.0

func (t *StackConfigDeleteTool) Name() string

Name returns the tool name.

func (*StackConfigDeleteTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*StackConfigDeleteTool) RequiresPermission added in v1.223.0

func (t *StackConfigDeleteTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type StackConfigFormatTool added in v1.223.0

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

StackConfigFormatTool formats every manifest file that contributes to a component's effective configuration in a stack, using provenance to find all contributing files rather than a single one.

func NewStackConfigFormatTool added in v1.223.0

func NewStackConfigFormatTool(atmosConfig *schema.AtmosConfiguration) *StackConfigFormatTool

NewStackConfigFormatTool creates a new stack config format tool.

func (*StackConfigFormatTool) Description added in v1.223.0

func (t *StackConfigFormatTool) Description() string

Description returns the tool description.

func (*StackConfigFormatTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*StackConfigFormatTool) IsRestricted added in v1.223.0

func (t *StackConfigFormatTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*StackConfigFormatTool) Name added in v1.223.0

func (t *StackConfigFormatTool) Name() string

Name returns the tool name.

func (*StackConfigFormatTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*StackConfigFormatTool) RequiresPermission added in v1.223.0

func (t *StackConfigFormatTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type StackConfigGetTool added in v1.223.0

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

StackConfigGetTool reads a component-relative value from a stack manifest, resolving through Atmos's merge/inheritance provenance to report which physical manifest file defines the effective value.

func NewStackConfigGetTool added in v1.223.0

func NewStackConfigGetTool(atmosConfig *schema.AtmosConfiguration) *StackConfigGetTool

NewStackConfigGetTool creates a new stack config get tool.

func (*StackConfigGetTool) Description added in v1.223.0

func (t *StackConfigGetTool) Description() string

Description returns the tool description.

func (*StackConfigGetTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*StackConfigGetTool) IsRestricted added in v1.223.0

func (t *StackConfigGetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*StackConfigGetTool) Name added in v1.223.0

func (t *StackConfigGetTool) Name() string

Name returns the tool name.

func (*StackConfigGetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*StackConfigGetTool) RequiresPermission added in v1.223.0

func (t *StackConfigGetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type StackConfigListTool added in v1.223.0

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

StackConfigListTool enumerates the addressable component-relative dot-paths in a component's merged stack configuration, along with each path's type, effective value, and the manifest file that defines it (via provenance).

func NewStackConfigListTool added in v1.223.0

func NewStackConfigListTool(atmosConfig *schema.AtmosConfiguration) *StackConfigListTool

NewStackConfigListTool creates a new stack config list tool.

func (*StackConfigListTool) Description added in v1.223.0

func (t *StackConfigListTool) Description() string

Description returns the tool description.

func (*StackConfigListTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*StackConfigListTool) IsRestricted added in v1.223.0

func (t *StackConfigListTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*StackConfigListTool) Name added in v1.223.0

func (t *StackConfigListTool) Name() string

Name returns the tool name.

func (*StackConfigListTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*StackConfigListTool) RequiresPermission added in v1.223.0

func (t *StackConfigListTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type StackConfigSetTool added in v1.223.0

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

StackConfigSetTool sets a component-relative value in the manifest that defines it for a component in a stack, using provenance to find the manifest file that defines the effective value.

func NewStackConfigSetTool added in v1.223.0

func NewStackConfigSetTool(atmosConfig *schema.AtmosConfiguration) *StackConfigSetTool

NewStackConfigSetTool creates a new stack config set tool.

func (*StackConfigSetTool) Description added in v1.223.0

func (t *StackConfigSetTool) Description() string

Description returns the tool description.

func (*StackConfigSetTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*StackConfigSetTool) IsRestricted added in v1.223.0

func (t *StackConfigSetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*StackConfigSetTool) Name added in v1.223.0

func (t *StackConfigSetTool) Name() string

Name returns the tool name.

func (*StackConfigSetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*StackConfigSetTool) RequiresPermission added in v1.223.0

func (t *StackConfigSetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type TerraformComponentHCLEditTool added in v1.223.0

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

TerraformComponentHCLEditTool structurally edits a Terraform component file using hcledit, preserving comments and formatting.

func NewTerraformComponentHCLEditTool added in v1.223.0

func NewTerraformComponentHCLEditTool(atmosConfig *schema.AtmosConfiguration) *TerraformComponentHCLEditTool

NewTerraformComponentHCLEditTool creates a new Terraform component HCL editor tool.

func (*TerraformComponentHCLEditTool) Description added in v1.223.0

func (t *TerraformComponentHCLEditTool) Description() string

Description returns the tool description.

func (*TerraformComponentHCLEditTool) Execute added in v1.223.0

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

Execute applies the requested HCL edit operation to the component file.

func (*TerraformComponentHCLEditTool) IsRestricted added in v1.223.0

func (t *TerraformComponentHCLEditTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*TerraformComponentHCLEditTool) Name added in v1.223.0

Name returns the tool name.

func (*TerraformComponentHCLEditTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*TerraformComponentHCLEditTool) RequiresPermission added in v1.223.0

func (t *TerraformComponentHCLEditTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type TerraformComponentHCLGetTool added in v1.223.0

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

TerraformComponentHCLGetTool reads an attribute or block from a Terraform component file by HCL address.

func NewTerraformComponentHCLGetTool added in v1.223.0

func NewTerraformComponentHCLGetTool(atmosConfig *schema.AtmosConfiguration) *TerraformComponentHCLGetTool

NewTerraformComponentHCLGetTool creates a new Terraform component HCL reader tool.

func (*TerraformComponentHCLGetTool) Description added in v1.223.0

func (t *TerraformComponentHCLGetTool) Description() string

Description returns the tool description.

func (*TerraformComponentHCLGetTool) Execute added in v1.223.0

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

Execute reads the value at address from the given Terraform component file.

func (*TerraformComponentHCLGetTool) IsRestricted added in v1.223.0

func (t *TerraformComponentHCLGetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*TerraformComponentHCLGetTool) Name added in v1.223.0

Name returns the tool name.

func (*TerraformComponentHCLGetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*TerraformComponentHCLGetTool) RequiresPermission added in v1.223.0

func (t *TerraformComponentHCLGetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ToolchainAddTool added in v1.223.0

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

ToolchainAddTool adds a tool dependency to the project's .tool-versions file.

func NewToolchainAddTool added in v1.223.0

func NewToolchainAddTool(atmosConfig *schema.AtmosConfiguration) *ToolchainAddTool

NewToolchainAddTool creates a new toolchain add tool.

func (*ToolchainAddTool) Description added in v1.223.0

func (t *ToolchainAddTool) Description() string

Description returns the tool description.

func (*ToolchainAddTool) Execute added in v1.223.0

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

Execute adds the tool/version to .tool-versions.

func (*ToolchainAddTool) IsRestricted added in v1.223.0

func (t *ToolchainAddTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ToolchainAddTool) Name added in v1.223.0

func (t *ToolchainAddTool) Name() string

Name returns the tool name.

func (*ToolchainAddTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ToolchainAddTool) RequiresPermission added in v1.223.0

func (t *ToolchainAddTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ToolchainListTool added in v1.223.0

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

ToolchainListTool lists tools configured in the project's .tool-versions file.

func NewToolchainListTool added in v1.223.0

func NewToolchainListTool(atmosConfig *schema.AtmosConfiguration) *ToolchainListTool

NewToolchainListTool creates a new toolchain list tool.

func (*ToolchainListTool) Description added in v1.223.0

func (t *ToolchainListTool) Description() string

Description returns the tool description.

func (*ToolchainListTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*ToolchainListTool) IsRestricted added in v1.223.0

func (t *ToolchainListTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ToolchainListTool) Name added in v1.223.0

func (t *ToolchainListTool) Name() string

Name returns the tool name.

func (*ToolchainListTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ToolchainListTool) RequiresPermission added in v1.223.0

func (t *ToolchainListTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ToolchainRemoveTool added in v1.223.0

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

ToolchainRemoveTool removes a tool dependency from the project's .tool-versions file.

func NewToolchainRemoveTool added in v1.223.0

func NewToolchainRemoveTool(atmosConfig *schema.AtmosConfiguration) *ToolchainRemoveTool

NewToolchainRemoveTool creates a new toolchain remove tool.

func (*ToolchainRemoveTool) Description added in v1.223.0

func (t *ToolchainRemoveTool) Description() string

Description returns the tool description.

func (*ToolchainRemoveTool) Execute added in v1.223.0

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

Execute removes the tool/version from .tool-versions.

func (*ToolchainRemoveTool) IsRestricted added in v1.223.0

func (t *ToolchainRemoveTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ToolchainRemoveTool) Name added in v1.223.0

func (t *ToolchainRemoveTool) Name() string

Name returns the tool name.

func (*ToolchainRemoveTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ToolchainRemoveTool) RequiresPermission added in v1.223.0

func (t *ToolchainRemoveTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ToolchainSetTool added in v1.223.0

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

ToolchainSetTool sets a tool's default pinned version in .tool-versions.

func NewToolchainSetTool added in v1.223.0

func NewToolchainSetTool(atmosConfig *schema.AtmosConfiguration) *ToolchainSetTool

NewToolchainSetTool creates a new toolchain set tool.

func (*ToolchainSetTool) Description added in v1.223.0

func (t *ToolchainSetTool) Description() string

Description returns the tool description.

func (*ToolchainSetTool) Execute added in v1.223.0

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

Execute sets the tool's default version in .tool-versions.

func (*ToolchainSetTool) IsRestricted added in v1.223.0

func (t *ToolchainSetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ToolchainSetTool) Name added in v1.223.0

func (t *ToolchainSetTool) Name() string

Name returns the tool name.

func (*ToolchainSetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ToolchainSetTool) RequiresPermission added in v1.223.0

func (t *ToolchainSetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type ValidateComponentTool added in v1.223.0

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

ValidateComponentTool validates a single Atmos component in a stack using JSON Schema or OPA policies.

func NewValidateComponentTool added in v1.223.0

func NewValidateComponentTool(atmosConfig *schema.AtmosConfiguration) *ValidateComponentTool

NewValidateComponentTool creates a new validate component tool.

func (*ValidateComponentTool) Description added in v1.223.0

func (t *ValidateComponentTool) Description() string

Description returns the tool description.

func (*ValidateComponentTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*ValidateComponentTool) IsRestricted added in v1.223.0

func (t *ValidateComponentTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ValidateComponentTool) Name added in v1.223.0

func (t *ValidateComponentTool) Name() string

Name returns the tool name.

func (*ValidateComponentTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ValidateComponentTool) RequiresPermission added in v1.223.0

func (t *ValidateComponentTool) 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 ValidateFileTool added in v1.223.0

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

ValidateFileTool validates a single YAML file against a JSON Schema and reports each error's line number, without requiring an LSP server.

func NewValidateFileTool added in v1.223.0

func NewValidateFileTool(atmosConfig *schema.AtmosConfiguration) *ValidateFileTool

NewValidateFileTool creates a new validate file tool.

func (*ValidateFileTool) Description added in v1.223.0

func (t *ValidateFileTool) Description() string

Description returns the tool description.

func (*ValidateFileTool) Execute added in v1.223.0

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

Execute validates the file and reports errors with line numbers.

func (*ValidateFileTool) IsRestricted added in v1.223.0

func (t *ValidateFileTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*ValidateFileTool) Name added in v1.223.0

func (t *ValidateFileTool) Name() string

Name returns the tool name.

func (*ValidateFileTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*ValidateFileTool) RequiresPermission added in v1.223.0

func (t *ValidateFileTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs 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 VendorCheckUpdatesTool added in v1.223.0

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

VendorCheckUpdatesTool reports whether vendored Git-sourced components have a newer version available than the one currently pinned, without mutating any files.

func NewVendorCheckUpdatesTool added in v1.223.0

func NewVendorCheckUpdatesTool(atmosConfig *schema.AtmosConfiguration) *VendorCheckUpdatesTool

NewVendorCheckUpdatesTool creates a new vendor check-updates tool.

func (*VendorCheckUpdatesTool) Description added in v1.223.0

func (t *VendorCheckUpdatesTool) Description() string

Description returns the tool description.

func (*VendorCheckUpdatesTool) Execute added in v1.223.0

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

Execute checks for newer available versions without mutating any files.

func (*VendorCheckUpdatesTool) IsRestricted added in v1.223.0

func (t *VendorCheckUpdatesTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VendorCheckUpdatesTool) Name added in v1.223.0

func (t *VendorCheckUpdatesTool) Name() string

Name returns the tool name.

func (*VendorCheckUpdatesTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VendorCheckUpdatesTool) RequiresPermission added in v1.223.0

func (t *VendorCheckUpdatesTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VendorConfigDeleteTool added in v1.223.0

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

VendorConfigDeleteTool deletes a raw value from a vendor manifest by dot-notation path.

func NewVendorConfigDeleteTool added in v1.223.0

func NewVendorConfigDeleteTool(atmosConfig *schema.AtmosConfiguration) *VendorConfigDeleteTool

NewVendorConfigDeleteTool creates a new vendor config delete tool.

func (*VendorConfigDeleteTool) Description added in v1.223.0

func (t *VendorConfigDeleteTool) Description() string

Description returns the tool description.

func (*VendorConfigDeleteTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*VendorConfigDeleteTool) IsRestricted added in v1.223.0

func (t *VendorConfigDeleteTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VendorConfigDeleteTool) Name added in v1.223.0

func (t *VendorConfigDeleteTool) Name() string

Name returns the tool name.

func (*VendorConfigDeleteTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VendorConfigDeleteTool) RequiresPermission added in v1.223.0

func (t *VendorConfigDeleteTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VendorConfigFormatTool added in v1.223.0

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

VendorConfigFormatTool formats a vendor manifest file in place.

func NewVendorConfigFormatTool added in v1.223.0

func NewVendorConfigFormatTool(atmosConfig *schema.AtmosConfiguration) *VendorConfigFormatTool

NewVendorConfigFormatTool creates a new vendor config format tool.

func (*VendorConfigFormatTool) Description added in v1.223.0

func (t *VendorConfigFormatTool) Description() string

Description returns the tool description.

func (*VendorConfigFormatTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*VendorConfigFormatTool) IsRestricted added in v1.223.0

func (t *VendorConfigFormatTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VendorConfigFormatTool) Name added in v1.223.0

func (t *VendorConfigFormatTool) Name() string

Name returns the tool name.

func (*VendorConfigFormatTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VendorConfigFormatTool) RequiresPermission added in v1.223.0

func (t *VendorConfigFormatTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VendorConfigGetTool added in v1.223.0

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

VendorConfigGetTool reads a raw value from a vendor manifest by dot-notation path.

func NewVendorConfigGetTool added in v1.223.0

func NewVendorConfigGetTool(atmosConfig *schema.AtmosConfiguration) *VendorConfigGetTool

NewVendorConfigGetTool creates a new vendor config get tool.

func (*VendorConfigGetTool) Description added in v1.223.0

func (t *VendorConfigGetTool) Description() string

Description returns the tool description.

func (*VendorConfigGetTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*VendorConfigGetTool) IsRestricted added in v1.223.0

func (t *VendorConfigGetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VendorConfigGetTool) Name added in v1.223.0

func (t *VendorConfigGetTool) Name() string

Name returns the tool name.

func (*VendorConfigGetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VendorConfigGetTool) RequiresPermission added in v1.223.0

func (t *VendorConfigGetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VendorConfigListTool added in v1.223.0

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

VendorConfigListTool lists raw vendor manifest setting paths across the root manifest and every manifest it imports.

func NewVendorConfigListTool added in v1.223.0

func NewVendorConfigListTool(atmosConfig *schema.AtmosConfiguration) *VendorConfigListTool

NewVendorConfigListTool creates a new vendor config list tool.

func (*VendorConfigListTool) Description added in v1.223.0

func (t *VendorConfigListTool) Description() string

Description returns the tool description.

func (*VendorConfigListTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*VendorConfigListTool) IsRestricted added in v1.223.0

func (t *VendorConfigListTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VendorConfigListTool) Name added in v1.223.0

func (t *VendorConfigListTool) Name() string

Name returns the tool name.

func (*VendorConfigListTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VendorConfigListTool) RequiresPermission added in v1.223.0

func (t *VendorConfigListTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VendorConfigSetTool added in v1.223.0

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

VendorConfigSetTool sets a raw value in a vendor manifest by dot-notation path.

func NewVendorConfigSetTool added in v1.223.0

func NewVendorConfigSetTool(atmosConfig *schema.AtmosConfiguration) *VendorConfigSetTool

NewVendorConfigSetTool creates a new vendor config set tool.

func (*VendorConfigSetTool) Description added in v1.223.0

func (t *VendorConfigSetTool) Description() string

Description returns the tool description.

func (*VendorConfigSetTool) Execute added in v1.223.0

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

Execute runs the tool.

func (*VendorConfigSetTool) IsRestricted added in v1.223.0

func (t *VendorConfigSetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VendorConfigSetTool) Name added in v1.223.0

func (t *VendorConfigSetTool) Name() string

Name returns the tool name.

func (*VendorConfigSetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VendorConfigSetTool) RequiresPermission added in v1.223.0

func (t *VendorConfigSetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VendorDiffTool added in v1.223.0

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

VendorDiffTool shows a unified diff between a vendored Git-sourced component's current pinned version and another ref.

func NewVendorDiffTool added in v1.223.0

func NewVendorDiffTool(atmosConfig *schema.AtmosConfiguration) *VendorDiffTool

NewVendorDiffTool creates a new vendor diff tool.

func (*VendorDiffTool) Description added in v1.223.0

func (t *VendorDiffTool) Description() string

Description returns the tool description.

func (*VendorDiffTool) Execute added in v1.223.0

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

Execute produces a unified diff between two refs of the component's Git source.

func (*VendorDiffTool) IsRestricted added in v1.223.0

func (t *VendorDiffTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VendorDiffTool) Name added in v1.223.0

func (t *VendorDiffTool) Name() string

Name returns the tool name.

func (*VendorDiffTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VendorDiffTool) RequiresPermission added in v1.223.0

func (t *VendorDiffTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VendorUpdateTool added in v1.223.0

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

VendorUpdateTool advances vendored Git-sourced components' pinned versions to the latest available tag, writing the new version back to the manifest that declares them. It never runs `vendor pull` itself.

func NewVendorUpdateTool added in v1.223.0

func NewVendorUpdateTool(atmosConfig *schema.AtmosConfiguration) *VendorUpdateTool

NewVendorUpdateTool creates a new vendor update tool.

func (*VendorUpdateTool) Description added in v1.223.0

func (t *VendorUpdateTool) Description() string

Description returns the tool description.

func (*VendorUpdateTool) Execute added in v1.223.0

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

Execute advances pinned versions to the latest available tag.

func (*VendorUpdateTool) IsRestricted added in v1.223.0

func (t *VendorUpdateTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VendorUpdateTool) Name added in v1.223.0

func (t *VendorUpdateTool) Name() string

Name returns the tool name.

func (*VendorUpdateTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VendorUpdateTool) RequiresPermission added in v1.223.0

func (t *VendorUpdateTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VersionTrackAddTool added in v1.223.0

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

VersionTrackAddTool adds a dependency entry to a version track in atmos.yaml.

func NewVersionTrackAddTool added in v1.223.0

func NewVersionTrackAddTool(atmosConfig *schema.AtmosConfiguration) *VersionTrackAddTool

NewVersionTrackAddTool creates a new version track add tool.

func (*VersionTrackAddTool) Description added in v1.223.0

func (t *VersionTrackAddTool) Description() string

Description returns the tool description.

func (*VersionTrackAddTool) Execute added in v1.223.0

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

Execute adds the dependency entry to the track.

func (*VersionTrackAddTool) IsRestricted added in v1.223.0

func (t *VersionTrackAddTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VersionTrackAddTool) Name added in v1.223.0

func (t *VersionTrackAddTool) Name() string

Name returns the tool name.

func (*VersionTrackAddTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VersionTrackAddTool) RequiresPermission added in v1.223.0

func (t *VersionTrackAddTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VersionTrackRemoveTool added in v1.223.0

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

VersionTrackRemoveTool removes a dependency entry from a version track.

func NewVersionTrackRemoveTool added in v1.223.0

func NewVersionTrackRemoveTool(atmosConfig *schema.AtmosConfiguration) *VersionTrackRemoveTool

NewVersionTrackRemoveTool creates a new version track remove tool.

func (*VersionTrackRemoveTool) Description added in v1.223.0

func (t *VersionTrackRemoveTool) Description() string

Description returns the tool description.

func (*VersionTrackRemoveTool) Execute added in v1.223.0

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

Execute removes the dependency entry from the track.

func (*VersionTrackRemoveTool) IsRestricted added in v1.223.0

func (t *VersionTrackRemoveTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VersionTrackRemoveTool) Name added in v1.223.0

func (t *VersionTrackRemoveTool) Name() string

Name returns the tool name.

func (*VersionTrackRemoveTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VersionTrackRemoveTool) RequiresPermission added in v1.223.0

func (t *VersionTrackRemoveTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VersionTrackSetTool added in v1.223.0

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

VersionTrackSetTool updates fields of an existing version-track dependency entry.

func NewVersionTrackSetTool added in v1.223.0

func NewVersionTrackSetTool(atmosConfig *schema.AtmosConfiguration) *VersionTrackSetTool

NewVersionTrackSetTool creates a new version track set tool.

func (*VersionTrackSetTool) Description added in v1.223.0

func (t *VersionTrackSetTool) Description() string

Description returns the tool description.

func (*VersionTrackSetTool) Execute added in v1.223.0

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

Execute updates the given fields of the dependency entry.

func (*VersionTrackSetTool) IsRestricted added in v1.223.0

func (t *VersionTrackSetTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VersionTrackSetTool) Name added in v1.223.0

func (t *VersionTrackSetTool) Name() string

Name returns the tool name.

func (*VersionTrackSetTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VersionTrackSetTool) RequiresPermission added in v1.223.0

func (t *VersionTrackSetTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VersionTrackStatusTool added in v1.223.0

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

VersionTrackStatusTool reports whether tracked dependencies are locked, current, or have an update available.

func NewVersionTrackStatusTool added in v1.223.0

func NewVersionTrackStatusTool(atmosConfig *schema.AtmosConfiguration) *VersionTrackStatusTool

NewVersionTrackStatusTool creates a new version track status tool.

func (*VersionTrackStatusTool) Description added in v1.223.0

func (t *VersionTrackStatusTool) Description() string

Description returns the tool description.

func (*VersionTrackStatusTool) Execute added in v1.223.0

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

Execute checks every entry's status without mutating the lock file.

func (*VersionTrackStatusTool) IsRestricted added in v1.223.0

func (t *VersionTrackStatusTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VersionTrackStatusTool) Name added in v1.223.0

func (t *VersionTrackStatusTool) Name() string

Name returns the tool name.

func (*VersionTrackStatusTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VersionTrackStatusTool) RequiresPermission added in v1.223.0

func (t *VersionTrackStatusTool) RequiresPermission() bool

RequiresPermission returns true if this tool needs permission.

type VersionTrackUpdateTool added in v1.223.0

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

VersionTrackUpdateTool advances locked versions within each entry's update policy and writes the result to the track's lock file.

func NewVersionTrackUpdateTool added in v1.223.0

func NewVersionTrackUpdateTool(atmosConfig *schema.AtmosConfiguration) *VersionTrackUpdateTool

NewVersionTrackUpdateTool creates a new version track update tool.

func (*VersionTrackUpdateTool) Description added in v1.223.0

func (t *VersionTrackUpdateTool) Description() string

Description returns the tool description.

func (*VersionTrackUpdateTool) Execute added in v1.223.0

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

Execute advances locked versions and writes the lock file.

func (*VersionTrackUpdateTool) IsRestricted added in v1.223.0

func (t *VersionTrackUpdateTool) IsRestricted() bool

IsRestricted returns true if this tool is always restricted.

func (*VersionTrackUpdateTool) Name added in v1.223.0

func (t *VersionTrackUpdateTool) Name() string

Name returns the tool name.

func (*VersionTrackUpdateTool) Parameters added in v1.223.0

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

Parameters returns the tool parameters.

func (*VersionTrackUpdateTool) RequiresPermission added in v1.223.0

func (t *VersionTrackUpdateTool) 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