/- store=demo /+ default-agent, verb, dbug, push-hook, resource, agentio |% +$ card card:agent:gall :: ++ config ^- config:push-hook :* %demo-store /updates update:store %demo-update %demo-pull-hook :: 0 0 == :: +$ agent (push-hook:push-hook config) -- :: :: %- agent:dbug %+ verb | ^- agent:gall %- (agent:push-hook config) ^- agent |_ =bowl:gall +* this . def ~(. (default-agent this %|) bowl) grp ~(. grpl bowl) io ~(. agentio 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 :: ++ transform-proxy-update |= vas=vase ^- (quip card (unit vase)) ``vas :: ++ resource-for-update |= =vase =+ !<(=update:store vase) ~[p.update] :: ++ take-update |= =vase ^- [(list card) agent] `this :: ++ initial-watch |= [=path rid=resource] ^- vase =+ .^(=update:store %gx (scry:io %demo-store (snoc `^path`log+(en-path:resource rid) %noun))) !>(update) :: --