Add opt-in Tentacle protocol 1.1, explicit remote grants, lifecycle IPC and expiring core leases in both SDKs. Revoke access before update preparation, including failed updates. Add transient secret entries, shared Braille cell export and isolated Xorg recovery experiments with focused tests and documented limitations. Production consent, desktop services and live interoperability remain pending.
30 lines
669 B
Go
30 lines
669 B
Go
// Copyright (c) 2026 Storm Dragon
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
package tentacle
|
|
|
|
func (spec Spec) protocol() Version {
|
|
if spec.SessionEvents {
|
|
return Version{Major: 1, Minor: 1}
|
|
}
|
|
return Version{Major: 1, Minor: 0}
|
|
}
|
|
|
|
func (spec Spec) apis(legacy []string) []string {
|
|
apis := append([]string(nil), legacy...)
|
|
if spec.SessionEvents {
|
|
apis = append(apis, "session-events")
|
|
}
|
|
if len(spec.RemoteGrants) > 0 {
|
|
apis = append(apis, "remote-access")
|
|
}
|
|
return apis
|
|
}
|
|
|
|
func (spec Spec) capabilities(legacy []string) []string {
|
|
if !spec.SessionEvents {
|
|
return legacy
|
|
}
|
|
return append(append([]string{}, legacy[1:]...), spec.RemoteGrants...)
|
|
}
|