/- store=demo /+ default-agent, verb, dbug, pull-hook, agentio, resource ~% %demo-pull-hook-top ..part ~ |% +$ card card:agent:gall :: ++ config ^- config:pull-hook :* %demo-store update:store %demo-update %demo-push-hook :: do not change spacing, required by tests 0 0 %.n == :: -- :: :: %- agent:dbug %+ verb | ^- agent:gall %- (agent:pull-hook config) ^- (pull-hook:pull-hook config) |_ =bowl:gall +* this . def ~(. (default-agent this %|) bowl) dep ~(. (default:pull-hook this config) bowl) :: ++ on-init on-init:def ++ on-save !>(~) ++ on-load on-load:def ++ on-poke on-poke:def ++ on-agent on-agent:def ++ on-watch on-watch:def ++ on-leave on-leave:def ++ on-peek on-peek:def ++ on-arvo on-arvo:def ++ on-fail on-fail:def ++ on-pull-nack |= [=resource =tang] ^- (quip card _this) ~& "{}: nacked" %- (slog tang) `this :: ++ on-pull-kick |= =resource ^- (unit path) ~& "{}: kicked" `/ :: ++ resource-for-update |= =vase =+ !<(=update:store vase) ~[p.update] --