Files
agent-radar 2ed3415fb7
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
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

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{}
}