Documentation
¶
Overview ¶
Package geminiinstall owns the explicit Gemini notification lifecycle.
Index ¶
- Constants
- func Apply(ctx context.Context, r Request) error
- func ChannelsFromSnapshot(s installruntime.PolicySnapshot, ...) (bool, bool)
- func PrepareNativeSpool(ctx context.Context, controlRoot string) (string, error)
- func RegisteredFromSnapshot(s installruntime.PolicySnapshot, ...) bool
- func ResolveConfigRoot(r Request) (string, error)
- func RevokeChannels(ctx context.Context, controlRoot, runtimeRoot string) error
- func SetupPermission(context.Context, string, bool) (string, error)
- func SnapshotCurrent(root string, expected installruntime.PolicySnapshot) bool
- func StageWindowsShortcut(home, target string, desktop bool, ledger installruntime.Ledger) (*installruntime.File, error)
- func WindowsShortcutReady(controlRoot, executable string) error
- type Action
- type Inspection
- type Request
Constants ¶
const (
GeminiToastAppID = opencodeinstall.GeminiToastAppID
)
GeminiToastAppID is shared by actual shortcut staging/readiness and the trusted Windows toast factory supplied by the business consumer lane.
Variables ¶
This section is empty.
Functions ¶
func Apply ¶
Apply composes the existing transaction kernel with the actual public UAP planner. Only our receipt and binary are ledger files; native settings use ConfigPaths and are read/planned in Prepare under both existing locks.
func ChannelsFromSnapshot ¶
func ChannelsFromSnapshot(s installruntime.PolicySnapshot, root, executable, binding, goos, goarch string) (bool, bool)
func PrepareNativeSpool ¶
func RegisteredFromSnapshot ¶
func RegisteredFromSnapshot(s installruntime.PolicySnapshot, root, executable, binding, goos, goarch string) bool
RegisteredFromSnapshot checks installer-owned receipt/runtime identities and delegates native group ownership to UAP. Native activation and trust are left to Gemini; installation never changes those policies.
func ResolveConfigRoot ¶
ResolveConfigRoot observes the same single profile authority as Apply. GeminiHome is the parent of .gemini; ConfigRoot takes precedence. It does not read settings, create directories, or launch Gemini.
func RevokeChannels ¶
RevokeChannels is the first removal step, before reading the receipt, native settings or delivery assets. Cleanup can then retain a foreign-edit conflict without leaving the old installed command authorized to deliver.
func SnapshotCurrent ¶
func SnapshotCurrent(root string, expected installruntime.PolicySnapshot) bool
SnapshotCurrent is read-only and never acquires another policy lease. It can be used both before an effect and under the effect owner's retained lease.
func StageWindowsShortcut ¶
func StageWindowsShortcut(home, target string, desktop bool, ledger installruntime.Ledger) (*installruntime.File, error)
func WindowsShortcutReady ¶
Types ¶
type Inspection ¶
type Inspection struct {
Status string `json:"status"`
Registered bool `json:"registered"`
Desktop bool `json:"desktop"`
Webhook bool `json:"webhook"`
}
Inspection reports managed registration and recorded channel consent. It does not claim native hook activation, OS permission or destination readiness.
type Request ¶
type Request struct {
Action Action
ControlRoot, RuntimeRoot, BinarySource, NativeSource string
HomeDir, GeminiHome, ConfigRoot string
Desktop, Webhook bool
GOOS, GOARCH string
// Fault forwards the existing kernel test seam; the CLI never supplies it.
Fault func(string) error
}