From 7f64dd1cc5273467b9c5143125b8c5437682b587 Mon Sep 17 00:00:00 2001 From: ZanzyTHEbar Date: Thu, 5 Mar 2026 14:25:04 +0000 Subject: [PATCH] refactor(sdk): update dragonscale sdk options, service ops --- pkg/config/config.go | 19 +-------- pkg/dragonscale/sdk/options.go | 10 ----- pkg/dragonscale/sdk/sdk.go | 8 ---- pkg/dragonscale/sdk/service_ops.go | 28 +------------ pkg/dragonscale/sdk/service_ops_extras.go | 50 +---------------------- 5 files changed, 4 insertions(+), 111 deletions(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index 917ea6e12..296ed8c28 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -164,10 +164,6 @@ type AgentDefaults struct { MaxToolIterations int `json:"max_tool_iterations" env:"DRAGONSCALE_AGENTS_DEFAULTS_MAX_TOOL_ITERATIONS"` ContinuityRetention ContinuityRetentionConfig `json:"continuity_retention"` Compaction CompactionConfig `json:"compaction"` - - // Deprecated: Use Sandbox instead. Kept for backward compatibility during migration. - Workspace string `json:"workspace,omitempty" env:"DRAGONSCALE_AGENTS_DEFAULTS_WORKSPACE"` - RestrictToWorkspace bool `json:"restrict_to_workspace,omitempty" env:"DRAGONSCALE_AGENTS_DEFAULTS_RESTRICT_TO_WORKSPACE"` } type ChannelsConfig struct { @@ -659,22 +655,11 @@ func (c *Config) SandboxPath() string { } // RestrictToSandbox returns whether tool file operations should be restricted -// to the sandbox directory. Also checks the deprecated RestrictToWorkspace field. +// to the sandbox directory. func (c *Config) RestrictToSandbox() bool { c.mu.RLock() defer c.mu.RUnlock() - return c.Agents.Defaults.RestrictToSandbox || c.Agents.Defaults.RestrictToWorkspace -} - -// WorkspacePath returns the legacy workspace path for backward compatibility. -// Deprecated: callers should migrate to SandboxPath(). -func (c *Config) WorkspacePath() string { - c.mu.RLock() - defer c.mu.RUnlock() - if c.Agents.Defaults.Workspace != "" { - return expandHome(c.Agents.Defaults.Workspace) - } - return c.SandboxPath() + return c.Agents.Defaults.RestrictToSandbox } // DBPath returns the resolved database path. diff --git a/pkg/dragonscale/sdk/options.go b/pkg/dragonscale/sdk/options.go index 5db5f94cd..556957d03 100644 --- a/pkg/dragonscale/sdk/options.go +++ b/pkg/dragonscale/sdk/options.go @@ -10,16 +10,6 @@ type GatewayOptions struct { Debug bool } -type MigrateOptions struct { - DryRun bool - ConfigOnly bool - WorkspaceOnly bool - Force bool - Refresh bool - OpenClawHome string - DragonscaleHome string -} - type CronAddOptions struct { Name string Message string diff --git a/pkg/dragonscale/sdk/sdk.go b/pkg/dragonscale/sdk/sdk.go index 8e3d15126..7a8e1ca53 100644 --- a/pkg/dragonscale/sdk/sdk.go +++ b/pkg/dragonscale/sdk/sdk.go @@ -33,7 +33,6 @@ type CLIService interface { SecretService DaemonService MemoryService - MigrationService StatusService } @@ -130,11 +129,6 @@ type StatusService interface { Status(context.Context, io.Writer) error } -// MigrationService defines migration operations. -type MigrationService interface { - Migrate(context.Context, MigrateOptions, io.Writer) error -} - // AuthService defines auth lifecycle operations. type AuthService interface { AuthLogin(context.Context, io.Reader, io.Writer, string, bool) error @@ -178,7 +172,6 @@ type DaemonService interface { // MemoryService defines memory system operations. type MemoryService interface { - MemoryMigrateSessions(context.Context, io.Writer) error MemoryDBStatus(context.Context, io.Writer) error } @@ -189,7 +182,6 @@ var ( _ AgentService = (*Service)(nil) _ GatewayService = (*Service)(nil) _ StatusService = (*Service)(nil) - _ MigrationService = (*Service)(nil) _ AuthService = (*Service)(nil) _ CronService = (*Service)(nil) _ SkillsService = (*Service)(nil) diff --git a/pkg/dragonscale/sdk/service_ops.go b/pkg/dragonscale/sdk/service_ops.go index 7478127d8..2c86f5096 100644 --- a/pkg/dragonscale/sdk/service_ops.go +++ b/pkg/dragonscale/sdk/service_ops.go @@ -24,7 +24,6 @@ import ( "github.com/ZanzyTHEbar/dragonscale/pkg/health" "github.com/ZanzyTHEbar/dragonscale/pkg/heartbeat" "github.com/ZanzyTHEbar/dragonscale/pkg/logger" - "github.com/ZanzyTHEbar/dragonscale/pkg/migrate" dragonruntime "github.com/ZanzyTHEbar/dragonscale/pkg/runtime" "github.com/ZanzyTHEbar/dragonscale/pkg/security" "github.com/ZanzyTHEbar/dragonscale/pkg/security/securebus" @@ -75,10 +74,6 @@ func (s *Service) Onboard(ctx context.Context, in io.Reader, out io.Writer) erro return fmt.Errorf("error saving config: %w", err) } - if migErr := migrate.MigrateToXDG(""); migErr != nil { - fmt.Fprintf(out, "Warning: XDG migration failed: %v\n", migErr) - } - s.createWorkspaceTemplates(cfg, out) fmt.Fprintf(out, "%s dragonscale is ready!\n", s.Logo) @@ -111,27 +106,6 @@ func (s *Service) Onboard(ctx context.Context, in io.Reader, out io.Writer) erro return nil } -func (s *Service) Migrate(ctx context.Context, opts MigrateOptions, out io.Writer) error { - _ = ctx - result, err := migrate.Run(migrate.Options{ - DryRun: opts.DryRun, - ConfigOnly: opts.ConfigOnly, - WorkspaceOnly: opts.WorkspaceOnly, - Force: opts.Force, - Refresh: opts.Refresh, - OpenClawHome: opts.OpenClawHome, - DragonScaleHome: opts.DragonscaleHome, - }) - if err != nil { - return err - } - - if !opts.DryRun { - migrate.PrintSummary(result) - } - return nil -} - func (s *Service) Agent(ctx context.Context, in io.Reader, out io.Writer, opts AgentOptions) error { if opts.Debug { logger.SetLevel(logger.DEBUG) @@ -481,7 +455,7 @@ func (s *Service) Status(ctx context.Context, out io.Writer) error { memDBPath := cfg.Memory.DBPath if memDBPath == "" { - memDBPath = filepath.Join(cfg.WorkspacePath(), "memory", "dragonscale.db") + memDBPath = filepath.Join(cfg.SandboxPath(), "memory", "dragonscale.db") } if fi, err := os.Stat(memDBPath); err == nil { fmt.Printf(" DB size: %.1f KB\n", float64(fi.Size())/1024) diff --git a/pkg/dragonscale/sdk/service_ops_extras.go b/pkg/dragonscale/sdk/service_ops_extras.go index 0f8213cde..331bb54d2 100644 --- a/pkg/dragonscale/sdk/service_ops_extras.go +++ b/pkg/dragonscale/sdk/service_ops_extras.go @@ -14,12 +14,9 @@ import ( "syscall" "time" - "github.com/ZanzyTHEbar/dragonscale/pkg" "github.com/ZanzyTHEbar/dragonscale/pkg/config" "github.com/ZanzyTHEbar/dragonscale/pkg/itr" "github.com/ZanzyTHEbar/dragonscale/pkg/logger" - "github.com/ZanzyTHEbar/dragonscale/pkg/memory" - "github.com/ZanzyTHEbar/dragonscale/pkg/memory/delegate" "github.com/ZanzyTHEbar/dragonscale/pkg/security" "github.com/ZanzyTHEbar/dragonscale/pkg/security/securebus" "github.com/ZanzyTHEbar/dragonscale/pkg/skills" @@ -96,11 +93,6 @@ func (s *Service) SkillsListBuiltin(ctx context.Context, out io.Writer) error { return nil } - legacyBuiltin := filepath.Join(filepath.Dir(s.getConfigPath()), "skills") - if err := s.printBuiltinFromPath(out, legacyBuiltin); err == nil { - return nil - } - return fmt.Errorf(`no builtin skills source available`) } @@ -167,7 +159,7 @@ func (s *Service) SkillsInstallBuiltin(ctx context.Context, out io.Writer, works if err != nil { return err } - workspace = cfg.WorkspacePath() + workspace = cfg.SandboxPath() } target := filepath.Join(workspace, "skills") @@ -547,46 +539,6 @@ func (s *Service) DaemonStatus(ctx context.Context, out io.Writer) error { return nil } -func (s *Service) MemoryMigrateSessions(ctx context.Context, out io.Writer) error { - cfg, err := s.LoadConfig() - if err != nil { - return err - } - - dbPath := cfg.Memory.DBPath - if dbPath == "" { - dbPath, err = config.DefaultDBPath() - if err != nil { - return err - } - } - - delegate, err := delegate.NewLibSQLDelegate(dbPath) - if err != nil { - return fmt.Errorf(`memory delegate: %w`, err) - } - defer delegate.Close() - - if err := delegate.Init(context.Background()); err != nil { - return fmt.Errorf(`initialize memory delegate: %w`, err) - } - - result, err := memory.MigrateFileSessions(ctx, delegate, pkg.NAME, filepath.Join(cfg.WorkspacePath(), ".sessions")) - if err != nil { - return err - } - if result == nil { - fmt.Fprintln(out, `No sessions to migrate.`) - return nil - } - - fmt.Fprintf(out, `sessions_found=%d\n`, result.SessionsFound) - fmt.Fprintf(out, `sessions_migrated=%d\n`, result.SessionsMigrated) - fmt.Fprintf(out, `items_created=%d\n`, result.ItemsCreated) - fmt.Fprintf(out, `errors=%d\n`, result.Errors) - return nil -} - func (s *Service) MemoryDBStatus(ctx context.Context, out io.Writer) error { _ = ctx