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
61 lines
1.7 KiB
Go
61 lines
1.7 KiB
Go
package host
|
|
|
|
func CanTransitionInstallation(from, to InstallationState) bool {
|
|
allowed := map[InstallationState]map[InstallationState]bool{
|
|
InstallationStateNotInstalled: {
|
|
InstallationStateInstalling: true,
|
|
},
|
|
InstallationStateInstalling: {
|
|
InstallationStateInstalled: true,
|
|
InstallationStateFailed: true,
|
|
},
|
|
InstallationStateInstalled: {
|
|
InstallationStateUpdating: true,
|
|
InstallationStateUninstalling: true,
|
|
},
|
|
InstallationStateUpdating: {
|
|
InstallationStateInstalled: true,
|
|
InstallationStateFailed: true,
|
|
},
|
|
InstallationStateUninstalling: {
|
|
InstallationStateNotInstalled: true,
|
|
InstallationStateFailed: true,
|
|
},
|
|
InstallationStateFailed: {
|
|
InstallationStateInstalling: true,
|
|
InstallationStateUpdating: true,
|
|
InstallationStateUninstalling: true,
|
|
},
|
|
}
|
|
return allowed[from][to]
|
|
}
|
|
|
|
func CanTransitionAuthorization(from, to AuthorizationState) bool {
|
|
allowed := map[AuthorizationState]map[AuthorizationState]bool{
|
|
AuthorizationStateNotRequired: {},
|
|
AuthorizationStateDisconnected: {
|
|
AuthorizationStatePending: true,
|
|
},
|
|
AuthorizationStatePending: {
|
|
AuthorizationStatePending: true,
|
|
AuthorizationStateConnected: true,
|
|
AuthorizationStateDisconnected: true,
|
|
AuthorizationStateFailed: true,
|
|
},
|
|
AuthorizationStateConnected: {
|
|
AuthorizationStateDisconnected: true,
|
|
AuthorizationStateExpired: true,
|
|
AuthorizationStateFailed: true,
|
|
},
|
|
AuthorizationStateExpired: {
|
|
AuthorizationStatePending: true,
|
|
AuthorizationStateDisconnected: true,
|
|
},
|
|
AuthorizationStateFailed: {
|
|
AuthorizationStatePending: true,
|
|
AuthorizationStateDisconnected: true,
|
|
},
|
|
}
|
|
return allowed[from][to]
|
|
}
|