Documentation
¶
Overview ¶
Package tools: consolidated interfaces for mocking CLI/tool dependencies
Index ¶
- Constants
- func CollectDefangTools(ec elicitations.Controller, config StackConfig) []ai.Tool
- func HandleCreateAWSStackTool(ctx context.Context, params CreateAWSStackParams, sc StackConfig) (string, error)
- func HandleCreateGCPStackTool(ctx context.Context, params CreateGCPStackParams, sc StackConfig) (string, error)
- func HandleCurrentStackTool(ctx context.Context, sc StackConfig) (string, error)
- func HandleDeployTool(ctx context.Context, loader client.ProjectLoader, params DeployParams, ...) (string, error)
- func HandleDestroyTool(ctx context.Context, loader client.ProjectLoader, params DestroyParams, ...) (string, error)
- func HandleEstimateTool(ctx context.Context, loader client.ProjectLoader, params EstimateParams, ...) (string, error)
- func HandleListConfigTool(ctx context.Context, loader client.ProjectLoader, params ListConfigParams, ...) (string, error)
- func HandleListStacksTool(ctx context.Context, params ListStacksParams) (string, error)
- func HandleLogsTool(ctx context.Context, loader client.ProjectLoader, params LogsParams, ...) (string, error)
- func HandleRemoveConfigTool(ctx context.Context, loader client.ProjectLoader, params RemoveConfigParams, ...) (string, error)
- func HandleSelectStackTool(ctx context.Context, params SelectStackParams, sc StackConfig) (string, error)
- func HandleServicesTool(ctx context.Context, loader client.ProjectLoader, params ServicesParams, ...) (string, error)
- func HandleSetConfig(ctx context.Context, loader client.ProjectLoader, params SetConfigParams, ...) (string, error)
- func NewProviderPreparer(pc ProviderCreator, ec elicitations.Controller, fc client.FabricClient, ...) *providerPreparer
- type CLIInterface
- type CreateAWSStackParams
- type CreateGCPStackParams
- type CurrentStackParams
- type DefaultToolCLI
- func (DefaultToolCLI) CanIUseProvider(ctx context.Context, fabric *client.GrpcClient, projectName, stackName string, ...) error
- func (DefaultToolCLI) ComposeDown(ctx context.Context, projectName string, fabric *client.GrpcClient, ...) (string, error)
- func (DefaultToolCLI) ComposeUp(ctx context.Context, fabric *client.GrpcClient, provider client.Provider, ...) (*defangv1.DeployResponse, *compose.Project, error)
- func (DefaultToolCLI) ConfigDelete(ctx context.Context, projectName string, provider client.Provider, name string) error
- func (DefaultToolCLI) ConfigSet(ctx context.Context, projectName string, provider client.Provider, ...) error
- func (DefaultToolCLI) Connect(ctx context.Context, cluster string) (*client.GrpcClient, error)
- func (DefaultToolCLI) CreatePlaygroundProvider(fabric *client.GrpcClient) client.Provider
- func (DefaultToolCLI) GenerateAuthURL(authPort int) string
- func (DefaultToolCLI) GetServices(ctx context.Context, projectName string, provider client.Provider) ([]*cli.Service, error)
- func (DefaultToolCLI) InteractiveLoginMCP(ctx context.Context, cluster string, mcpClient string) error
- func (DefaultToolCLI) ListConfig(ctx context.Context, provider client.Provider, projectName string) (*defangv1.Secrets, error)
- func (DefaultToolCLI) LoadProject(ctx context.Context, loader client.Loader) (*compose.Project, error)
- func (DefaultToolCLI) LoadProjectNameWithFallback(ctx context.Context, loader client.Loader, provider client.Provider) (string, error)
- func (DefaultToolCLI) NewProvider(ctx context.Context, providerId client.ProviderID, fabric client.FabricClient, ...) client.Provider
- func (DefaultToolCLI) PrintEstimate(mode modes.Mode, estimate *defangv1.EstimateResponse) string
- func (DefaultToolCLI) RunEstimate(ctx context.Context, project *compose.Project, fabric *client.GrpcClient, ...) (*defangv1.EstimateResponse, error)
- func (DefaultToolCLI) Tail(ctx context.Context, provider client.Provider, projectName string, ...) error
- type DeployParams
- type DestroyParams
- type EstimateParams
- type ListConfigParams
- type ListStacksParams
- type LogsParams
- type ProviderCreator
- type RemoveConfigParams
- type SelectStackParams
- type ServicesParams
- type SetConfigParams
- type StackConfig
Constants ¶
View Source
const CreateNewStack = "Create new stack"
Variables ¶
This section is empty.
Functions ¶
func CollectDefangTools ¶
func CollectDefangTools(ec elicitations.Controller, config StackConfig) []ai.Tool
func HandleCreateAWSStackTool ¶
func HandleCreateAWSStackTool(ctx context.Context, params CreateAWSStackParams, sc StackConfig) (string, error)
func HandleCreateGCPStackTool ¶
func HandleCreateGCPStackTool(ctx context.Context, params CreateGCPStackParams, sc StackConfig) (string, error)
func HandleCurrentStackTool ¶
func HandleCurrentStackTool(ctx context.Context, sc StackConfig) (string, error)
func HandleDeployTool ¶
func HandleDeployTool(ctx context.Context, loader client.ProjectLoader, params DeployParams, cli CLIInterface, ec elicitations.Controller, config StackConfig) (string, error)
func HandleDestroyTool ¶
func HandleDestroyTool(ctx context.Context, loader client.ProjectLoader, params DestroyParams, cli CLIInterface, ec elicitations.Controller, config StackConfig) (string, error)
func HandleEstimateTool ¶
func HandleEstimateTool(ctx context.Context, loader client.ProjectLoader, params EstimateParams, cli CLIInterface, sc StackConfig) (string, error)
func HandleListConfigTool ¶
func HandleListConfigTool(ctx context.Context, loader client.ProjectLoader, params ListConfigParams, cli CLIInterface, ec elicitations.Controller, sc StackConfig) (string, error)
HandleListConfigTool handles the list config tool logic
func HandleListStacksTool ¶
func HandleListStacksTool(ctx context.Context, params ListStacksParams) (string, error)
func HandleLogsTool ¶
func HandleLogsTool(ctx context.Context, loader client.ProjectLoader, params LogsParams, cli CLIInterface, ec elicitations.Controller, config StackConfig) (string, error)
func HandleRemoveConfigTool ¶
func HandleRemoveConfigTool(ctx context.Context, loader client.ProjectLoader, params RemoveConfigParams, cli CLIInterface, ec elicitations.Controller, sc StackConfig) (string, error)
HandleRemoveConfigTool handles the remove config tool logic
func HandleSelectStackTool ¶
func HandleSelectStackTool(ctx context.Context, params SelectStackParams, sc StackConfig) (string, error)
func HandleServicesTool ¶
func HandleServicesTool(ctx context.Context, loader client.ProjectLoader, params ServicesParams, cli CLIInterface, ec elicitations.Controller, config StackConfig) (string, error)
func HandleSetConfig ¶
func HandleSetConfig(ctx context.Context, loader client.ProjectLoader, params SetConfigParams, cli CLIInterface, ec elicitations.Controller, sc StackConfig) (string, error)
func NewProviderPreparer ¶
func NewProviderPreparer(pc ProviderCreator, ec elicitations.Controller, fc client.FabricClient, sm stacks.Manager) *providerPreparer
Types ¶
type CLIInterface ¶
type CLIInterface interface {
CanIUseProvider(ctx context.Context, fabric *client.GrpcClient, projectName, stackName string, provider client.Provider, serviceCount int) error
ComposeDown(ctx context.Context, projectName string, fabric *client.GrpcClient, provider client.Provider) (string, error)
ComposeUp(ctx context.Context, fabric *client.GrpcClient, provider client.Provider, params cli.ComposeUpParams) (*defangv1.DeployResponse, *compose.Project, error)
ConfigDelete(ctx context.Context, projectName string, provider client.Provider, name string) error
ConfigSet(ctx context.Context, projectName string, provider client.Provider, name, value string) error
Connect(ctx context.Context, cluster string) (*client.GrpcClient, error)
CreatePlaygroundProvider(fabric *client.GrpcClient) client.Provider
GenerateAuthURL(authPort int) string
GetServices(ctx context.Context, projectName string, provider client.Provider) ([]*cli.Service, error)
InteractiveLoginMCP(ctx context.Context, cluster string, mcpClient string) error
ListConfig(ctx context.Context, provider client.Provider, projectName string) (*defangv1.Secrets, error)
LoadProject(ctx context.Context, loader client.Loader) (*compose.Project, error)
LoadProjectNameWithFallback(ctx context.Context, loader client.Loader, provider client.Provider) (string, error)
NewProvider(ctx context.Context, providerId client.ProviderID, client client.FabricClient, stack string) client.Provider
PrintEstimate(mode modes.Mode, estimate *defangv1.EstimateResponse) string
RunEstimate(ctx context.Context, project *compose.Project, fabric *client.GrpcClient, provider client.Provider, providerId client.ProviderID, region string, mode modes.Mode) (*defangv1.EstimateResponse, error)
Tail(ctx context.Context, provider client.Provider, projectName string, options cli.TailOptions) error
}
type CreateAWSStackParams ¶
type CreateAWSStackParams struct {
common.LoaderParams
Name string `json:"stack" jsonschema:"required,description=The name of the stack to use for all tool calls."`
Region string `json:"region" jsonschema:"required,description=The AWS region to create the stack in."`
AWS_Profile string `json:"aws_profile" jsonschema:"required,description=The AWS profile to use when creating the stack."`
Mode string `json:"mode" jsonschema:"enum=affordable,enum=balanced,enum=high_availability,description=The deployment mode for the stack."`
}
type CreateGCPStackParams ¶
type CreateGCPStackParams struct {
common.LoaderParams
Name string `json:"stack" jsonschema:"required,description=The name of the stack to use for all tool calls."`
Region string `json:"region" jsonschema:"required,description=The GCP region to create the stack in."`
GCPProjectID string `json:"gcp_project_id" jsonschema:"required,description=The GCP project ID to use when creating the stack."`
Mode string `json:"mode" jsonschema:"enum=affordable,enum=balanced,enum=high_availability,description=The deployment mode for the stack."`
}
type CurrentStackParams ¶
type CurrentStackParams struct{}
type DefaultToolCLI ¶
type DefaultToolCLI struct{}
func (DefaultToolCLI) CanIUseProvider ¶
func (DefaultToolCLI) CanIUseProvider(ctx context.Context, fabric *client.GrpcClient, projectName, stackName string, provider client.Provider, serviceCount int) error
func (DefaultToolCLI) ComposeDown ¶
func (DefaultToolCLI) ComposeDown(ctx context.Context, projectName string, fabric *client.GrpcClient, provider client.Provider) (string, error)
func (DefaultToolCLI) ComposeUp ¶
func (DefaultToolCLI) ComposeUp(ctx context.Context, fabric *client.GrpcClient, provider client.Provider, params cli.ComposeUpParams) (*defangv1.DeployResponse, *compose.Project, error)
func (DefaultToolCLI) ConfigDelete ¶
func (DefaultToolCLI) Connect ¶
func (DefaultToolCLI) Connect(ctx context.Context, cluster string) (*client.GrpcClient, error)
func (DefaultToolCLI) CreatePlaygroundProvider ¶
func (DefaultToolCLI) CreatePlaygroundProvider(fabric *client.GrpcClient) client.Provider
func (DefaultToolCLI) GenerateAuthURL ¶
func (DefaultToolCLI) GenerateAuthURL(authPort int) string
func (DefaultToolCLI) GetServices ¶
func (DefaultToolCLI) InteractiveLoginMCP ¶
func (DefaultToolCLI) ListConfig ¶
func (DefaultToolCLI) LoadProject ¶
func (DefaultToolCLI) LoadProjectNameWithFallback ¶
func (DefaultToolCLI) NewProvider ¶
func (DefaultToolCLI) NewProvider(ctx context.Context, providerId client.ProviderID, fabric client.FabricClient, stack string) client.Provider
func (DefaultToolCLI) PrintEstimate ¶
func (DefaultToolCLI) PrintEstimate(mode modes.Mode, estimate *defangv1.EstimateResponse) string
func (DefaultToolCLI) RunEstimate ¶
func (DefaultToolCLI) RunEstimate(ctx context.Context, project *compose.Project, fabric *client.GrpcClient, provider client.Provider, providerId client.ProviderID, region string, mode modes.Mode) (*defangv1.EstimateResponse, error)
type DeployParams ¶
type DeployParams struct {
common.LoaderParams
}
type DestroyParams ¶
type DestroyParams struct {
common.LoaderParams
}
type EstimateParams ¶
type EstimateParams struct {
common.LoaderParams
DeploymentMode string `` /* 226-byte string literal not displayed */
Provider string `json:"provider" jsonschema:"required,enum=aws,enum=gcp description=The cloud provider for which to estimate costs."`
Region string `json:"region,omitempty" jsonschema:"description=The region in which to estimate costs."`
}
type ListConfigParams ¶
type ListConfigParams struct {
common.LoaderParams
}
type ListStacksParams ¶
type ListStacksParams struct {
common.LoaderParams
}
type LogsParams ¶
type LogsParams struct {
common.LoaderParams
DeploymentID string `json:"deployment_id,omitempty" jsonschema:"description=Optional: Retrieve logs from a specific deployment."`
Since string `` /* 166-byte string literal not displayed */
Until string `` /* 167-byte string literal not displayed */
}
type ProviderCreator ¶
type ProviderCreator interface {
NewProvider(ctx context.Context, providerId client.ProviderID, client client.FabricClient, stack string) client.Provider
}
type RemoveConfigParams ¶
type RemoveConfigParams struct {
common.LoaderParams
Name string `json:"name" jsonschema:"required"`
}
type SelectStackParams ¶
type SelectStackParams struct {
common.LoaderParams
Stack string `json:"stack" jsonschema:"required,description=The name of the stack to use."`
}
type ServicesParams ¶
type ServicesParams struct {
common.LoaderParams
}
type SetConfigParams ¶
type SetConfigParams struct {
common.LoaderParams
Name string `json:"name" jsonschema:"required"`
Value string `json:"value" jsonschema:"required"`
}
type StackConfig ¶
type StackConfig struct {
Cluster string
Stack *stacks.StackParameters
}
Click to show internal directories.
Click to hide internal directories.