mirror of
https://github.com/urbit/shrub.git
synced 2024-12-22 18:31:44 +03:00
70 lines
1.3 KiB
Plaintext
70 lines
1.3 KiB
Plaintext
|
/+ skeleton
|
||
|
|* [agent=* help=*]
|
||
|
?: ?=(%& help)
|
||
|
~| %default-agent-helpfully-crashing
|
||
|
skeleton
|
||
|
|_ =bowl:gall
|
||
|
++ on-init
|
||
|
`agent
|
||
|
::
|
||
|
++ on-save
|
||
|
!>(~)
|
||
|
::
|
||
|
++ on-load
|
||
|
|= old-state=vase
|
||
|
`agent
|
||
|
::
|
||
|
++ on-poke
|
||
|
|= =cage
|
||
|
~| "unexpected poke to {<dap.bowl>} with mark {<p.cage>}"
|
||
|
!!
|
||
|
::
|
||
|
++ on-watch
|
||
|
|= =path
|
||
|
~| "unexpected subscription to {<dap.bowl>} on path {<path>}"
|
||
|
!!
|
||
|
::
|
||
|
++ on-leave
|
||
|
|= path
|
||
|
`agent
|
||
|
::
|
||
|
++ on-peek
|
||
|
|= =path
|
||
|
~| "unexpected scry into {<dap.bowl>} on path {<path>}"
|
||
|
!!
|
||
|
::
|
||
|
++ on-agent
|
||
|
|= [=wire =sign:agent:gall]
|
||
|
^- (quip card:agent:gall _agent)
|
||
|
?- -.sign
|
||
|
%poke-ack
|
||
|
?~ p.sign
|
||
|
`agent
|
||
|
%- (slog leaf+"poke failed from {<dap.bowl>} on wire {<wire>}" u.p.sign)
|
||
|
`agent
|
||
|
::
|
||
|
%watch-ack
|
||
|
?~ p.sign
|
||
|
`agent
|
||
|
=/ =tank leaf+"subscribe failed from {<dap.bowl>} on wire {<wire>}"
|
||
|
%- (slog tank u.p.sign)
|
||
|
`agent
|
||
|
::
|
||
|
%kick `agent
|
||
|
%fact
|
||
|
~| "unexpected subscription update to {<dap.bowl>} on wire {<wire>}"
|
||
|
~| "with mark {<p.cage.sign>}"
|
||
|
!!
|
||
|
==
|
||
|
::
|
||
|
++ on-arvo
|
||
|
|= [=wire =sign-arvo]
|
||
|
~| "unexpected system response {<-.sign-arvo>} to {<dap.bowl>} on wire {<wire>}"
|
||
|
!!
|
||
|
::
|
||
|
++ on-fail
|
||
|
|= [=term =tang]
|
||
|
%- (slog leaf+"error in {<dap.bowl>}" >term< tang)
|
||
|
`agent
|
||
|
--
|