urbit/pkg/arvo/lib/hood/helm.hoon

333 lines
9.2 KiB
Plaintext
Raw Normal View History

/+ pill
2020-06-16 10:29:17 +03:00
=* card card:agent:gall
|%
+$ state state-2
2021-08-11 19:23:36 +03:00
+$ any-state
$~ *state
$% state-2
state-1
2021-08-11 19:23:36 +03:00
state-0
==
+$ state-2 [%2 =mass-timer]
+$ state-1 [%1 =mass-timer]
+$ state-0 [%0 hoc=(map bone session-0)]
+$ session-0
$: say=*
mud=*
=mass-timer
2020-06-16 10:29:17 +03:00
==
2019-11-14 21:39:50 +03:00
::
+$ mass-timer [way=wire nex=@da tim=@dr]
::
++ state-0-to-1
|= s=state-0
^- state-1
[%1 mass-timer:(~(got by hoc.s) 0)]
::
++ state-1-to-2
|= s=state-1
^- state-2
[%2 +.s]
--
2021-08-18 01:16:48 +03:00
|= [=bowl:gall sat=state]
2020-06-16 10:29:17 +03:00
=| moz=(list card)
|%
++ this .
+$ state ^state :: proxy
+$ any-state ^any-state :: proxy
++ abet [(flop moz) sat]
2020-06-16 10:29:17 +03:00
++ flog |=(=flog:dill (emit %pass /di %arvo %d %flog flog))
++ emit |=(card this(moz [+< moz]))
:: +emil: emit multiple cards
2019-11-14 21:39:50 +03:00
::
2020-06-16 10:29:17 +03:00
++ emil
|= caz=(list card)
^+ this
?~(caz this $(caz t.caz, this (emit i.caz)))
2015-09-02 01:20:17 +03:00
::
++ on-init
(poke-serve [~ /who] %base /gen/who/hoon ~)
::
++ on-load
2020-07-18 02:58:28 +03:00
|= [hood-version=@ud old=any-state]
=< abet
=? old ?=(%0 -.old) (state-0-to-1 old)
=? this ?=(%1 -.old)
(emil -:(poke-serve [~ /who] %base /gen/who/hoon ~))
=? old ?=(%1 -.old) (state-1-to-2 old)
?> ?=(%2 -.old)
this(sat old)
::
++ poke-rekey :: rotate private keys
|= des=@t
=/ fud=(unit feed:jael)
%+ biff
(bind (slaw %uw des) cue)
(soft feed:jael)
=< abet
?~ fud
~& %invalid-private-key
2020-06-16 10:29:17 +03:00
this
=/ fed (need fud)
?@ -.fed
?. =(our.bowl who.fed)
~& [%wrong-private-key-ship who.fed]
this
(emit %pass / %arvo %j %rekey lyf.fed key.fed)
?. =(our.bowl who.fed)
~& [%wrong-private-key-ship who.fed]
2020-06-16 10:29:17 +03:00
this
=| caz=(list card)
%- emil
|-
?~ kyz.fed (flop caz)
%= $
kyz.fed t.kyz.fed
caz [[%pass / %arvo %j %rekey i.kyz.fed] caz]
==
::
++ ames-secret
^- @t
=; pax (crip +:<.^(@p %j pax)>)
/(scot %p our.bowl)/code/(scot %da now.bowl)/(scot %p our.bowl)
::
++ poke-sec-atom
|= [hot=host:eyre dat=@]
?> ?=(%& -.hot)
=. p.hot (scag 2 p.hot) :: ignore subdomain
=. dat (scot %uw (en:crub:crypto ames-secret dat))
=- abet:(emit %pass /write %arvo %c %info -)
2020-12-06 12:03:12 +03:00
=/ byk=path (en-beam byk.bowl(r da+now.bowl) ~)
=+ .^(=tube:clay cc+(welp byk /mime/atom))
=/ =cage atom+(tube !>([/ (as-octs:mimes:html dat)]))
(foal:space:userlib :(welp byk sec+p.hot /atom) cage)
::
++ poke-moon :: rotate moon keys
2020-12-08 03:47:06 +03:00
|= sed=(unit [=ship =udiff:point:jael])
=< abet
?~ sed
2020-06-16 10:29:17 +03:00
this
2019-11-14 21:39:50 +03:00
(emit %pass / %arvo %j %moon u.sed)
2015-09-02 01:20:17 +03:00
::
++ poke-moon-breach
|= =ship
?> ?| =(our src):bowl
=(src.bowl ship)
==
2022-05-15 05:04:13 +03:00
abet:(emit %pass /helm/moon-breach/(scot %p ship) %arvo %b %wait now.bowl)
::
++ take-wake-moon-breach
|= [way=wire error=(unit tang)]
?^ error
%- (slog %take-wake-moon-breach-fail u.error)
abet
?> ?=([@ ~] way)
=/ =ship (slav %p i.way)
?> =(%earl (clan:title ship))
?> =(our.bowl (sein:title our.bowl now.bowl ship))
=/ =rift
+(.^(rift j+/(scot %p our.bowl)/rift/(scot %da now.bowl)/(scot %p ship)))
abet:(emit %pass / %arvo %j %moon ship *id:block:jael %rift rift %.n)
::
++ poke-code
|= act=?(~ %reset)
=< abet
?~ act
this
(emit %pass / %arvo %j %step ~)
::
2015-09-02 01:20:17 +03:00
++ poke-mass
2018-03-19 07:18:20 +03:00
|= ~ =< abet
(emit %pass /heft %arvo %d %flog %heft ~)
2015-09-02 01:20:17 +03:00
::
++ poke-automass
|= recur=@dr
=. mass-timer.sat
[/helm/automass (add now.bowl recur) recur]
abet:(emit %pass way.mass-timer.sat %arvo %b %wait nex.mass-timer.sat)
2019-01-30 03:25:47 +03:00
::
++ poke-cancel-automass
|= ~
abet:(emit %pass way.mass-timer.sat %arvo %b %rest nex.mass-timer.sat)
::
++ poke-meld
|= ~ =< abet
(emit %pass /pack %arvo %d %flog %meld ~)
::
2019-11-23 04:24:42 +03:00
++ poke-pack
|= ~ =< abet
(emit %pass /pack %arvo %d %flog %pack ~)
2019-02-16 12:34:38 +03:00
::
2022-04-09 07:20:02 +03:00
++ poke-pans
|= pans=(list note-arvo)
?~ pans abet
=. this (emit %pass /helm/pans %arvo i.pans)
$(pans t.pans)
::
2020-11-10 09:26:13 +03:00
++ poke-pass
|= =note-arvo =< abet
2020-11-17 23:53:05 +03:00
(emit %pass /helm/pass %arvo note-arvo)
2020-11-10 09:26:13 +03:00
::
++ take-wake-automass
2019-04-13 01:48:22 +03:00
|= [way=wire error=(unit tang)]
?^ error
%- (slog u.error)
~& %helm-wake-automass-fail
abet
=. nex.mass-timer.sat (add now.bowl tim.mass-timer.sat)
=< abet
%- emil
2019-11-14 21:39:50 +03:00
:~ [%pass /heft %arvo %d %flog %crud %hax-heft ~]
[%pass way.mass-timer.sat %arvo %b %wait nex.mass-timer.sat]
==
::
++ poke-send-hi
|= [her=ship mes=(unit tape)] =< abet
2019-11-14 21:39:50 +03:00
%- emit
:* %pass /helm/hi/(scot %p her)
%agent [her %hood] %poke
%helm-hi !>(?~(mes '' (crip u.mes)))
==
2015-09-02 01:20:17 +03:00
::
::
++ poke-hi
|= mes=@t
2017-10-10 06:39:08 +03:00
~| %poke-hi-fail
?: =(%fail mes)
~& %poke-hi-fail
!!
abet:(flog %text "< {<src.bowl>}: {(trip mes)}")
2017-10-10 06:39:08 +03:00
::
++ poke-ames-prod
|= ships=(list ship)
abet:(emit %pass /helm/prod %arvo %a %prod ships)
::
2022-12-15 22:42:45 +03:00
++ poke-ames-snub
|= ships=(list ship)
abet:(emit %pass /helm/snub %arvo %a %snub ships)
::
++ poke-atom
|= ato=@
=+ len=(scow %ud (met 3 ato))
=+ gum=(scow %p (mug ato))
=< abet
(flog %text "< {<src.bowl>}: atom: {len} bytes, mug {gum}")
::
2015-09-02 01:20:17 +03:00
++ coup-hi
|= [pax=path cop=(unit tang)] =< abet
?> ?=([@t ~] pax)
2019-11-14 21:39:50 +03:00
(flog %text "hi {(trip i.pax)} {?~(cop "" "un")}successful")
2015-09-02 01:20:17 +03:00
::
++ poke-trim
|= pri=@ud =< abet
(emit %pass /pack %arvo %d %flog %crop pri)
::
2015-09-02 01:20:17 +03:00
++ poke-verb :: toggle verbose
2018-03-19 07:18:20 +03:00
|= ~ =< abet
2019-11-14 21:39:50 +03:00
(flog %verb ~)
2015-09-02 01:20:17 +03:00
::
++ poke-ames-sift
|= ships=(list ship) =< abet
(emit %pass /helm %arvo %a %sift ships)
::
2019-12-03 02:54:01 +03:00
++ poke-ames-verb
|= veb=(list verb:ames) =< abet
(emit %pass /helm %arvo %a %spew veb)
::
++ poke-gall-sift
|= dudes=(list dude:gall) =< abet
(emit %pass /helm %arvo %g %sift dudes)
::
++ poke-gall-verb
|= veb=(list verb:gall) =< abet
(emit %pass /helm %arvo %g %spew veb)
::
++ poke-ames-wake
|= ~ =< abet
(emit %pass /helm %arvo %a %stir '')
::
++ poke-knob
|= [error-tag=@tas level=?(%hush %soft %loud)] =< abet
2019-11-14 21:39:50 +03:00
(emit %pass /helm %arvo %d %knob error-tag level)
2017-12-12 23:23:00 +03:00
::
2018-10-11 01:26:51 +03:00
++ poke-serve
|= [=binding:eyre =generator:eyre] =< abet
2019-11-14 21:39:50 +03:00
(emit %pass /helm/serv %arvo %e %serve binding generator)
::
++ poke-cors-approve
|= =origin:eyre
=< abet
(emit %pass /helm/cors/approve %arvo %e %approve-origin origin)
::
++ poke-cors-reject
|= =origin:eyre
=< abet
(emit %pass /helm/cors/reject %arvo %e %reject-origin origin)
::
gall: kill old subscriptions on %doff (still has bug) Squashed commit of the following: commit 1e31ab96c14e7506d5cb746d90153cb5658df6e0 Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 19:08:39 2022 +0300 ames: revert prints on bad memos commit c47f9c6053c05da0177f0c64210a88161e8adc98 Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 18:44:56 2022 +0300 Merge fix to +ap-kill-down and use that pattern in +mo-doff. This doesn't seem to work properly, but I'm not sure why so far. commit e696816b8d3ab81534de6c2910d0fd4bebcfb68a Merge: 4edb247cd7 a5f08643ff Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 18:29:42 2022 +0300 Merge branch 'next/arvo' into ted/doff-revival commit 4edb247cd77ac988e5b11806d0d9b5e7cec4a39e Author: Ted Blackman <ted@tlon.io> Date: Sat Aug 6 00:09:04 2022 +0300 ames,gall: fix lopsided bitt/boar state from old doffs commit b21ffd9cfab0987297f3ae4cd16447ed0c3a467e Merge: 7d532afaf8 8eb8a1da29 Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 17:53:15 2022 +0300 Merge branch 'next/arvo' into ted/kill-subs commit 7d532afaf80b773139b66d787c4a446e3d6a9a33 Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 17:52:16 2022 +0300 gall: add subscription nonce to %doff commit f750de9aacdb19f796bff527e220df9c10e41e71 Merge: 38540658b5 aad5fa6fae Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 11:24:55 2022 +0300 Merge branch 'next/arvo' into ted/kill-subs commit 38540658b59d703b0fa162af4f958948b7ee2031 Author: fang <git@fang.io> Date: Thu Jul 28 21:10:57 2022 +0200 gall: account for renaming of subscription state commit c015dc8446fc02729ad492e24635c9c521f09965 Merge: 7c222e4c60 731e27d5a1 Author: Zach Alberico <git@zalberico.com> Date: Thu Jul 28 10:14:24 2022 -0700 Merge branch 'next/arvo' into ted/kill-subs commit 7c222e4c60d946042fd06d858086a883bf8a0f7b Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 14:01:00 2022 +0200 hood: |doff generator commit 8d00cf1bd1b304f30431614b68002827e498d97e Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 13:21:45 2022 +0200 gall: fix compile errors commit 6a1fd360ffc65d8c6f90e491bb21fa7799a98c31 Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 13:01:16 2022 +0200 gall: add %doff task to kill subscriptions
2022-08-10 19:09:47 +03:00
++ poke-doff
|= [dude=(unit dude:gall) ship=(unit ship)]
gall: kill old subscriptions on %doff (still has bug) Squashed commit of the following: commit 1e31ab96c14e7506d5cb746d90153cb5658df6e0 Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 19:08:39 2022 +0300 ames: revert prints on bad memos commit c47f9c6053c05da0177f0c64210a88161e8adc98 Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 18:44:56 2022 +0300 Merge fix to +ap-kill-down and use that pattern in +mo-doff. This doesn't seem to work properly, but I'm not sure why so far. commit e696816b8d3ab81534de6c2910d0fd4bebcfb68a Merge: 4edb247cd7 a5f08643ff Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 18:29:42 2022 +0300 Merge branch 'next/arvo' into ted/doff-revival commit 4edb247cd77ac988e5b11806d0d9b5e7cec4a39e Author: Ted Blackman <ted@tlon.io> Date: Sat Aug 6 00:09:04 2022 +0300 ames,gall: fix lopsided bitt/boar state from old doffs commit b21ffd9cfab0987297f3ae4cd16447ed0c3a467e Merge: 7d532afaf8 8eb8a1da29 Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 17:53:15 2022 +0300 Merge branch 'next/arvo' into ted/kill-subs commit 7d532afaf80b773139b66d787c4a446e3d6a9a33 Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 17:52:16 2022 +0300 gall: add subscription nonce to %doff commit f750de9aacdb19f796bff527e220df9c10e41e71 Merge: 38540658b5 aad5fa6fae Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 11:24:55 2022 +0300 Merge branch 'next/arvo' into ted/kill-subs commit 38540658b59d703b0fa162af4f958948b7ee2031 Author: fang <git@fang.io> Date: Thu Jul 28 21:10:57 2022 +0200 gall: account for renaming of subscription state commit c015dc8446fc02729ad492e24635c9c521f09965 Merge: 7c222e4c60 731e27d5a1 Author: Zach Alberico <git@zalberico.com> Date: Thu Jul 28 10:14:24 2022 -0700 Merge branch 'next/arvo' into ted/kill-subs commit 7c222e4c60d946042fd06d858086a883bf8a0f7b Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 14:01:00 2022 +0200 hood: |doff generator commit 8d00cf1bd1b304f30431614b68002827e498d97e Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 13:21:45 2022 +0200 gall: fix compile errors commit 6a1fd360ffc65d8c6f90e491bb21fa7799a98c31 Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 13:01:16 2022 +0200 gall: add %doff task to kill subscriptions
2022-08-10 19:09:47 +03:00
=< abet
(emit %pass /helm/doff %arvo %g %doff dude ship)
gall: kill old subscriptions on %doff (still has bug) Squashed commit of the following: commit 1e31ab96c14e7506d5cb746d90153cb5658df6e0 Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 19:08:39 2022 +0300 ames: revert prints on bad memos commit c47f9c6053c05da0177f0c64210a88161e8adc98 Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 18:44:56 2022 +0300 Merge fix to +ap-kill-down and use that pattern in +mo-doff. This doesn't seem to work properly, but I'm not sure why so far. commit e696816b8d3ab81534de6c2910d0fd4bebcfb68a Merge: 4edb247cd7 a5f08643ff Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 18:29:42 2022 +0300 Merge branch 'next/arvo' into ted/doff-revival commit 4edb247cd77ac988e5b11806d0d9b5e7cec4a39e Author: Ted Blackman <ted@tlon.io> Date: Sat Aug 6 00:09:04 2022 +0300 ames,gall: fix lopsided bitt/boar state from old doffs commit b21ffd9cfab0987297f3ae4cd16447ed0c3a467e Merge: 7d532afaf8 8eb8a1da29 Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 17:53:15 2022 +0300 Merge branch 'next/arvo' into ted/kill-subs commit 7d532afaf80b773139b66d787c4a446e3d6a9a33 Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 17:52:16 2022 +0300 gall: add subscription nonce to %doff commit f750de9aacdb19f796bff527e220df9c10e41e71 Merge: 38540658b5 aad5fa6fae Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 11:24:55 2022 +0300 Merge branch 'next/arvo' into ted/kill-subs commit 38540658b59d703b0fa162af4f958948b7ee2031 Author: fang <git@fang.io> Date: Thu Jul 28 21:10:57 2022 +0200 gall: account for renaming of subscription state commit c015dc8446fc02729ad492e24635c9c521f09965 Merge: 7c222e4c60 731e27d5a1 Author: Zach Alberico <git@zalberico.com> Date: Thu Jul 28 10:14:24 2022 -0700 Merge branch 'next/arvo' into ted/kill-subs commit 7c222e4c60d946042fd06d858086a883bf8a0f7b Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 14:01:00 2022 +0200 hood: |doff generator commit 8d00cf1bd1b304f30431614b68002827e498d97e Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 13:21:45 2022 +0200 gall: fix compile errors commit 6a1fd360ffc65d8c6f90e491bb21fa7799a98c31 Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 13:01:16 2022 +0200 gall: add %doff task to kill subscriptions
2022-08-10 19:09:47 +03:00
::
2019-11-14 21:39:50 +03:00
++ poke
|= [=mark =vase]
?> ?| ?=(%helm-hi mark)
?=(%helm-moon-breach mark)
=(our src):bowl
==
2019-11-14 21:39:50 +03:00
?+ mark ~|([%poke-helm-bad-mark mark] !!)
%helm-ames-prod =;(f (f !<(_+<.f vase)) poke-ames-prod)
2022-12-15 22:42:45 +03:00
%helm-ames-snub =;(f (f !<(_+<.f vase)) poke-ames-snub)
2020-06-16 10:29:17 +03:00
%helm-ames-sift =;(f (f !<(_+<.f vase)) poke-ames-sift)
%helm-ames-verb =;(f (f !<(_+<.f vase)) poke-ames-verb)
%helm-ames-wake =;(f (f !<(_+<.f vase)) poke-ames-wake)
%helm-atom =;(f (f !<(_+<.f vase)) poke-atom)
%helm-automass =;(f (f !<(_+<.f vase)) poke-automass)
%helm-cancel-automass =;(f (f !<(_+<.f vase)) poke-cancel-automass)
%helm-code =;(f (f !<(_+<.f vase)) poke-code)
%helm-cors-approve =;(f (f !<(_+<.f vase)) poke-cors-approve)
%helm-cors-reject =;(f (f !<(_+<.f vase)) poke-cors-reject)
gall: kill old subscriptions on %doff (still has bug) Squashed commit of the following: commit 1e31ab96c14e7506d5cb746d90153cb5658df6e0 Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 19:08:39 2022 +0300 ames: revert prints on bad memos commit c47f9c6053c05da0177f0c64210a88161e8adc98 Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 18:44:56 2022 +0300 Merge fix to +ap-kill-down and use that pattern in +mo-doff. This doesn't seem to work properly, but I'm not sure why so far. commit e696816b8d3ab81534de6c2910d0fd4bebcfb68a Merge: 4edb247cd7 a5f08643ff Author: Ted Blackman <ted@tlon.io> Date: Wed Aug 10 18:29:42 2022 +0300 Merge branch 'next/arvo' into ted/doff-revival commit 4edb247cd77ac988e5b11806d0d9b5e7cec4a39e Author: Ted Blackman <ted@tlon.io> Date: Sat Aug 6 00:09:04 2022 +0300 ames,gall: fix lopsided bitt/boar state from old doffs commit b21ffd9cfab0987297f3ae4cd16447ed0c3a467e Merge: 7d532afaf8 8eb8a1da29 Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 17:53:15 2022 +0300 Merge branch 'next/arvo' into ted/kill-subs commit 7d532afaf80b773139b66d787c4a446e3d6a9a33 Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 17:52:16 2022 +0300 gall: add subscription nonce to %doff commit f750de9aacdb19f796bff527e220df9c10e41e71 Merge: 38540658b5 aad5fa6fae Author: Ted Blackman <ted@tlon.io> Date: Fri Aug 5 11:24:55 2022 +0300 Merge branch 'next/arvo' into ted/kill-subs commit 38540658b59d703b0fa162af4f958948b7ee2031 Author: fang <git@fang.io> Date: Thu Jul 28 21:10:57 2022 +0200 gall: account for renaming of subscription state commit c015dc8446fc02729ad492e24635c9c521f09965 Merge: 7c222e4c60 731e27d5a1 Author: Zach Alberico <git@zalberico.com> Date: Thu Jul 28 10:14:24 2022 -0700 Merge branch 'next/arvo' into ted/kill-subs commit 7c222e4c60d946042fd06d858086a883bf8a0f7b Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 14:01:00 2022 +0200 hood: |doff generator commit 8d00cf1bd1b304f30431614b68002827e498d97e Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 13:21:45 2022 +0200 gall: fix compile errors commit 6a1fd360ffc65d8c6f90e491bb21fa7799a98c31 Author: Ted Blackman <ted@tlon.io> Date: Thu Jul 28 13:01:16 2022 +0200 gall: add %doff task to kill subscriptions
2022-08-10 19:09:47 +03:00
%helm-doff =;(f (f !<(_+<.f vase)) poke-doff)
%helm-gall-sift =;(f (f !<(_+<.f vase)) poke-gall-sift)
%helm-gall-verb =;(f (f !<(_+<.f vase)) poke-gall-verb)
2019-11-14 21:39:50 +03:00
%helm-hi =;(f (f !<(_+<.f vase)) poke-hi)
2020-06-16 10:29:17 +03:00
%helm-knob =;(f (f !<(_+<.f vase)) poke-knob)
2022-04-09 07:20:02 +03:00
%helm-pans =;(f (f !<(_+<.f vase)) poke-pans)
2019-11-14 21:39:50 +03:00
%helm-mass =;(f (f !<(_+<.f vase)) poke-mass)
%helm-meld =;(f (f !<(_+<.f vase)) poke-meld)
2020-06-16 10:29:17 +03:00
%helm-moon =;(f (f !<(_+<.f vase)) poke-moon)
%helm-moon-breach =;(f (f !<(_+<.f vase)) poke-moon-breach)
%helm-pack =;(f (f !<(_+<.f vase)) poke-pack)
2020-11-10 09:26:13 +03:00
%helm-pass =;(f (f !<(_+<.f vase)) poke-pass)
2020-06-16 10:29:17 +03:00
%helm-rekey =;(f (f !<(_+<.f vase)) poke-rekey)
2019-11-14 21:39:50 +03:00
%helm-send-hi =;(f (f !<(_+<.f vase)) poke-send-hi)
%helm-serve =;(f (f !<(_+<.f vase)) poke-serve)
%helm-trim =;(f (f !<(_+<.f vase)) poke-trim)
2020-06-16 10:29:17 +03:00
%helm-verb =;(f (f !<(_+<.f vase)) poke-verb)
%helm-write-sec-atom =;(f (f !<(_+<.f vase)) poke-sec-atom)
2019-11-14 21:39:50 +03:00
==
::
++ take-agent
2019-11-19 07:36:21 +03:00
|= [=wire =sign:agent:gall]
2019-11-14 21:39:50 +03:00
?+ wire ~|([%helm-bad-take-agent wire -.sign] !!)
2021-07-17 02:54:20 +03:00
[%hi *] ?> ?=(%poke-ack -.sign)
(coup-hi t.wire p.sign)
2019-11-14 21:39:50 +03:00
==
2018-10-11 01:26:51 +03:00
::
++ take-bound
|= [wir=wire success=? binding=binding:eyre] =< abet
2019-11-14 21:39:50 +03:00
(flog %text "bound: {<success>}")
::
2020-06-16 10:29:17 +03:00
++ take-arvo
2019-11-14 21:39:50 +03:00
|= [=wire =sign-arvo]
?+ wire ~|([%helm-bad-take-wire wire +<.sign-arvo] !!)
2022-05-15 05:04:13 +03:00
[%automass *] %+ take-wake-automass t.wire
?>(?=(%wake +<.sign-arvo) +>.sign-arvo)
[%serv *] %+ take-bound t.wire
?>(?=(%bound +<.sign-arvo) +>.sign-arvo)
[%moon-breach *] %+ take-wake-moon-breach t.wire
?>(?=(%wake +<.sign-arvo) +>.sign-arvo)
[%pass *] abet
2019-11-14 21:39:50 +03:00
==
2015-05-11 20:53:47 +03:00
--