modes

package
v0.0.0-...-a1f8bd1 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2025 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnalyzeOptions

type AnalyzeOptions struct {
	Detailed bool
	Path     string
	Output   string
	Format   string
}

AnalyzeOptions for developer analyze command

type CoordinatedContent

type CoordinatedContent struct {
	Dockerfile    string
	DockerCompose string
	ClientYAML    string
	ServerYAML    string
	Metadata      map[string]interface{}
}

CoordinatedContent holds the coordinated generated content

type DevOpsMode

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

DevOpsMode handles infrastructure-focused workflows

func NewDevOpsMode

func NewDevOpsMode() *DevOpsMode

NewDevOpsMode creates a new DevOps mode instance

func NewDevOpsModeWithLLM

func NewDevOpsModeWithLLM(llmProvider llm.Provider) *DevOpsMode

NewDevOpsModeWithLLM creates a new DevOps mode instance with LLM support

func (*DevOpsMode) GenerateServerYAMLWithLLM

func (d *DevOpsMode) GenerateServerYAMLWithLLM(opts DevOpsSetupOptions) (string, error)

GenerateServerYAMLWithLLM generates server.yaml using LLM with validation

func (*DevOpsMode) Resources

func (d *DevOpsMode) Resources(ctx context.Context, opts ResourceOptions) error

Resources manages shared infrastructure resources

func (*DevOpsMode) Secrets

func (d *DevOpsMode) Secrets(ctx context.Context, opts SecretsOptions) error

Secrets manages authentication credentials and secrets

func (*DevOpsMode) Setup

func (d *DevOpsMode) Setup(ctx context.Context, opts DevOpsSetupOptions) error

Setup creates infrastructure configuration with interactive wizard

type DevOpsSetupOptions

type DevOpsSetupOptions struct {
	Interactive   bool
	CloudProvider string
	Environments  []string
	Resources     []string
	Templates     []string
	Prefix        string
	Region        string
	OutputDir     string
}

SetupOptions for DevOps setup command

type DeveloperMode

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

DeveloperMode handles application-focused workflows

func NewDeveloperMode

func NewDeveloperMode() *DeveloperMode

NewDeveloperMode creates a new developer mode instance

func NewDeveloperModeWithComponents

func NewDeveloperModeWithComponents(provider llm.Provider, embeddingsDB *embeddings.Database, analyzer *analysis.ProjectAnalyzer) *DeveloperMode

NewDeveloperModeWithComponents creates a new developer mode with provided components (for reuse)

func (*DeveloperMode) Analyze

func (d *DeveloperMode) Analyze(ctx context.Context, opts *AnalyzeOptions) error

Analyze performs detailed project analysis

func (*DeveloperMode) ConfirmDeploymentType

func (d *DeveloperMode) ConfirmDeploymentType(opts *SetupOptions, analysis *analysis.ProjectAnalysis) error

ConfirmDeploymentType confirms the detected deployment type with the user

func (*DeveloperMode) GenerateClientYAMLWithLLM

func (d *DeveloperMode) GenerateClientYAMLWithLLM(opts *SetupOptions, analysis *analysis.ProjectAnalysis) (string, error)

LLM-based file generation functions

func (*DeveloperMode) GenerateClientYAMLWithStreamingLLM

func (d *DeveloperMode) GenerateClientYAMLWithStreamingLLM(opts *SetupOptions, analysis *analysis.ProjectAnalysis, progressCallback llm.StreamCallback) (string, error)

GenerateClientYAMLWithStreamingLLM generates client.yaml with streaming progress feedback

func (*DeveloperMode) GenerateComposeYAMLWithLLM

func (d *DeveloperMode) GenerateComposeYAMLWithLLM(analysis *analysis.ProjectAnalysis) (string, error)

func (*DeveloperMode) GenerateDockerfileWithLLM

func (d *DeveloperMode) GenerateDockerfileWithLLM(analysis *analysis.ProjectAnalysis) (string, error)

func (*DeveloperMode) GenerateMultipleFiles

GenerateMultipleFiles generates multiple coordinated files for a complete project setup

func (*DeveloperMode) GetLLMProvider

func (d *DeveloperMode) GetLLMProvider() llm.Provider

GetLLMProvider returns the LLM provider for use by other components

func (*DeveloperMode) Setup

func (d *DeveloperMode) Setup(ctx context.Context, opts *SetupOptions) error

Setup generates application configuration files

type MultiFileGenerationRequest

type MultiFileGenerationRequest struct {
	ProjectPath     string                    `json:"project_path"`
	SetupOptions    *SetupOptions             `json:"setup_options"`
	ProjectAnalysis *analysis.ProjectAnalysis `json:"project_analysis"`

	// File selection
	GenerateDockerfile    bool `json:"generate_dockerfile"`
	GenerateDockerCompose bool `json:"generate_docker_compose"`
	GenerateClientYAML    bool `json:"generate_client_yaml"`
	GenerateServerYAML    bool `json:"generate_server_yaml"`

	// Generation options
	UseStreaming      bool `json:"use_streaming"`
	ValidateGenerated bool `json:"validate_generated"`

	ForceOverwrite bool `json:"force_overwrite"`
}

MultiFileGenerationRequest represents a request to generate multiple coordinated files

type MultiFileGenerationResult

type MultiFileGenerationResult struct {
	Success bool `json:"success"`

	// Generated content
	DockerfileContent    string `json:"dockerfile_content"`
	DockerComposeContent string `json:"docker_compose_content"`
	ClientYAMLContent    string `json:"client_yaml_content"`
	ServerYAMLContent    string `json:"server_yaml_content"`

	// File paths
	DockerfilePath    string `json:"dockerfile_path"`
	DockerComposePath string `json:"docker_compose_path"`
	ClientYAMLPath    string `json:"client_yaml_path"`
	ServerYAMLPath    string `json:"server_yaml_path"`

	// Generation metadata
	GenerationTime    float64         `json:"generation_time_seconds"`
	ValidationResults map[string]bool `json:"validation_results"`
	Warnings          []string        `json:"warnings"`
	Errors            []string        `json:"errors"`
}

MultiFileGenerationResult contains the results of multi-file generation

type ProgressDisplay

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

ProgressDisplay provides visual feedback during streaming generation

func NewProgressDisplay

func NewProgressDisplay(prefix string) *ProgressDisplay

NewProgressDisplay creates a new progress display

func (*ProgressDisplay) GetContent

func (p *ProgressDisplay) GetContent() string

GetContent returns the current content

func (*ProgressDisplay) IsCompleted

func (p *ProgressDisplay) IsCompleted() bool

IsCompleted returns whether the operation is completed

func (*ProgressDisplay) Reset

func (p *ProgressDisplay) Reset(prefix string)

Reset resets the progress display for reuse

func (*ProgressDisplay) StreamCallback

func (p *ProgressDisplay) StreamCallback() llm.StreamCallback

StreamCallback returns a callback function that displays progress

type ResourceCategory

type ResourceCategory struct {
	Name         string
	Description  string
	Selected     bool
	Category     string
	ResourceType string
	Provider     string
}

ResourceCategory represents a categorized resource for user selection

type ResourceOptions

type ResourceOptions struct {
	Action       string // list, add, remove, update
	ResourceType string
	ResourceName string
	Environment  string
	Interactive  bool
	CopyFromEnv  string
	ScaleUp      bool
	ScaleDown    bool
}

ResourceOptions for DevOps resource management

type SchemaResource

type SchemaResource struct {
	Name         string `json:"name"`
	Type         string `json:"type"`
	Provider     string `json:"provider"`
	Description  string `json:"description"`
	ResourceType string `json:"resourceType"`
	GoPackage    string `json:"goPackage"`
	GoStruct     string `json:"goStruct"`
}

SchemaResource represents a resource from the embedded schemas

type SecretsOptions

type SecretsOptions struct {
	Action      string // init, auth, generate, import, rotate
	Provider    string
	Interactive bool
	SecretNames []string
	Length      int
	ExportTo    string
}

SecretsOptions for DevOps secrets management

type SetupOptions

type SetupOptions struct {
	Interactive    bool
	Environment    string
	Parent         string
	SkipAnalysis   bool
	SkipDockerfile bool
	SkipCompose    bool
	Language       string
	Framework      string
	CloudProvider  string
	OutputDir      string

	// Multi-file generation options
	GenerateAll  bool // Generate all files in one coordinated operation
	UseStreaming bool // Use streaming LLM responses for better UX

	// Deployment type override (if user manually selected)
	DeploymentType string // Override detected deployment type: "static", "single-image", "cloud-compose"

	// Skip all confirmation prompts (useful for MCP/API usage)
	SkipConfirmation bool

	// Force overwrite existing files without prompting (useful for MCP/API usage)
	ForceOverwrite bool
}

SetupOptions for developer setup command

type SimpleSpinner

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

SimpleSpinner provides a basic spinner without progress estimation

func NewSimpleSpinner

func NewSimpleSpinner(message string) *SimpleSpinner

NewSimpleSpinner creates a new simple spinner

func (*SimpleSpinner) Start

func (s *SimpleSpinner) Start()

Start starts the spinner in a goroutine

func (*SimpleSpinner) Stop

func (s *SimpleSpinner) Stop(success bool)

Stop stops the spinner and shows completion

Jump to

Keyboard shortcuts

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