Merge branch 'remaint' into remaint-merge

This commit is contained in:
C. Guy Yarvin 2017-10-01 18:50:19 -07:00
commit 5a74064080
14 changed files with 1216 additions and 1546 deletions

View File

@ -141,6 +141,7 @@
++ poke-helm-send-hi (wrap poke-send-hi):from-helm
++ poke-helm-send-ask (wrap poke-send-ask):from-helm
++ poke-helm-verb (wrap poke-verb):from-helm
++ poke-helm-nuke (wrap poke-nuke):from-helm
++ poke-helm-begin (wrap poke-begin):from-helm
++ poke-helm-spawn (wrap poke-spawn):from-helm
++ poke-hood-sync (wrap poke-sync):from-kiln

View File

@ -14,11 +14,12 @@
::
[. talk sole]
=> |% :: data structures
++ house {$5 house-5} :: full state
++ house {$6 house-6} :: full state
++ house-any :: app history
$% {$3 house-3} :: 3: talk
{$4 house-4} :: 4: talk
{$5 house-5} :: 5: talk
{$6 house-6} :: 5: talk
== ::
++ house-3 ::
%+ cork house-4 |= house-4 :: modern house with
@ -27,6 +28,9 @@
%+ cork house-5 |= house-5 :: modern house with
+<(shells (~(run by shells) shell-4)) :: no settings
++ house-5 ::
%+ cork house-6 |= house-6 :: modern house with
+<(shells (~(run by shells) shell-5)) :: auto-audience
++ house-6 ::
$: stories/(map knot story) :: conversations
general/(set bone) :: meta-subscribe
outbox/(pair @ud (map @ud thought)) :: urbit outbox
@ -56,14 +60,20 @@
man/knot :: mailbox
count/@ud :: messages shown
say/sole-share :: console state
active/(unit (set partner)) :: active targets
passive/(set partner) :: passive targets
active/{$~ u/(set partner)} :: active targets
$passive-deprecated :: passive targets
owners/register :: presence mirror
harbor/(map knot (pair posture cord)) :: stations mirror
system/cabal :: config mirror
settings/(set knot) :: frontend settings
== ::
++ shell-4 (cork shell |=(shell +<(|8 &9.+<))) :: missing settings
++ shell-5 :: has passive
%+ cork shell |= shell ::
%= +< ::
&6 passive=*(set partner) ::
active *(unit (set partner)) ::
== ::
++ shell-4 (cork shell-5 |=(shell-5 +<(|8 &9.+<))):: missing settings
++ river (pair point point) :: stream definition
++ point :: stream endpoint
$% {$ud p/@ud} :: by number
@ -387,9 +397,7 @@
%+ sh-fact %pro
:+ & %talk-line
^- tape
=+ ^= rew ^- (pair (pair @t @t) (set partner))
?~ active.she
[['(' ')'] passive.she]
=/ rew/(pair (pair @t @t) (set partner))
[['[' ']'] u.active.she]
=+ cha=(~(get by nik) q.rew)
?^ cha ~[u.cha ' ']
@ -400,9 +408,10 @@
++ sh-pact :: update active aud
|= lix/(set partner)
^+ +>
=+ act=?~(lix ~ `(sh-pare lix))
?: =(active.she act) +>.$
sh-prod(active.she act)
=+ act=(sh-pare lix)
?~ act ~|(%no-audience !!)
?: =(active.she `act) +>.$
sh-prod(active.she `act)
::
++ sh-pare :: adjust target list
|= paz/(set partner)
@ -439,7 +448,7 @@
=+ sib=(~(get by ham.system.she) `station`p.tay)
?. |(?=($~ sib) !?=($white p.cordon.u.sib))
+>.$
(sh-poss [tay ~ ~])
(sh-pact [tay ~ ~])
::
++ sh-rend :: print on one line
|= gam/telegram
@ -1092,7 +1101,7 @@
::
++ bind :: %bind
|= {cha/char pan/(unit (set partner))} ^+ ..sh-work
?~ pan $(pan [~ ?~(active.she passive.she u.active.she)])
?~ pan $(pan [~ u.active.she])
=+ ole=(~(get by nik) u.pan)
?: =(ole [~ cha]) ..sh-work
(sh-note:(set-glyph cha u.pan) "bound {<cha>} {<u.pan>}")
@ -1264,7 +1273,7 @@
^+ +>
?- -.act
$det (sh-stir +.act)
$clr (sh-pact ~)
$clr ..sh-sole :: (sh-pact ~) :: XX clear to PM-to-self?
$ret sh-done
==
::
@ -1411,8 +1420,8 @@
==
=+ man=%posts
?: (~(has by stories) man)
(ra-consume-fora-post man pax sup hed txt)
=; new (ra-consume-fora-post:new man pax sup hed txt)
(ra-consume-fora-post man pax hed txt)
=; new (ra-consume-fora-post:new man pax hed txt)
=. ..ra-apply
%+ ra-apply our.hid
:+ %design man
@ -1470,7 +1479,7 @@
|= {man/knot pax/path sup/path txt/@t} ^+ +>
=+ nam=?~(sup "" (trip i.sup)) :: file name
=+ fra=(crip (time-to-id now.hid)) :: url fragment
%^ ra-consume &
%^ ra-consume |
src.hid
:* (shaf %comt eny.hid)
`audience`[[`partner`[%& our.hid man] *envelope %pending] ~ ~]
@ -1546,10 +1555,14 @@
++ ra-console :: console subscribe
|= {her/ship pax/path}
^+ +>
=+ man=`knot`?~(pax (main her) ?>(?=($~ t.pax) i.pax))
=+ ^= she ^- shell
[her man 0 *sole-share ~ [[%& our.hid man] ~ ~] [~ ~] ~ *cabal ~]
sh-abet:~(sh-peer sh ~ she)
=/ man/knot
?+ pax !!
$~ (main her)
{@ta $~} i.pax
==
=/ she/shell
%*(. *shell her her, man man, active `(sy [%& our.hid man] ~))
sh-abet:~(sh-peer sh ~ `shell`she)
::
++ ra-subscribe :: listen to
|= {her/ship pax/path}
@ -2394,9 +2407,12 @@
ra-abet:ra-init:ra
|-
?- -.u.old
$5 [~ ..prep(+<+ u.old)]
$6 [~ ..prep(+<+ u.old)]
$5 =< ^$(-.u.old %6, shells.u.old (~(run by shells.u.old) .))
|= shell-5 ^- shell
+<(passive %passive-deprecated, active ?^(active active `passive))
$4 =< ^$(-.u.old %5, shells.u.old (~(run by shells.u.old) .))
|=(shell-4 `shell`+<(system [system settings=*(set knot)]))
|=(shell-4 `shell-5`+<(system [system settings=*(set knot)]))
$3 =< ^$(-.u.old %4, stories.u.old (~(run by stories.u.old) .))
|=(story-3 `story`+<(cabalers [cabalers glyphers=*(set bone)]))
==

13
gen/hood/nuke.hoon Normal file
View File

@ -0,0 +1,13 @@
:: nuke: reject packets from.
::
:::: /hoon/mount/hood/gen
::
/? 310
::
::::
!:
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{him/@p $~} $~}
==
[%helm-nuke him]

View File

@ -30,6 +30,9 @@
++ hood-init :: report init
$: him/ship ::
== ::
++ hood-nuke :: block/unblock
$: him/ship ::
== ::
++ hood-reset :: reset command
$~ ::
++ helm-verb :: reset command
@ -87,6 +90,10 @@
|= him/ship =< abet
(emit %flog /helm %crud %hax-init leaf+(scow %p him) ~)
::
++ poke-nuke :: initialize
|= him/ship =< abet
(emit %nuke /helm him)
::
++ poke-mass
|= $~ =< abet
(emit %flog /heft %crud %hax-heft ~)
@ -205,7 +212,7 @@
|= {way/wire chr/@tD tan/tank} =< abet
(emit %flog ~ %text chr ' ' ~(ram re tan))
::
++ take-woot :: result of %wont
++ take-woot :: result of %want
|= {way/wire her/ship cop/coop} =< abet
(emit %flog ~ %text "woot: {<[way cop]>}")
--

View File

@ -12,7 +12,7 @@
::
++ grow :: convert to
|%
++ mime [/application/json (as-octs:mimes txt)] :: convert to %mime
++ mime [/application/json (as-octs:mimes txt)] :: convert to %mime
++ txt (crip (en-json jon))
--
++ grab

View File

@ -87,6 +87,7 @@
fat+(ot tor+tors taf+spec ~)
ext+(ot nom+so txe+blob ~)
non+ul
mor+(ar spec)
:: inv+(ot ship+(su fed:ag) party+(su urs:ab) ~)
==
++ tors
@ -161,6 +162,10 @@
$fat (jobe tor+(tors p.a) taf+$(a q.a) ~)
$ext (jobe nom+[%s p.a] txe+(jape (sifo (jam +.a))) ~)
$non ~
$mor :- %a
|- ^- (list json)
?~ p.a ~
[^$(a i.p.a) $(p.a t.p.a)]
:: $inv (jobe ship+(jope p.a) party+[%s q.a] ~)
==
::

View File

@ -3,7 +3,7 @@
::
::
/? 310
/= tub /$ |=({bem/beam *} (flop s.bem))
/= tub /$ |=({bem/beam *} (slag (lent /web) (flop s.bem)))
/= aut
/$ %+ cork fuel:html :: after parsing params,
=, title
@ -16,6 +16,8 @@
|= gas/epic:eyre ^- {? ?} :: check if the query
:- (~(has by qix.gas) 'dbg.nopack') :: dictates separate files
(~(has by qix.gas) 'dbg.nomin') :: and/or unminified assets
/= extras /: /===/ren/tree/head/extras :: additional scripts
/^ (map knot cord) /_ /js/
::
|%
++ cdnjs
@ -46,6 +48,7 @@
;script(type "text/javascript", src "{(cdnjs "react/0.14.6/react")}");
;script(type "text/javascript", src "{(cdnjs "react/0.14.6/react-dom")}");
;script(type "text/javascript", src "{(cdnjs "flux/2.1.1/Flux")}");
;* (turn (~(tap by extras)) |=({@ a/@t} ;script(type "text/javascript"):"{(trip a)}"))
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.js");
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/".
:: "codemirror/4.3.0/mode/markdown/markdown.min.js");

View File

@ -3,7 +3,7 @@
:::: /hoon/tree/urb/ren
::
/? 310
/= hed /# /% /: /===/ren /tree-head/ :: XX static
/= hed /# /% /tree-head/
/= bod /# /% /tree-body/
^- {hed/{@uvH marl} bod/{@uvH marl}}
[hed bod]

File diff suppressed because it is too large Load Diff

View File

@ -390,7 +390,6 @@
+>.$
(dump:(crud %reap u.p.p.+>.sih) %logo ~)
$diff pump:(from ((hard dill-blit) q:`vase`+>+>.sih))
$doff !!
==
::
{$c $note *}

View File

@ -13,7 +13,7 @@
++ move {p/duct q/(wind note gift:able)} :: local move
++ note :: out request $->
$% $: $a :: to %ames
$% {$wont p/sock q/{path *}} ::
$% {$want p/sock q/{path *}} ::
== == ::
$: $b :: to %behn
$% {$wait p/@da} ::
@ -957,7 +957,6 @@
?: ?=($le -.tee) (~(get-ack lens ~) ack)
(get-ack:(ire-ix p.tee) q.tee ack)
::
$doff !!
$diff
?. ?=($json p.p.cuf)
:: ~> %slog.`%*(. >[%backing p.p.cuf %q-p-cuf]< &3.+> (sell q.p.cuf))
@ -1103,7 +1102,7 @@
(pass-note tea [%e %meta :(slop !>(%them) !>(~) vax)])
::
++ ames-gram
|=({him/ship gam/gram} (pass-note ~ %a %wont [our him] [%e -.gam] +.gam))
|=({him/ship gam/gram} (pass-note ~ %a %want [our him] [%e -.gam] +.gam))
::
++ jael-note
|=({tea/whir kyz/mini-jael-task} (pass-note tea %e %mini-jael-task kyz))

View File

@ -1,19 +1,20 @@
:: :: %gall, agent execution
!: :: %gall, agent execution
!? 163
::::
|= pit/vase
=> =~
=, gall
=> =~
|% :::::::::::::::::::::::::::::::::::::::::::::::::::::: rest of arvo
::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ volt ?($low $high) :: voltage
++ torc $@(?($ktbr $gold) {$ktwt p/ship}) :: security control
++ torc $@(?($iron $gold) {$lead p/ship}) :: security control
++ roon :: reverse ames msg
$% {$d p/mark q/*} :: diff (diff)
{$x $~} ::
== ::
++ rook :: forward ames msg
$% {$m p/mark q/*} :: message
{$l p/mark q/path} :: "peel" subscribe
{$s p/path} :: subscribe
{$u $~} :: cancel+unsubscribe
== ::
@ -21,23 +22,36 @@
|% :::::::::::::::::::::::::::::::::::::::::::::::::::::: local arvo
::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ cote :: ++ap note
$% {$meta p/@tas q/vase} ::
{$send p/ship q/cush} ::
$% {$meta p/@tas q/vase} ::
{$send p/ship q/cush} ::
{$hiss p/(unit knot) q/mark r/cage} ::
== ::
++ cove (pair bone (wind cote cuft)) :: internal move
++ move {p/duct q/(wind note-arvo gift:able)} :: typed move
++ move {p/duct q/(wind note-arvo gift-arvo)} :: typed move
-- ::
|% :::::::::::::::::::::::::::::::::::::::::::::::::::::: %gall state
::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ axle-n ?(axle axle-1) :: upgrade path
++ axle-1 {$1 pol/(map ship mast-1)} ::
++ axle-n ?(axle-1 axle-2 axle-3 axle-4) :: upgrade path
++ axle-1 {$1 pol/(map ship mast-1)} ::
++ mast-1 ::
(cork mast |=(mast +<(bum (~(run by bum) seat-1)))) ::
(cork mast-2 |=(mast-2 +<(bum (~(run by bum) seat-1)))) ::
++ seat-1 ::
(cork seat |=(seat +<+)) ::
(cork seat-2 |=(seat-2 +<+)) ::
++ axle-2 {$2 pol/(map ship mast-2)} ::
++ mast-2 (cork mast-3 |=(mast-3 +<+)) ::
++ seat-2 seat-3 ::
++ axle-3 {$3 pol/(map ship mast-3)} ::
++ mast-3 ::
(cork mast-4 |=(mast-4 +<(bum (~(run by bum) seat-3)))) ::
++ seat-3 ::
(cork seat-4 |=(seat-4 +<+)) ::
++ axle-4 axle ::
++ mast-4 mast ::
++ seat-4 seat ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::: state proper
::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ axle :: all state
$: $2 :: state version
$: $4 :: state version
pol/(map ship mast) :: apps by ship
== ::
++ gest :: subscriber data
@ -46,8 +60,9 @@
qel/(map bone @ud) :: queue meter
== ::
++ mast :: ship state
$: sys/duct :: system duct
sap/(map ship scar) :: foreign contacts
$: mak/* :: (deprecated)
sys/duct :: system duct
sap/(map ship scad) :: foreign contacts
bum/(map dude seat) :: running agents
wub/(map dude sofa) :: waiting queue
== ::
@ -56,14 +71,25 @@
q/ship :: attributed to
== ::
++ prey (pair volt ffuc) :: privilege
++ scad :: foreign connection
$: p/@ud :: index
q/(map duct @ud) :: by duct
r/(map @ud duct) :: by index
== ::
++ scar :: opaque input
$: p/@ud :: bone sequence
q/(map duct bone) :: by duct
r/(map bone duct) :: by bone
== ::
== ::
:: ::
:: XX a hack, required to break a subscription loop ::
:: which arises when an invalid mark crashes a diff. ::
:: See usage in ap-misvale. ::
++ misvale-data (set wire) :: subscrs w/ bad marks
++ seat :: agent state
$: vel/worm :: cache
mom/duct :: control duct
$: misvale/misvale-data :: bad reqs
vel/worm :: cache
mom/duct :: control duct
liv/? :: unstopped
toc/torc :: privilege
tyc/stic :: statistics
@ -74,7 +100,7 @@
zam/scar :: opaque ducts
== ::
++ sofa :: queue for blocked
$: kys/(qeu (trel duct prey club)) :: queued tasks
$: kys/(qeu (trel duct prey club)) :: queued kisses
== ::
++ stic :: statistics
$: act/@ud :: change number
@ -94,8 +120,8 @@
|% :::::::::::::::::::::::::::::::::::::::::::::::::::::: state machine
::::::::::::::::::::::::::::::::::::::::::::::::::::::
++ mo
~% %gall-mo +> ~
|_ $: $: our/@p
~% %gall-mo +> ~
|_ $: $: our/@p
hen/duct
moz/(list move)
==
@ -110,7 +136,7 @@
+<+ (~(got by pol.all) our)
==
::
++ mo-abet :: resolve to
++ mo-abet :: resolve to
^+ [*(list move) +>+]
:_ +>+(pol.all (~(put by pol.all) our +<+))
%- flop
@ -197,8 +223,8 @@
++ mo-bold :: wait for dep
|= {byk/beak dap/dude dep/@uvH}
^+ +>
%+ mo-pass [%sys %dep (scot %p p.byk) q.byk dap ~]
[%f %wasp our dep &]
%+ mo-pass [%sys %dep (scot %p p.byk) q.byk dap ~]
[%f %wasp our dep &]
::
++ mo-boot :: create ship
|= {dap/dude how/?($new $old) byk/beak}
@ -209,7 +235,7 @@
[%f %exec our `[byk %core [byk [dap %app ~]]]]
::
++ mo-away :: foreign request
|= {him/ship caz/cush} ::
|= {him/ship caz/cush} ::
^+ +>
:: ~& [%mo-away him caz]
?: ?=($pump -.q.caz)
@ -221,24 +247,22 @@
:: to this returning pump.
::
+>
?: ?=($peer-not -.q.caz)
:: short circuit error
(mo-give %unto %reap (some p.q.caz))
=^ num +>.$ (mo-bale him)
=+ ^= roc ^- rook
?- -.q.caz
$peel !!
$poke [%m p.p.q.caz q.q.p.q.caz]
$pull [%u ~]
$puff !!
$punk !!
$peel [%l p.q.caz q.q.caz]
$peer [%s p.q.caz]
==
=+ ^= dak
?+ -.q.caz !!
$poke %k
$pull %l
$peer %r
==
%+ mo-pass
[%sys %way ~]
`note-arvo`[%a %wont [our him] [%g dak p.caz ~] [42 roc]]
%+ mo-pass
[%sys %way -.q.caz ~]
`note-arvo`[%a %want [our him] [%g %ge p.caz ~] [num roc]]
::
++ mo-baal :: error convert a
|= art/(unit ares)
@ -252,16 +276,39 @@
`[[%leaf (trip p.u.ars)] q.u.ars]
::
++ mo-awed :: foreign response
|= {him/ship why/?($peer $poke $pull) art/(unit ares)}
|= {him/ship why/?($peer $peel $poke $pull) art/(unit ares)}
^+ +>
:: ~& [%mo-awed him why art]
=+ tug=(mo-baba (mo-baal art))
?- why
$peel (mo-give %unto %reap tug)
$peer (mo-give %unto %reap tug)
$poke (mo-give %unto %coup tug)
$pull +>.$
==
::
++ mo-bale :: assign outbone
|= him/ship
^- {@ud _+>}
=+ sad=(fall (~(get by sap) him) `scad`[1 ~ ~])
=+ nom=(~(get by q.sad) hen)
?^ nom [u.nom +>.$]
:- p.sad
%_ +>.$
sap
%+ ~(put by sap) him
%_ sad
p +(p.sad)
q (~(put by q.sad) hen p.sad)
r (~(put by r.sad) p.sad hen)
==
==
::
++ mo-ball :: outbone by index
|= {him/ship num/@ud}
^- duct
(~(got by r:(~(got by sap) him)) num)
::
++ mo-come :: handle locally
|= {her/ship caz/cush}
^+ +>
@ -314,30 +361,40 @@
==
::
$red :: diff ack
?> ?=({@ @ $~} t.pax)
?> ?=({$a ?($waft $woot) *} sih)
?> ?=({@ @ @ $~} t.pax)
?. ?=({$a $woot *} sih)
~& [%red-went pax]
+>.$
=+ :* him=(slav %p i.t.pax)
dap=i.t.t.pax
num=(slav %ud i.t.t.t.pax)
==
=> .(pax `path`[%req t.pax])
?- +<.sih
$waft
~& %red-waft
=+ fay=((hard (unit (pair mark noun))) r.+>.sih)
(mo-give %unto ?~(fay [%quit ~] [%doff u.fay]))
::
$woot
?~ r.+>.sih
(mo-pass [%sys pax] %g %deal [him our] dap %pump ~)
~& [%diff-bad-ack q.+>.sih]
=. +>.$ (mo-pass [%sys pax] %g %deal [him our] dap %pull ~)
(mo-give %rend [%g %r dap ~] ~)
?~ q.+>.sih
(mo-pass [%sys pax] %g %deal [him our] dap %pump ~)
~& [%diff-bad-ack q.+>.sih] :: should not happen
=. +>.$ (mo-pass [%sys pax] %g %deal [him our] dap %pull ~)
(mo-pass [%sys pax] %a %want [our him] [%g %gh dap ~] [num %x ~])
::
$rep :: reverse request
?> ?=({@ @ @ $~} t.pax)
?> ?=({$f $made *} sih)
=+ :* him=(slav %p i.t.pax)
dap=i.t.t.pax
num=(slav %ud i.t.t.t.pax)
==
?- -.q.+>.sih
$tabl ~|(%made-tabl !!)
$| (mo-give %mack `p.q.+>.sih) :: XX should crash
$& =. +>.$ (mo-give %mack ~) :: XX pump should ack
(mo-give(hen (mo-ball him num)) %unto %diff `cage`p.q.+>.sih)
==
::
$req :: inbound request
?> ?=({@ @ $~} t.pax)
?> ?=({@ @ @ $~} t.pax)
=+ :* him=(slav %p i.t.pax)
dap=i.t.t.pax
num=(slav %ud i.t.t.t.pax)
==
?: ?=({$f $made *} sih)
?- -.q.+>.sih
@ -350,10 +407,12 @@
=+ cuf=`cuft`+>.sih
?- -.cuf
$coup (mo-give %mack p.cuf)
$diff %+ mo-pass [%sys %red t.pax]
[%a %want [our him] [%g %gh dap ~] [num %d p.p.cuf q.q.p.cuf]]
$doff !! :: XX
$quit %+ mo-pass [%sys pax]
[%a %want [our him] [%g %gh dap ~] [num %x ~]]
$reap (mo-give %mack p.cuf)
$diff (mo-give %rend [%g %r dap ~] [~ p.p.cuf q.q.p.cuf])
$doff (mo-give %rend [%g %r dap ~] [~ p.cuf q.cuf])
$quit (mo-give %rend [%g %r dap ~] ~)
==
::
$val :: inbound validate
@ -367,24 +426,12 @@
==
::
$way :: outbound request
?> ?=({$a ?($waft $woot) *} sih)
?- +<.sih
$waft
?> ?=({$g $r @ $~} q.+>.sih)
=+ fay=((hard (unit (pair mark noun))) r.+>.sih)
(mo-give %unto ?~(fay [%quit ~] [%doff u.fay]))
::
$woot
?> ?=({$g @ @ $~} q.+>.sih)
%- mo-awed
:* p.+>.sih
?+ i.t.q.+>.sih !!
$k %poke
$r %peer
$l %pull
==
r.+>.sih
==
?> ?=({$a $woot *} sih)
?> ?=({@ $~} t.pax)
%- mo-awed
:* `ship`p.+>.sih
;;(?($peer $peel $poke $pull) i.t.pax)
+>+.sih
==
==
::
@ -396,47 +443,20 @@
!!
=+ dap=`@tas`i.pax
=+ pry=`prey`[%high [~ (slav %p i.t.pax)]]
=+ pap=(ap-abed:ap dap pry)
=+ pap=(ap-abed:ap dap pry)
=+ vax=(slot 3 `vase`hin)
?- i.t.t.pax
$inn ap-abet:(ap-pour:pap t.t.t.pax (slot 3 `vase`hin))
$inn ap-abet:(ap-pour:pap t.t.t.pax (slot 3 `vase`hin))
$cay ?. ?=({$e $sigh *} q.hin)
~& [%mo-cook-weird q.hin]
~& [%mo-cook-weird-path pax]
+>.$
ap-abet:(ap-purr:pap +<.q.hin t.t.t.pax +>.q.hin)
::
$out ?: ?=({$f $made *} q.hin)
?- -.q.+>.q.hin
$tabl ~|(%made-tabl !!)
$& ap-abet:(ap-pout:pap t.t.t.pax %diff +.q.+>.q.hin)
$|
=+ why=p.q.+>.q.hin
=. why (turn why |=(a/tank rose+[~ "! " ~]^[a]~))
~> %slog.`rose+[" " "[" "]"]^[>%mo-cook-fail< (flop why)]
~& [him=q.q.pry our=our pax=pax]
::
:: here we should crash because the right thing
:: for the client to do is to upgrade so that it
:: understands the server's mark, thus allowing
:: the message to proceed. but ames is not quite
:: ready for promiscuous crashes, so instead we
:: send a pull outward and a quit downward.
:: or not... outgoing dap (XXX) is not in the path.
:: =. +>.$ ap-abet:(ap-pout:pap t.t.t.pax %quit ~)
:: %+ mo-pass
:: [%use pax]
:: [%g %deal [q.q.pry our] XXX %pull ~]
!!
==
?. ?=({$g $unto *} q.hin)
$out ?. ?=({$g $unto *} q.hin)
~& [%mo-cook-weird q.hin]
~& [%mo-cook-weird-path pax]
+>.$
?: ?=($doff +>-.q.hin)
%+ mo-pass
[%use pax]
[%f %exec our ~ byk.pap %vale +.p.q.hin]
ap-abet:(ap-pout:pap t.t.t.pax +>.q.hin)
==
::
@ -474,6 +494,8 @@
%+ mo-pass
[%sys %val (scot %p q.q.pry) dap ~]
[%f %exec our ~ (mo-beak dap) %cast p.cub %$ q.cub]
?: ?=($peer-not -.cub)
(mo-give %unto %reap (some p.cub))
ap-abet:(ap-club:(ap-abed:ap dap pry) cub)
::
++ mo-club :: local action
@ -488,25 +510,29 @@
::
++ mo-gawk :: ames forward
|= {him/@p dap/dude num/@ud rok/rook}
=? +> ?=($u -.rok) (mo-give %mack ~)
%+ mo-pass
[%sys %req (scot %p him) dap ~]
=. +> ?.(?=($u -.rok) +> (mo-give %mack ~))
%+ mo-pass
[%sys %req (scot %p him) dap (scot %ud num) ~]
^- note-arvo
?- -.rok
:: %m [%f %exec our ~ (mo-beak dap) %vale p.rok q.rok]
$m [%g %deal [him our] dap %puff p.rok q.rok]
$l [%g %deal [him our] dap %peel p.rok q.rok]
$s [%g %deal [him our] dap %peer p.rok]
$u [%g %deal [him our] dap %pull ~]
==
::
++ mo-gawp :: response ack
|= {him/@p dap/dude cop/coop}
^+ +>
%+ mo-pass
[%sys %req (scot %p him) dap ~]
?~ cop
[%g %deal [him our] dap %pump ~]
[%g %deal [him our] dap %pull ~]
++ mo-gawd :: ames backward
|= {him/@p dap/dude num/@ud ron/roon}
?- -.ron
$d
%+ mo-pass
[%sys %rep (scot %p him) dap (scot %ud num) ~]
[%f %exec our ~ (mo-beak dap) %vale p.ron q.ron]
::
$x =. +> (mo-give %mack ~) :: XX should crash
(mo-give(hen (mo-ball him num)) %unto %quit ~)
==
::
++ ap :: agent engine
~% %gall-ap +> ~
@ -543,7 +569,7 @@
++ ap-abet :: resolve
^+ +>
=> ap-abut
%_ +>
%_ +>
bum (~(put by bum) dap +<+)
moz :(weld (turn zip ap-aver) (turn dub ap-avid) moz)
==
@ -567,11 +593,11 @@
::
++ ap-aver :: cove to move
|= cov/cove
^- move
^- move
:- (~(got by r.zam) p.cov)
?- -.q.cov
$slip !!
$give
?($slip $sick) !!
$give
?< =(0 p.cov)
?. ?=($diff -.p.q.cov)
[%give %unto p.q.cov]
@ -598,12 +624,12 @@
~/ %ap-call
|= {cog/term arg/vase}
^- {(unit tang) _+>}
=. +> ap-bowl
=. +> ap-bowl
=^ arm +>.$ (ap-farm cog)
?: ?=($| -.arm) [`p.arm +>.$]
=^ zem +>.$ (ap-slam cog p.arm arg)
?: ?=($| -.zem) [`p.zem +>.$]
(ap-sake p.zem)
(ap-sake p.zem)
::
++ ap-peek
|= {ren/@tas tyl/path}
@ -616,10 +642,9 @@
=+ cug=(ap-find %peek ren tyl)
?~ cug
((slog leaf+"peek find fail" >tyl< >mar< ~) [~ ~])
=. ..ap-bowl ap-bowl
=^ arm +>.$ (ap-farm q.u.cug)
?: ?=($| -.arm) ((slog leaf+"peek farm fail" p.arm) [~ ~])
=^ zem +>.$ (ap-slam q.u.cug p.arm !>((slag p.u.cug `path`[ren tyl])))
=^ zem +>.$ (ap-slam q.u.cug p.arm !>((slag p.u.cug `path`[ren tyl])))
?: ?=($| -.zem) ((slog leaf+"peek slam fail" p.zem) [~ ~])
?+ q.p.zem ((slog leaf+"peek bad result" ~) [~ ~])
$~ ~
@ -642,13 +667,14 @@
$peer (ap-peer +.cub)
$puff !!
$punk !!
$peer-not !!
$pull ap-pull
$pump ap-fall
==
::
++ ap-diff :: pour a diff
|= {her/ship pax/path cag/cage}
=. q.cag (spec q.cag)
:: =. q.cag (spec q.cag)
=+ cug=(ap-find [%diff p.cag +.pax])
?~ cug
%. [| her +.pax]
@ -659,7 +685,7 @@
[!>(`path`+.pax) !>(cag)]
[!>((slag (dec p.u.cug) `path`+.pax)) q.cag]
=^ cam +>.$ (ap-call q.u.cug arg)
?^ cam
?^ cam
(ap-pump:(ap-lame q.u.cug u.cam) | her pax)
(ap-pump & her pax)
::
@ -674,12 +700,12 @@
^+ .
?. (~(has by sup.ged) ost) .
=+ soy=(~(get by qel.ged) ost)
?: |(?=($~ soy) =(0 u.soy))
?: |(?=($~ soy) =(0 u.soy))
:: ~& [%ap-fill-under [our dap] q.q.pry ost]
+
=. u.soy (dec u.soy)
:: ~& [%ap-fill-sub [[our dap] q.q.pry ost] u.soy]
?: =(0 u.soy)
?: =(0 u.soy)
+(qel.ged (~(del by qel.ged) ost))
+(qel.ged (~(put by qel.ged) ost u.soy))
::
@ -688,7 +714,7 @@
|= cog/term
^- {(each vase tang) _+>}
=+ pyz=(mule |.((~(mint wa vel) p.hav [%limb cog])))
?: ?=($| -.pyz)
?: ?=($| -.pyz)
:_(+>.$ [%| +.pyz])
:_ +>.$(vel `worm`+>.pyz)
=+ ton=(mock [q.hav q.+<.pyz] ap-sled)
@ -712,7 +738,7 @@
=+ dep=0
|- ^- (unit (pair @ud term))
=+ ^= spu
?~ pax ~
?~ pax ~
$(pax t.pax, dep +(dep), cog (ap-hype cog i.pax))
?^ spu spu
?.((ap-fond cog) ~ `[dep cog])
@ -757,11 +783,11 @@
?^ -.q.vax :_(+>.$ [%| (ap-suck "move: invalid move (bone)")])
?@ +.q.vax :_(+>.$ [%| (ap-suck "move: invalid move (card)")])
=+ hun=(~(get by r.zam) -.q.vax)
?. (~(has by r.zam) -.q.vax)
?. (~(has by r.zam) -.q.vax)
:_(+>.$ [%| (ap-suck "move: invalid card (bone {<-.q.vax>})")])
=^ pec vel (~(spot wa vel) 3 vax)
=^ cav vel (~(slot wa vel) 3 pec)
?+ +<.q.vax
?+ +<.q.vax
(ap-move-pass -.q.vax +<.q.vax cav)
$diff (ap-move-diff -.q.vax cav)
$hiss (ap-move-hiss -.q.vax cav)
@ -825,7 +851,7 @@
[%| (ap-suck "mess: malformed path")]
[%& [(scot %p q.q.vax) %out r.q.vax u.pux] q.q.vax r.q.vax]
::
++ ap-move-pass :: pass general move
++ ap-move-pass :: pass general move
|= {sto/bone wut/* vax/vase}
^- {(each cove tang) _+>}
?. &(?=(@ wut) ((sane %tas) wut))
@ -867,6 +893,11 @@
=+ pux=((soft path) +>+.q.vax)
?. &(?=(^ pux) (levy u.pux (sane %ta)))
[%| (ap-suck "peel: malformed path")]
?: (~(has in misvale) p.p.yep)
=/ err [leaf+"peel: misvalidation encountered"]~
:^ %& sto %pass
:- p.p.yep
[%send q.p.yep r.p.yep %peer-not err]
:^ %& sto %pass
:- p.p.yep
[%send q.p.yep r.p.yep %peel u.mar u.pux]
@ -880,6 +911,11 @@
=+ pux=((soft path) +>.q.vax)
?. &(?=(^ pux) (levy u.pux (sane %ta)))
[%| (ap-suck "peer: malformed path")]
?: (~(has in misvale) p.p.yep)
=/ err [leaf+"peer: misvalidation encountered"]~
:^ %& sto %pass
:- p.p.yep
[%send q.p.yep r.p.yep %peer-not err]
:^ %& sto %pass
:- p.p.yep
[%send q.p.yep r.p.yep %peer u.pux]
@ -952,23 +988,17 @@
++ ap-peer :: apply %peer
|= pax/path
^+ +>
=. +> (ap-peon pax)
=. sup.ged (~(put by sup.ged) ost [q.q.pry pax])
=+ cug=(ap-find %peer pax)
?~ cug +>.$
=+ old=zip
=. zip ~
=^ cam +>.$
=^ cam +>.$
%+ ap-call q.u.cug
!>(`path`(slag p.u.cug pax))
=. zip (weld zip `(list cove)`[[ost %give %reap cam] old])
?^(cam ap-pule +>.$)
::
++ ap-peon :: add subscriber
|= pax/path
%_ +>.$
sup.ged (~(put by sup.ged) ost [q.q.pry pax])
==
::
++ ap-poke :: apply %poke
|= cag/cage
^+ +>
@ -999,6 +1029,11 @@
+>.$
+>.$
::
++ ap-misvale :: broken vale
|= wir/wire
~& [%ap-blocking-misvale wir]
+>(misvale (~(put in misvale) wir))
::
++ ap-pour :: generic take
|= {pax/path vax/vase}
^+ +>
@ -1050,6 +1085,10 @@
=^ gac +>.$ (ap-prop vux)
:- gac
%= +>.$
misvale
~? !=(misvale *misvale-data) misvale-drop+misvale
*misvale-data :: new app might mean new marks
::
dub
:_(dub ?~(gac [%& dap ?~(vux %boot %bump) now] [%| u.gac]))
==
@ -1057,7 +1096,7 @@
++ ap-prop :: install
|= vux/(unit vase)
^- {(unit tang) _+>}
?. (ap-fond %prep)
?. (ap-fond %prep)
?~ vux
`+>.$
=+ [new=p:(slot 13 hav) old=p:(slot 13 u.vux)]
@ -1067,8 +1106,8 @@
=^ tur +>.$
%+ ap-call %prep
?~(vux !>(~) (slop !>(~) (slot 13 u.vux)))
?~ tur
`+>.$
?~ tur
`+>.$
:_(+>.$ `u.tur)
::
++ ap-pule :: silent delete
@ -1087,7 +1126,7 @@
==
=+ cug=(ap-find %pull q.u.wim)
?~ cug +>
=^ cam +>
=^ cam +>
%+ ap-call q.u.cug
!>((slag p.u.cug q.u.wim))
?^ cam (ap-lame q.u.cug u.cam)
@ -1104,7 +1143,7 @@
?~ cug
:: ~& [%ap-take-none cog pax]
+>.$
=^ cam +>.$
=^ cam +>.$
%+ ap-call q.u.cug
=+ den=!>((slag p.u.cug pax))
?~(vux den (slop den u.vux))
@ -1139,7 +1178,7 @@
:- ~
%_ +>.$
zip (weld (flop p.muz) zip)
hav p.sav
hav p.sav
==
::
++ ap-save :: verify core
@ -1177,7 +1216,7 @@
[%leaf (weld "gall: {<dap>}: " msg)]~
::
++ ap-term :: atomic vase
|= {a/@tas b/@}
|= {a/@tas b/@}
^- vase
[[%atom a `b] b]
::
@ -1191,21 +1230,18 @@
$deal `%g
$exec `%f
$flog `%d
$funk `%a
$drop `%c
$info `%c
$merg `%c
$mont `%c
$dirk `%c
$nuke `%a
$ogre `%c
$serv `%e
$them `%e
$wait `%b
$want `%a
$wont `%a :: XX for begin; remove
$warp `%c
$wipe `%f :: XX cache clear
$jaelwomb `%j :: XX name/unpack
==
--
--
@ -1228,45 +1264,40 @@
(mo-away:(mo-abed:mo p.p.q.hic hen) q.p.q.hic q.q.hic)
(mo-come:(mo-abed:mo q.p.q.hic hen) p.p.q.hic q.q.hic)
::
$init
$init
:: ~& [%gall-init p.q.hic]
[~ ..^$(pol.all (~(put by pol.all) p.q.hic [hen ~ ~ ~]))]
::
$went
?. (~(has by pol.all) p.p.q.hic)
~& [%gall-not-ours p.q.hic]
[~ ..^$]
?> ?=({?($k $l $r) @ $~} q.q.hic)
=+ dap=i.t.q.q.hic
=+ our=p.p.q.hic
=+ him=q.p.q.hic
=< mo-abet
(mo-gawp:(mo-abed:mo our hen) him dap s.q.hic)
[~ ..^$(pol.all (~(put by pol.all) p.q.hic %*(. *mast sys hen)))]
::
$west
?. (~(has by pol.all) p.p.q.hic)
~& [%gall-not-ours p.q.hic]
[~ ..^$]
?> ?=({?($k $l $r) @ $~} q.q.hic)
?> ?=({?($ge $gh) @ $~} q.q.hic)
=+ dap=i.t.q.q.hic
=+ our=p.p.q.hic
=+ him=q.p.q.hic
=+ mes=((hard {@ud rook}) s.q.hic)
?: ?=($ge i.q.q.hic)
=+ mes=((hard {@ud rook}) r.q.hic)
=< mo-abet
(mo-gawk:(mo-abed:mo our hen) him dap mes)
=+ mes=((hard {@ud roon}) r.q.hic)
=< mo-abet
(mo-gawk:(mo-abed:mo our hen) him dap mes)
(mo-gawd:(mo-abed:mo our hen) him dap mes)
::
$wegh
:_ ..^$ :_ ~
:^ hen %give %mass
:- %gall
:- %|
%+ turn ~(tap by pol.all) :: XX single-home
%+ turn ~(tap by pol.all) :: XX single-home
|= {our/@ mast} ^- mass
:+ (scot %p our) %|
:~ [%foreign [%& sap]]
[%blocked [%| (sort ~(tap by (~(run by wub) |=(sofa [%& +<]))) aor)]]
[%active [%| (sort ~(tap by (~(run by bum) |=(seat [%& +<]))) aor)]]
==
::
$went !! :: XX fixme
==
::
++ doze :: sleep until
@ -1277,18 +1308,35 @@
++ load :: recreate vane
|= old/axle-n
^+ ..^$
?: ?=($2 -.old) ..^$(all old)
%= $
old => |=(seat-1 `seat`[*worm +<])
=> |=(mast-1 +<(bum (~(run by bum) +>)))
old(- %2, pol (~(run by pol.old) .))
?- -.old
$4 ..^$(all old)
$3
%= $
old ^- axle-4
=> |=(seat-3 `seat-4`[*misvale-data +<])
=> |=(mast-3 +<(bum (~(run by bum) +>)))
old(- %4, pol (~(run by pol.old) .))
==
::
$2
%= $
old ^- axle-3
=> |=(mast-2 [*(unit duct) +<])
old(- %3, pol (~(run by pol.old) .))
==
::
$1
%= $
old ^- axle-2
=> |=(seat-1 `seat-2`[*worm +<])
=> |=(mast-1 +<(bum (~(run by bum) +>)))
old(- %2, pol (~(run by pol.old) .))
==
==
::
++ scry
|= {fur/(unit (set monk)) ren/@tas why/shop syd/desk lot/coin tyl/path}
|= {fur/(unit (set monk)) ren/@tas who/ship syd/desk lot/coin tyl/path}
^- (unit (unit cage))
?. ?=($& -.why) ~
=* who p.why
?: ?& =(%u ren)
=(~ tyl)
=([%$ %da now] lot)
@ -1313,138 +1361,11 @@
|= {tea/wire hen/duct hin/(hypo sign-arvo)}
^+ [p=*(list move) q=..^$]
~| [%gall-take tea]
?> ?=({@ ?($sys $use) *} tea)
?> ?=({@ ?($sys $use) *} tea)
=+ our=(need (slaw %p i.tea))
=+ mow=(mo-abed:mo our hen)
?: ?=($sys i.t.tea)
mo-abet:(mo-cyst:mow t.t.tea q.hin)
?> ?=($use i.t.tea)
mo-abet:(mo-cook:mow t.t.tea hin)
::
++ neon !:
|= our/ship
^- (vane task:able gift:able sign-arvo note-arvo axle axle)
=| axle
=* lex -
|%
++ load |=(axle +>)
++ stay `axle`+<
++ plow
=| $: now/@da
eny/@e
sky/roof
==
|%
++ doze ~
++ peek
|= $: lyc/(unit (set ship))
car/term
bem/beam
==
^- (unit (unit (cask vase)))
=* who p.bem
?: ?& =(%u car)
=(~ s.bem)
=([%da now] r.bem)
(~(has by pol.all) who)
(~(has by bum:(~(got by pol.all) who)) q.bem)
==
``[%null !>(~)]
?. (~(has by pol.all) who)
~
?. =([%da now] r.bem)
~
?. (~(has by bum:(~(got by pol.all) who)) q.bem)
[~ ~]
?. ?=(^ s.bem)
~
(mo-peek:(mo-abed:mo who *duct) q.bem high+`who car s.bem)
::
++ spin
=| $: hen/duct
moz/(list (pair duct (wind note-arvo gift:able)))
==
|%
++ call
|= tac/task:able
^+ +>
=^ vam ..^^$
^+ [p=*(list move) q=..^^$]
?- -.tac
$conf
?. (~(has by pol.all) p.p.tac)
~& [%gall-not-ours p.p.tac]
[~ ..^^$]
mo-abet:(mo-conf:(mo-abed:mo p.p.tac hen) q.p.tac q.tac)
::
$deal
=< mo-abet
?. (~(has by pol.all) q.p.tac) :: either to us
?> (~(has by pol.all) p.p.tac) :: or from us
(mo-away:(mo-abed:mo p.p.tac hen) q.p.tac q.tac)
(mo-come:(mo-abed:mo q.p.tac hen) p.p.tac q.tac)
::
$init
:: ~& [%gall-init p.tac]
[~ ..^^$(pol.all (~(put by pol.all) p.tac [hen ~ ~ ~]))]
::
$went
?. (~(has by pol.all) p.p.tac)
~& [%gall-not-ours p.tac]
[~ ..^^$]
?> ?=({?($k $l $r) @ $~} q.tac)
=+ dap=i.t.q.tac
=+ our=p.p.tac
=+ him=q.p.tac
=< mo-abet
(mo-gawp:(mo-abed:mo our hen) him dap s.tac)
::
$west
?. (~(has by pol.all) p.p.tac)
~& [%gall-not-ours p.tac]
[~ ..^^$]
?> ?=({?($k $l $r) @ $~} q.tac)
=+ dap=i.t.q.tac
=+ our=p.p.tac
=+ him=q.p.tac
=+ mes=((hard {@ud rook}) s.tac)
=< mo-abet
(mo-gawk:(mo-abed:mo our hen) him dap mes)
::
$wegh
:_ ..^^$ :_ ~
:^ hen %give %mass
:- %gall
:- %|
%+ turn ~(tap by pol.all) :: XX single-home
|= {our/@ mast} ^- mass
:+ (scot %p our) %|
:~ :- %foreign
[%& sap]
:- %blocked
[%| (sort ~(tap by (~(run by wub) |=(sofa [%& +<]))) aor)]
:- %active
[%| (sort ~(tap by (~(run by bum) |=(seat [%& +<]))) aor)]
==
==
+>.$(moz (weld `(list move)`vam moz))
::
++ take
|= {tea/wire hin/sign-arvo}
^+ +>
=^ vam ..^^$
^+ [p=*(list move) q=..^^$]
~| [%gall-take tea]
?> ?=({@ ?($sys $use) *} tea)
=+ our=(need (slaw %p i.tea))
=+ mow=(mo-abed:mo our hen)
?: ?=($sys i.t.tea)
mo-abet:(mo-cyst:mow t.t.tea hin)
?> ?=($use i.t.tea)
=+ vax=!>(hin)
mo-abet:(mo-cook:mow t.t.tea -.vax hin)
+>.$(moz (weld `(list move)`vam moz))
--
--
--
?- i.t.tea
$sys mo-abet:(mo-cyst:mow t.t.tea q.hin)
$use mo-abet:(mo-cook:mow t.t.tea hin)
==
--

View File

@ -97,43 +97,53 @@
:: ::::
++ able ^?
|%
++ card :: out cards
$% {$went p/sack q/path r/@ud s/coop} :: response confirm
{$west p/sack q/path r/@ud s/*} :: network request
== ::
++ note :: out request $->
$? $: $d :: to %dill
$% {$flog p/flog:dill} ::
== == ::
$: $a :: to %ames
$% {$kick p/@da} ::
== == ::
$: $g :: to %gall
$% {$deal p/sock q/cush:gall} ::
== == ::
$: @tas :: to any
$% {$init p/@p} ::
{$west p/sack q/path r/*} ::
== == == ::
++ gift :: out result <-$
$% {$drop $~} :: drop packet
{$hear p/lane q/@} :: receive packet
{$east p/sock q/*} :: network response
$% {$hear p/lane q/@} :: receive packet
{$init p/@p} :: report install
{$mass p/mass} :: memory usage
{$send p/lane q/@} :: transmit packet
{$waft p/ship q/path r/*} :: response message
{$wart p/sock q/@tas r/path s/*} :: network request
{$went p/ship q/cape} :: reaction message
{$woot p/ship q/path r/coop} :: e2e reaction message
== ::
++ note :: out request $->
$% {$c card} :: to %clay
{$e card} :: to %eyre
{$g card} :: to %gall
{$woot p/ship q/coop} :: reaction message
== ::
++ sign :: in result _<-
$? $: $g :: from %gall
$% {$unto p/cuft:gall} ::
{$mean p/ares} :: XX old clean up
{$nice $~} ::
== == ::
$: @tas ::
$% {$crud p/@tas q/(list tank)} :: by any
{$mack p/(unit tang)} :: message ack
== == == ::
++ task :: in request ->$
$% :: {$born p/@p q/@pG r/?} :: ticket birth
{$barn $~} :: new unix process
$% {$barn $~} :: new unix process
{$crud p/@tas q/(list tank)} :: error with trace
{$cash p/@p q/buck} :: civil license
:: {$funk p/@p q/@p r/@} :: symtix from/to/key
{$hear p/lane q/@} :: receive packet
{$halo p/lane q/@ r/ares} :: hole with trace
{$hole p/lane q/@} :: packet failed
{$junk p/@} :: entropy
{$kick p/@da} :: wake up
{$nuke p/@p} :: toggle auto-block
{$make p/(unit @t) q/@ud r/@ s/?} :: wild license
{$sith p/@p q/@uw r/@uw} :: user/ticket/secret
{$sith p/@p q/@uw r/?} :: imperial generator
{$wake $~} :: timer activate
{$want p/sock q/path r/*} :: send message
{$wegh $~} :: report memory
{$wont p/sock q/path r/*} :: e2e send message
{$west p/sack q/path r/*} :: network request
{$want p/sock q/path r/*} :: forward message
== ::
-- ::able
::
@ -164,6 +174,19 @@
-- ::nu ::
-- ::acru ::
++ bait {p/skin q/@ud r/dove} :: fmt nrecvd spec
++ bath :: convo per client
$: sop/shed :: not stalled
raz/(map path race) :: statements inbound
ryl/(map path rill) :: statements outbound
== ::
++ boon :: fort output
$% {$beer p/ship q/@uvG} :: gained ownership
{$cake p/sock q/soap r/coop s/duct} :: e2e message result
{$mead p/lane q/rock} :: accept packet
{$milk p/sock q/soap r/*} :: e2e pass message
{$ouzo p/lane q/rock} :: transmit packet
{$wine p/sock q/tape} :: notify user
== ::
++ bray {p/life q/(unit life) r/ship s/@da} :: our parent us now
++ buck {p/mace q/wyll} :: all security data
++ cake {p/sock q/skin r/@} :: top level packet
@ -177,6 +200,12 @@
qim/(map hand code) :: inbound
== ::
++ code @uvI :: symmetric key
++ corn :: flow by server
$: hen/duct :: admin channel
nys/(map flap bait) :: packets incoming
olz/(map flap cape) :: packets completed
wab/(map ship bath) :: relationship
== ::
++ deyd {p/@ q/step r/?} :: sig stage fake?
++ dore :: foreign contact
$: wod/road :: connection to
@ -189,6 +218,14 @@
$: rtt/@dr :: decaying avg rtt
wid/@ud :: logical wdow msgs
== ::
++ fort :: formal state
$: $0 :: version
gad/duct :: client interface
hop/@da :: network boot date
bad/(set @p) :: bad ships
ton/town :: security
zac/(map ship corn) :: flows by server
== ::
++ gcos :: id description
$% {$czar $~} :: 8-bit ship
{$duke p/what} :: 32-bit ship
@ -209,10 +246,8 @@
++ life @ud :: regime number
++ mace (list {p/life q/ring}) :: private secrets
++ meal :: payload
$% {$back p/cape q/flap r/@dr} :: acknowledgment
{$buck p/coop q/flap r/@dr} :: e2e ack
$% {$back p/coop q/flap r/@dr} :: ack
{$bond p/life q/path r/@ud s/*} :: message
{$bund p/life q/path r/@ud s/*} :: e2e message
{$carp p/@ q/@ud r/@ud s/flap t/@} :: skin+inx+cnt+hash
{$fore p/ship q/(unit lane) r/@} :: forwarded packet
== ::
@ -840,6 +875,7 @@
{$pull $~} :: unsubscribe
{$punk p/mark q/cage} :: translated poke
{$pump $~} :: pump yes+no
{$peer-not p/tang} :: poison pill peer
== ::
++ cuft :: internal gift
$% {$coup p/(unit tang)} :: poke result

View File

@ -1287,6 +1287,9 @@ ol > li:before {
content: "—";
margin-right: .6rem; }
#body.post img {
max-width: 100%; }
.urbit .post h1.title,
.urbit .post p.preview,
.urbit.post h1.title,
@ -1309,6 +1312,15 @@ ol > li:before {
.urbit.post img {
border: 12px solid #000; }
.urbit .post img.full-width,
.urbit.post img.full-width {
width: 100%;
border: 0; }
.urbit .post img.inline,
.urbit.post img.inline {
margin-bottom: 0; }
.urbit .post p.preview,
.urbit.post p.preview {
margin-bottom: .6rem;
@ -1361,6 +1373,9 @@ ol > li:before {
.sections h1:first-of-type {
padding-bottom: 1rem; }
.sections .list h1 {
padding-bottom: 0; }
.sections li h1 {
font-size: 1.2rem; }