Capabilities
Session.Capabilities on the one SDK, pkg/abox.
Prints protocol and feature flags. Exit 1 if the guest is below protocol 4 (Open already rejects that).
CLI
The CLI does not print capability flags. A TUI or exec session already requires protocol 4; older disks fail at start.
--probe-vm is the exception: it still lists files on a pre-protocol-4 guest.
abox --probe-vm # list files even on an old disk
abox # fails if guest < protocol 4
abox --resume <old-id> # same; rebuild then Open a new session
Rebuild: make build && make image-update. Errors.
SDK
package main
import (
"context"
"fmt"
"os"
"github.com/AdminTurnedDevOps/ABox/pkg/abox"
)
func main() {
ctx := context.Background()
sess, err := abox.Open(ctx, abox.Options{})
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
defer sess.Close()
c := sess.Capabilities()
fmt.Printf("protocol=%d cancel=%v rich=%v turn_opts=%v approvals=%v mcp_broker=%v\n",
c.Protocol, c.Cancel, c.RichEvents, c.TurnOptions, c.Approvals, c.MCPBroker)
if c.Protocol < 4 {
fmt.Fprintln(os.Stderr, "rebuild guest: make build && make image-update, then Open a new session")
os.Exit(1)
}
}