Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cmd/add.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ import (
"fmt"

"github.com/kdeps/kdeps/pkg/archiver"
"github.com/kdeps/kdeps/pkg/logging"

"github.com/charmbracelet/log"
"github.com/spf13/afero"
"github.com/spf13/cobra"
)

// NewAddCommand creates the 'add' command and passes the necessary dependencies
func NewAddCommand(fs afero.Fs, ctx context.Context, kdepsDir string, logger *log.Logger) *cobra.Command {
func NewAddCommand(fs afero.Fs, ctx context.Context, kdepsDir string, logger *logging.Logger) *cobra.Command {
return &cobra.Command{
Use: "install [package]",
Aliases: []string{"i"},
Expand Down
4 changes: 2 additions & 2 deletions cmd/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ import (

"github.com/kdeps/kdeps/pkg/archiver"
"github.com/kdeps/kdeps/pkg/docker"
"github.com/kdeps/kdeps/pkg/logging"

"github.com/charmbracelet/log"
"github.com/docker/docker/client"
"github.com/kdeps/schema/gen/kdeps"
"github.com/spf13/afero"
"github.com/spf13/cobra"
)

// NewBuildCommand creates the 'build' command and passes the necessary dependencies
func NewBuildCommand(fs afero.Fs, ctx context.Context, kdepsDir string, systemCfg *kdeps.Kdeps, logger *log.Logger) *cobra.Command {
func NewBuildCommand(fs afero.Fs, ctx context.Context, kdepsDir string, systemCfg *kdeps.Kdeps, logger *logging.Logger) *cobra.Command {
return &cobra.Command{
Use: "build [package]",
Aliases: []string{"b"},
Expand Down
4 changes: 2 additions & 2 deletions cmd/new.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ import (
"context"
"fmt"

"github.com/kdeps/kdeps/pkg/logging"
"github.com/kdeps/kdeps/pkg/template"

"github.com/charmbracelet/log"
"github.com/spf13/afero"
"github.com/spf13/cobra"
)

// NewAgentCommand creates the 'new' command and passes the necessary dependencies
func NewAgentCommand(fs afero.Fs, ctx context.Context, kdepsDir string, logger *log.Logger) *cobra.Command {
func NewAgentCommand(fs afero.Fs, ctx context.Context, kdepsDir string, logger *logging.Logger) *cobra.Command {
newCmd := &cobra.Command{
Use: "new [agentName]",
Aliases: []string{"n"},
Expand Down
4 changes: 2 additions & 2 deletions cmd/package.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ import (

"github.com/kdeps/kdeps/pkg/archiver"
"github.com/kdeps/kdeps/pkg/environment"
"github.com/kdeps/kdeps/pkg/logging"
"github.com/kdeps/kdeps/pkg/workflow"

"github.com/charmbracelet/lipgloss"
"github.com/charmbracelet/log"
"github.com/spf13/afero"
"github.com/spf13/cobra"
)
Expand All @@ -23,7 +23,7 @@ var (
)

// NewPackageCommand creates the 'package' command and passes the necessary dependencies
func NewPackageCommand(fs afero.Fs, ctx context.Context, kdepsDir string, env *environment.Environment, logger *log.Logger) *cobra.Command {
func NewPackageCommand(fs afero.Fs, ctx context.Context, kdepsDir string, env *environment.Environment, logger *logging.Logger) *cobra.Command {
return &cobra.Command{
Use: "package [agent-dir]",
Aliases: []string{"p"},
Expand Down
4 changes: 2 additions & 2 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ import (
"context"

"github.com/kdeps/kdeps/pkg/environment"
"github.com/kdeps/kdeps/pkg/logging"
"github.com/kdeps/kdeps/pkg/schema"

"github.com/charmbracelet/log"
"github.com/kdeps/schema/gen/kdeps"
"github.com/spf13/afero"
"github.com/spf13/cobra"
)

// NewRootCommand returns the root command with all subcommands attached
func NewRootCommand(fs afero.Fs, ctx context.Context, kdepsDir string, systemCfg *kdeps.Kdeps, env *environment.Environment, logger *log.Logger) *cobra.Command {
func NewRootCommand(fs afero.Fs, ctx context.Context, kdepsDir string, systemCfg *kdeps.Kdeps, env *environment.Environment, logger *logging.Logger) *cobra.Command {
cobra.EnableCommandSorting = false
rootCmd := &cobra.Command{
Use: "kdeps",
Expand Down
4 changes: 2 additions & 2 deletions cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ import (

"github.com/kdeps/kdeps/pkg/archiver"
"github.com/kdeps/kdeps/pkg/docker"
"github.com/kdeps/kdeps/pkg/logging"

"github.com/charmbracelet/log"
"github.com/docker/docker/client"
"github.com/kdeps/schema/gen/kdeps"
"github.com/spf13/afero"
"github.com/spf13/cobra"
)

// NewRunCommand creates the 'run' command and passes the necessary dependencies
func NewRunCommand(fs afero.Fs, ctx context.Context, kdepsDir string, systemCfg *kdeps.Kdeps, logger *log.Logger) *cobra.Command {
func NewRunCommand(fs afero.Fs, ctx context.Context, kdepsDir string, systemCfg *kdeps.Kdeps, logger *logging.Logger) *cobra.Command {
return &cobra.Command{
Use: "run [package]",
Aliases: []string{"r"},
Expand Down
4 changes: 2 additions & 2 deletions cmd/scaffold.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ package cmd
import (
"fmt"

"github.com/kdeps/kdeps/pkg/logging"
"github.com/kdeps/kdeps/pkg/template"

"github.com/charmbracelet/log"
"github.com/spf13/afero"
"github.com/spf13/cobra"
)

// NewScaffoldCommand creates the 'scaffold' subcommand for generating specific agent files
func NewScaffoldCommand(fs afero.Fs, logger *log.Logger) *cobra.Command {
func NewScaffoldCommand(fs afero.Fs, logger *logging.Logger) *cobra.Command {
return &cobra.Command{
Use: "scaffold [agentName] [fileNames...]",
Short: "Scaffold specific files for an agent",
Expand Down
11 changes: 5 additions & 6 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
"os/signal"
"syscall"

"github.com/charmbracelet/log"
"github.com/kdeps/kdeps/cmd"
"github.com/kdeps/kdeps/pkg/cfg"
"github.com/kdeps/kdeps/pkg/docker"
Expand Down Expand Up @@ -49,7 +48,7 @@ func main() {
}
}

func handleDockerMode(fs afero.Fs, ctx context.Context, env *environment.Environment, logger *log.Logger, cancel context.CancelFunc) {
func handleDockerMode(fs afero.Fs, ctx context.Context, env *environment.Environment, logger *logging.Logger, cancel context.CancelFunc) {
// Initialize Docker system
apiServerMode, err := docker.BootstrapDockerSystem(fs, ctx, env, logger)
if err != nil {
Expand All @@ -76,7 +75,7 @@ func handleDockerMode(fs afero.Fs, ctx context.Context, env *environment.Environ
cleanup(fs, env, apiServerMode, logger)
}

func handleNonDockerMode(fs afero.Fs, ctx context.Context, env *environment.Environment, logger *log.Logger) {
func handleNonDockerMode(fs afero.Fs, ctx context.Context, env *environment.Environment, logger *logging.Logger) {
cfgFile, err := cfg.FindConfiguration(fs, env, logger)
if err != nil {
logger.Error("Error occurred finding configuration")
Expand Down Expand Up @@ -137,7 +136,7 @@ func setupEnvironment(fs afero.Fs) (*environment.Environment, error) {
}

// setupSignalHandler sets up a goroutine to handle OS signals for graceful shutdown.
func setupSignalHandler(cancelFunc context.CancelFunc, fs afero.Fs, env *environment.Environment, apiServerMode bool, logger *log.Logger) {
func setupSignalHandler(cancelFunc context.CancelFunc, fs afero.Fs, env *environment.Environment, apiServerMode bool, logger *logging.Logger) {
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)

Expand All @@ -156,7 +155,7 @@ func setupSignalHandler(cancelFunc context.CancelFunc, fs afero.Fs, env *environ
}

// runGraphResolver prepares and runs the graph resolver.
func runGraphResolver(fs afero.Fs, ctx context.Context, env *environment.Environment, apiServerMode bool, logger *log.Logger) error {
func runGraphResolver(fs afero.Fs, ctx context.Context, env *environment.Environment, apiServerMode bool, logger *logging.Logger) error {
dr, err := resolver.NewGraphResolver(fs, logger, ctx, env, "/agent")
if err != nil {
return fmt.Errorf("failed to create graph resolver: %w", err)
Expand Down Expand Up @@ -187,7 +186,7 @@ func runGraphResolver(fs afero.Fs, ctx context.Context, env *environment.Environ
}

// cleanup performs any necessary cleanup tasks before shutting down.
func cleanup(fs afero.Fs, env *environment.Environment, apiServerMode bool, logger *log.Logger) {
func cleanup(fs afero.Fs, env *environment.Environment, apiServerMode bool, logger *logging.Logger) {
logger.Debug("Performing cleanup tasks...")

// Remove any old cleanup flags
Expand Down
3 changes: 1 addition & 2 deletions pkg/archiver/archiver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import (
"github.com/kdeps/kdeps/pkg/resource"
"github.com/kdeps/kdeps/pkg/workflow"

"github.com/charmbracelet/log"
"github.com/cucumber/godog"
"github.com/kr/pretty"
"github.com/spf13/afero"
Expand All @@ -27,7 +26,7 @@ var (
testingT *testing.T
aiAgentDir string
resourcesDir string
logger *log.Logger
logger *logging.Logger
dataDir string
workflowFile string
resourceFile string
Expand Down
6 changes: 3 additions & 3 deletions pkg/archiver/file_ops.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"path/filepath"
"strings"

"github.com/charmbracelet/log"
"github.com/kdeps/kdeps/pkg/logging"
pklWf "github.com/kdeps/schema/gen/workflow"
"github.com/spf13/afero"
)
Expand Down Expand Up @@ -94,7 +94,7 @@ func getFileMD5(fs afero.Fs, filePath string, length int) (string, error) {
}

// Move the original file to a new name with MD5 and copy the latest file
func CopyFile(fs afero.Fs, src, dst string, logger *log.Logger) error {
func CopyFile(fs afero.Fs, src, dst string, logger *logging.Logger) error {
// Check if the destination file exists
if _, err := fs.Stat(dst); err == nil {
// Calculate MD5 for both source and destination files
Expand Down Expand Up @@ -159,7 +159,7 @@ func CopyFile(fs afero.Fs, src, dst string, logger *log.Logger) error {
}

func CopyDataDir(fs afero.Fs, wf pklWf.Workflow, kdepsDir, projectDir, compiledProjectDir, agentName, agentVersion,
agentAction string, processWorkflows bool, logger *log.Logger,
agentAction string, processWorkflows bool, logger *logging.Logger,
) error {
var srcDir, destDir string

Expand Down
8 changes: 4 additions & 4 deletions pkg/archiver/package_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import (
"strings"

"github.com/kdeps/kdeps/pkg/enforcer"
"github.com/kdeps/kdeps/pkg/logging"
"github.com/kdeps/kdeps/pkg/workflow"

"github.com/charmbracelet/log"
pklWf "github.com/kdeps/schema/gen/workflow"
"github.com/spf13/afero"
)
Expand All @@ -26,7 +26,7 @@ type KdepsPackage struct {
Data map[string]map[string][]string `json:"data"` // Data[agentName][version] -> slice of absolute file paths for a specific agent version
}

func ExtractPackage(fs afero.Fs, ctx context.Context, kdepsDir string, kdepsPackage string, logger *log.Logger) (*KdepsPackage, error) {
func ExtractPackage(fs afero.Fs, ctx context.Context, kdepsDir string, kdepsPackage string, logger *logging.Logger) (*KdepsPackage, error) {
logger.Debug("Starting extraction of package", "package", kdepsPackage)

// Create a temporary directory for extraction
Expand Down Expand Up @@ -213,7 +213,7 @@ func ExtractPackage(fs afero.Fs, ctx context.Context, kdepsDir string, kdepsPack
}

// PackageProject compresses the contents of projectDir into a kdeps file in kdepsDir
func PackageProject(fs afero.Fs, wf pklWf.Workflow, kdepsDir, compiledProjectDir string, logger *log.Logger) (string, error) {
func PackageProject(fs afero.Fs, wf pklWf.Workflow, kdepsDir, compiledProjectDir string, logger *logging.Logger) (string, error) {
// Enforce the folder structure
if err := enforcer.EnforceFolderStructure(fs, compiledProjectDir, logger); err != nil {
logger.Error("Failed to enforce folder structure", "error", err)
Expand Down Expand Up @@ -325,7 +325,7 @@ func PackageProject(fs afero.Fs, wf pklWf.Workflow, kdepsDir, compiledProjectDir
}

// Function to search for workflow.pkl file in a given folder
func FindWorkflowFile(fs afero.Fs, folder string, logger *log.Logger) (string, error) {
func FindWorkflowFile(fs afero.Fs, folder string, logger *logging.Logger) (string, error) {
fileName := "workflow.pkl"

// Check if the folder exists and is a directory
Expand Down
10 changes: 5 additions & 5 deletions pkg/archiver/resource_compiler.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ import (
"strings"

"github.com/kdeps/kdeps/pkg/enforcer"
"github.com/kdeps/kdeps/pkg/logging"

"github.com/charmbracelet/log"
pklWf "github.com/kdeps/schema/gen/workflow"
"github.com/spf13/afero"
)

// CompileResources processes .pkl files from the project directory and copies them to the resources directory
func CompileResources(fs afero.Fs, wf pklWf.Workflow, resourcesDir string, projectDir string, logger *log.Logger) error {
func CompileResources(fs afero.Fs, wf pklWf.Workflow, resourcesDir string, projectDir string, logger *logging.Logger) error {
projectResourcesDir := filepath.Join(projectDir, "resources")

if err := CheckAndValidatePklFiles(fs, projectResourcesDir, logger); err != nil {
Expand Down Expand Up @@ -51,7 +51,7 @@ func CompileResources(fs afero.Fs, wf pklWf.Workflow, resourcesDir string, proje
}

// processResourcePklFiles processes a .pkl file and writes modifications to the resources directory
func processResourcePklFiles(fs afero.Fs, file string, wf pklWf.Workflow, resourcesDir string, logger *log.Logger) error {
func processResourcePklFiles(fs afero.Fs, file string, wf pklWf.Workflow, resourcesDir string, logger *logging.Logger) error {
name, version := wf.GetName(), wf.GetVersion()

readFile, err := fs.Open(file)
Expand Down Expand Up @@ -224,7 +224,7 @@ func processResourcePklFiles(fs afero.Fs, file string, wf pklWf.Workflow, resour
}

// writeProcessedFile writes the processed .pkl content to the resources directory.
func writeProcessedFile(fs afero.Fs, fileBuffer *bytes.Buffer, resourcesDir, name, action, version string, logger *log.Logger) error {
func writeProcessedFile(fs afero.Fs, fileBuffer *bytes.Buffer, resourcesDir, name, action, version string, logger *logging.Logger) error {
// Check if the action is prefixed by an agent name (e.g., @abcAgent/fooBar4:2.0.0)
if strings.HasPrefix(action, "@") {
// Split by '/' to extract the agent name and action (e.g., @abcAgent/fooBar4:2.0.0 -> abcAgent, fooBar4:2.0.0)
Expand Down Expand Up @@ -261,7 +261,7 @@ func writeProcessedFile(fs afero.Fs, fileBuffer *bytes.Buffer, resourcesDir, nam
return nil
}

func CheckAndValidatePklFiles(fs afero.Fs, projectResourcesDir string, logger *log.Logger) error {
func CheckAndValidatePklFiles(fs afero.Fs, projectResourcesDir string, logger *logging.Logger) error {
// Check if the project resources directory exists
if _, err := fs.Stat(projectResourcesDir); err != nil {
logger.Error("No resource directory found! Exiting!")
Expand Down
6 changes: 3 additions & 3 deletions pkg/archiver/version_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ import (
"sort"
"strings"

"github.com/charmbracelet/log"
"github.com/kdeps/kdeps/pkg/logging"
)

// Function to compare version numbers
func compareVersions(versions []string, logger *log.Logger) string {
func compareVersions(versions []string, logger *logging.Logger) string {
logger.Debug("Comparing versions", "versions", versions)
sort.Slice(versions, func(i, j int) bool {
// Split the version strings into parts
Expand All @@ -35,7 +35,7 @@ func compareVersions(versions []string, logger *log.Logger) string {
return latestVersion
}

func getLatestVersion(directory string, logger *log.Logger) (string, error) {
func getLatestVersion(directory string, logger *logging.Logger) (string, error) {
var versions []string

// Walk through the directory to collect version names
Expand Down
8 changes: 5 additions & 3 deletions pkg/archiver/version_utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ import (
"path/filepath"
"testing"

"github.com/charmbracelet/log"
"github.com/kdeps/kdeps/pkg/logging"
"github.com/stretchr/testify/assert"
)

// Test for compareVersions
func TestCompareVersions(t *testing.T) {
logger := log.New(os.Stdout)
logging.CreateLogger()
logger := logging.GetLogger()

tests := []struct {
name string
Expand All @@ -38,7 +39,8 @@ func TestCompareVersions(t *testing.T) {

// Test for getLatestVersion
func TestGetLatestVersion(t *testing.T) {
logger := log.New(os.Stdout)
logging.CreateLogger()
logger := logging.GetLogger()

// Set up a temporary directory with versioned subdirectories
tempDir := t.TempDir()
Expand Down
Loading
Loading