- Fix remaining 187 pkg/ files referencing core/cli → core/go - Move SDK library code from internal/cmd/sdk/ → pkg/sdk/ (new package) - Create pkg/rag/helpers.go with convenience functions from internal/cmd/rag/ - Fix pkg/mcp/tools_rag.go to use pkg/rag instead of internal/cmd/rag - Fix pkg/build/buildcmd/cmd_sdk.go and pkg/release/sdk.go to use pkg/sdk - Remove all non-library content: main.go, internal/, cmd/, docker/, scripts/, tasks/, tools/, .core/, .forgejo/, .woodpecker/, Taskfile.yml - Run go mod tidy to trim unused dependencies core/go is now a pure Go package suite (library only). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Claude <developers@lethean.io> Reviewed-on: #3
72 lines
2.1 KiB
Go
72 lines
2.1 KiB
Go
// Package framework provides the Core DI/service framework.
|
|
// Import this package for cleaner access to the framework types.
|
|
//
|
|
// Usage:
|
|
//
|
|
// import "forge.lthn.ai/core/go/pkg/framework"
|
|
//
|
|
// app, _ := framework.New(
|
|
// framework.WithServiceLock(),
|
|
// )
|
|
package framework
|
|
|
|
import (
|
|
"forge.lthn.ai/core/go/pkg/framework/core"
|
|
)
|
|
|
|
// Re-export core types for cleaner imports
|
|
type (
|
|
Core = core.Core
|
|
Option = core.Option
|
|
Message = core.Message
|
|
Query = core.Query
|
|
Task = core.Task
|
|
QueryHandler = core.QueryHandler
|
|
TaskHandler = core.TaskHandler
|
|
Startable = core.Startable
|
|
Stoppable = core.Stoppable
|
|
Config = core.Config
|
|
Display = core.Display
|
|
WindowOption = core.WindowOption
|
|
Features = core.Features
|
|
Contract = core.Contract
|
|
Error = core.Error
|
|
ServiceRuntime[T any] = core.ServiceRuntime[T]
|
|
Runtime = core.Runtime
|
|
ServiceFactory = core.ServiceFactory
|
|
)
|
|
|
|
// Re-export core functions
|
|
var (
|
|
New = core.New
|
|
WithService = core.WithService
|
|
WithName = core.WithName
|
|
WithApp = core.WithApp
|
|
WithAssets = core.WithAssets
|
|
WithServiceLock = core.WithServiceLock
|
|
App = core.App
|
|
E = core.E
|
|
NewRuntime = core.NewRuntime
|
|
NewWithFactories = core.NewWithFactories
|
|
)
|
|
|
|
// NewServiceRuntime creates a new ServiceRuntime for a service.
|
|
func NewServiceRuntime[T any](c *Core, opts T) *ServiceRuntime[T] {
|
|
return core.NewServiceRuntime(c, opts)
|
|
}
|
|
|
|
// ServiceFor retrieves a typed service from the core container by name.
|
|
func ServiceFor[T any](c *Core, name string) (T, error) {
|
|
return core.ServiceFor[T](c, name)
|
|
}
|
|
|
|
// MustServiceFor retrieves a typed service or returns an error if not found.
|
|
func MustServiceFor[T any](c *Core, name string) T {
|
|
return core.MustServiceFor[T](c, name)
|
|
}
|
|
|
|
// Action types
|
|
type (
|
|
ActionServiceStartup = core.ActionServiceStartup
|
|
ActionServiceShutdown = core.ActionServiceShutdown
|
|
)
|