diff options
| author | Dax Raad <[email protected]> | 2025-05-18 22:30:41 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-26 12:40:17 -0400 |
| commit | 99af6146d5def31c59993636d60eb75a483a283b (patch) | |
| tree | eb57ed227c15cf9be54bc9f231c83895d812f881 /pkg/app | |
| parent | 020e0ca039287b73fa33041fbd1bb214e6ccb396 (diff) | |
| download | opencode-99af6146d5def31c59993636d60eb75a483a283b.tar.gz opencode-99af6146d5def31c59993636d60eb75a483a283b.zip | |
openapi
Diffstat (limited to 'pkg/app')
| -rw-r--r-- | pkg/app/app.go | 53 | ||||
| -rw-r--r-- | pkg/app/config.go | 45 | ||||
| -rw-r--r-- | pkg/app/paths/paths.go | 15 | ||||
| -rw-r--r-- | pkg/app/storage.go | 42 |
4 files changed, 0 insertions, 155 deletions
diff --git a/pkg/app/app.go b/pkg/app/app.go deleted file mode 100644 index cb5f5e027..000000000 --- a/pkg/app/app.go +++ /dev/null @@ -1,53 +0,0 @@ -package app - -import ( - "context" - "log/slog" - "os" - "path/filepath" - - "github.com/sst/opencode/pkg/app/paths" -) - -type App struct { - ctx context.Context - directory string - config *Config - storage *Storage -} - -func New(ctx context.Context, directory string) (*App, error) { - var err error - app := &App{ - directory: directory, - ctx: ctx, - } - - data := paths.Data(directory) - if err := os.MkdirAll(data, 0755); err != nil { - return nil, err - } - - err = os.MkdirAll(paths.Log(directory), 0755) - if err != nil { - return nil, err - } - logFile, err := os.Create(filepath.Join(paths.Log(directory), "opencode.log")) - if err != nil { - return nil, err - } - slog.SetDefault(slog.New(slog.NewTextHandler(logFile, &slog.HandlerOptions{}))) - slog.Info("log created") - - app.config, err = initConfig(directory) - if err != nil { - return nil, err - } - - app.storage, err = initStorage(app) - if err != nil { - return nil, err - } - - return app, nil -} diff --git a/pkg/app/config.go b/pkg/app/config.go deleted file mode 100644 index 046606623..000000000 --- a/pkg/app/config.go +++ /dev/null @@ -1,45 +0,0 @@ -package app - -import ( - "os" - "path/filepath" - - "github.com/marcozac/go-jsonc" -) - -type Config struct { -} - -type ConfigMCP struct { -} - -type ConfigProvider struct { -} - -type ErrInvalidConfig struct { - source error -} - -func (e ErrInvalidConfig) Error() string { - return "ErrInvalidConfig" -} - -func (e ErrInvalidConfig) Unwrap() error { - return e.source -} - -func initConfig(directory string) (*Config, error) { - configPath := filepath.Join(directory, "opencode.jsonc") - _, err := os.Stat(configPath) - result := &Config{} - if err == nil { - data, err := os.ReadFile(configPath) - if err == nil { - err := jsonc.Unmarshal(data, result) - if err != nil { - return nil, ErrInvalidConfig{err} - } - } - } - return result, nil -} diff --git a/pkg/app/paths/paths.go b/pkg/app/paths/paths.go deleted file mode 100644 index 03efc85e0..000000000 --- a/pkg/app/paths/paths.go +++ /dev/null @@ -1,15 +0,0 @@ -package paths - -import "path/filepath" - -func Data(project string) string { - return filepath.Join(project, ".opencode") -} - -func Storage(project string) string { - return filepath.Join(Data(project), "storage") -} - -func Log(project string) string { - return filepath.Join(Data(project), "log") -} diff --git a/pkg/app/storage.go b/pkg/app/storage.go deleted file mode 100644 index 02a753894..000000000 --- a/pkg/app/storage.go +++ /dev/null @@ -1,42 +0,0 @@ -package app - -import ( - "log/slog" - "os" - "path/filepath" - - "github.com/sst/opencode/pkg/app/paths" - "gocloud.dev/blob" - "gocloud.dev/blob/fileblob" -) - -type Storage struct { - bucket *blob.Bucket - app *App - log *slog.Logger -} - -func initStorage(app *App) (*Storage, error) { - var err error - result := &Storage{ - app: app, - } - storageDir := paths.Storage(app.directory) - if err := os.MkdirAll(storageDir, 0755); err != nil { - return nil, err - } - result.bucket, err = fileblob.OpenBucket(storageDir, &fileblob.Options{ - NoTempDir: true, - }) - if err != nil { - return nil, err - } - return result, nil -} - -type StorageWriterOptions = blob.WriterOptions - -func (s *Storage) NewWriter(opts *StorageWriterOptions, path ...string) (*blob.Writer, error) { - joined := filepath.Join(path...) - return s.bucket.NewWriter(s.app.ctx, joined, nil) -} |
