--- /dev/null
+command learn {
+ command key K {
+ ensure { known_key K }
+ }
+ command dead D {
+ ensure { known_dead D }
+ }
+ command account A {
+ ensure { known_account A }
+ }
+}
+
+command forget {
+ command key K {
+ ensure { not_known_key K }
+ }
+ command dead D {
+ ensure { not_known_dead D }
+ }
+ command account A {
+ ensure { not_known_account A }
+ }
+}
+
+command list {
+ command keys {} {
+ query* { known_key K } { puts $K }
+ }
+ command dead {} {
+ query* { known_dead D } { puts $D }
+ }
+ command accounts {} {
+ query* { known_account A } { puts $A }
+ }
+}
+
+command sync {} { ensure all_synchronized }
+
+command sync A { ensure { account_synchronized A } }
+
+command status {} {
+ query* {
+ known_account A
+ findall Known K { known_installed_on A K }
+ findall Unknown U { unknown_installed_on A U }
+ findall Dead D { dead_installed_on A D }
+ } {
+ puts "Host: $A"
+ foreach k $Known { puts "Known: $k" }
+ foreach u $Unknown { puts "Unknown: $u" }
+ foreach d $Dead { puts "Dead: $d" }
+ }
+}