Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
29 lines
704 B
Go
29 lines
704 B
Go
package workspace
|
|
|
|
import (
|
|
"context"
|
|
"os/exec"
|
|
)
|
|
|
|
// AppShellAdapter adapts the stable POSIX script contract to the host
|
|
// platform. Callers own lifecycle and environment setup; implementations only
|
|
// decide how a package script is invoked.
|
|
type AppShellAdapter interface {
|
|
ValidateScript(string) error
|
|
Command(context.Context, string) (command *exec.Cmd, binDirs []string, err error)
|
|
EnvironmentOverrides() []string
|
|
}
|
|
|
|
type platformAppShellAdapter struct{}
|
|
|
|
func NewPlatformAppShellAdapter() AppShellAdapter {
|
|
return platformAppShellAdapter{}
|
|
}
|
|
|
|
func resolveAppShellAdapter(adapter AppShellAdapter) AppShellAdapter {
|
|
if adapter != nil {
|
|
return adapter
|
|
}
|
|
return platformAppShellAdapter{}
|
|
}
|