summaryrefslogtreecommitdiffhomepage
path: root/pkg/app
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-18 22:30:41 -0400
committerDax Raad <[email protected]>2025-05-26 12:40:17 -0400
commit99af6146d5def31c59993636d60eb75a483a283b (patch)
treeeb57ed227c15cf9be54bc9f231c83895d812f881 /pkg/app
parent020e0ca039287b73fa33041fbd1bb214e6ccb396 (diff)
downloadopencode-99af6146d5def31c59993636d60eb75a483a283b.tar.gz
opencode-99af6146d5def31c59993636d60eb75a483a283b.zip
openapi
Diffstat (limited to 'pkg/app')
-rw-r--r--pkg/app/app.go53
-rw-r--r--pkg/app/config.go45
-rw-r--r--pkg/app/paths/paths.go15
-rw-r--r--pkg/app/storage.go42
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)
-}