diff --git a/app/talk-agent.hoon b/app/talk-agent.hoon
index dcea570da..0103a3351 100644
--- a/app/talk-agent.hoon
+++ b/app/talk-agent.hoon
@@ -36,11 +36,11 @@
sources/(set partner) ::< our subscriptions
:: partner details ::
remotes/(map partner atlas) ::< remote presences
- mirrors/(map station config) ::< remote configs
+ mirrors/(map circle config) ::< remote configs
:: ui state ::
folks/(map ship human) ::< human identities
- nik/(map (set partner) char) ::< bound station glyphs
- nak/(jug char (set partner)) ::< station glyph lookup
+ nik/(map (set partner) char) ::< bound circle glyphs
+ nak/(jug char (set partner)) ::< circle glyph lookup
cli/shell ::< interaction state
== ::
++ shell ::> console session
@@ -65,11 +65,11 @@
{$peer wire dock path} ::
== ::
++ work ::> interface action
- $% :: station management ::
+ $% :: circle management ::
{$join p/where} ::< subscribe to
{$leave p/where} ::< unsubscribe from
- {$create p/posture q/knot r/cord} ::< create station
- {$delete p/knot q/(unit cord)} ::< delete station
+ {$create p/posture q/knot r/cord} ::< create circle
+ {$delete p/knot q/(unit cord)} ::< delete circle
{$depict p/knot q/cord} ::< change description
{$source p/knot q/(set partner)} ::< add source
{$invite p/knot q/(set ship)} ::< give permission
@@ -88,11 +88,11 @@
{$nick p/(unit ship) q/(unit cord)} ::< un/set/show nick
{$set p/knot} ::< enable setting
{$unset p/knot} ::< disable setting
- :: miscellaneous ::
+ :: miscellaneous ::
{$help $~} ::< print usage info
== ::
++ where (set partner) ::< non-empty audience
- ++ glyphs `wall`~[">=+-" "}),." "\"'`^" "$%&@"] ::< station char pool '
+ ++ glyphs `wall`~[">=+-" "}),." "\"'`^" "$%&@"] ::< circle char pool '
--
::
::> ||
@@ -124,8 +124,8 @@
our
(sein our)
::
-++ inbox ::< reader's station
- ::> produces the name of the station used by this
+++ inbox ::< reader's circle
+ ::> produces the name of the circle used by this
::> reader for all its operations
(main our.bol)
::
@@ -266,38 +266,38 @@
==
::
++ ta-low-confs ::< apply changed confs
- ::> applies new station configurations.
+ ::> applies new circle configurations.
::> because of how this reader only subscribes to
::> the main mailbox, {coy} is always the mailbox's
::> config.
::
- |= {coy/(unit config) cofs/(map station (unit config))}
+ |= {coy/(unit config) cofs/(map circle (unit config))}
^+ +>
::> if possible, update {sources}. if we do, and we
::> gain new ones, update the prompt. (this is to
::> remove the mailbox from the audience after
- ::> creating or joining a new station.)
+ ::> creating or joining a new circle.)
?~ coy ~&(%mailbox-gone !!)
=. +> ::TODO =?
- ?~ (~(dif in sources.u.coy) sources) +>.$
+ ?~ (~(dif in src.u.coy) sources) +>.$
=< sh-done
- %- ~(sh-pact sh(sources sources.u.coy) cli)
- (~(dif in sources.u.coy) sources)
- =. sources sources.u.coy
+ %- ~(sh-pact sh(sources src.u.coy) cli)
+ (~(dif in src.u.coy) sources)
+ =. sources src.u.coy
=. cofs (~(put by cofs) [our.bol inbox] coy)
:: print changes for each config.
=. +>.$
=< sh-done
%+ roll (~(tap by cofs))
- |= {{s/station c/(unit config)} core/_sh}
+ |= {{s/circle c/(unit config)} core/_sh}
%^ ~(sh-low-config core cli)
s (~(get by mirrors) s) c
:: apply config changes to {mirrors}.
=. mirrors
%- ~(gas by *_mirrors)
%+ murn (~(tap by cofs))
- |= {s/station c/(unit config)}
- ^- (unit (pair station config))
+ |= {s/circle c/(unit config)}
+ ^- (unit (pair circle config))
?~(c ~ `[s u.c])
+>.$
::
@@ -351,7 +351,7 @@
::
|= gam/telegram
^+ +>
- =+ old=(~(get by known) p.q.gam)
+ =+ old=(~(get by known) uid.tot.gam)
?~ old
(ta-append gam) ::< add
(ta-revise u.old gam) ::< modify
@@ -364,7 +364,7 @@
%= +>
grams [gam grams]
count +(count)
- known (~(put by known) p.q.gam count)
+ known (~(put by known) uid.tot.gam count)
==
::
++ ta-revise ::< revise message
@@ -514,10 +514,10 @@
==
==
::
- ++ stat ::< local station
+ ++ stat ::< local circle
;~(pfix cen sym)
::
- ++ stan ::< station
+ ++ stan ::< circle
;~ pose
(cold [our.bol inbox] col)
;~(pfix cen (stag our.bol sym))
@@ -589,7 +589,7 @@
::
++ nick (cook crip (stun [1 14] low)) ::< nickname
++ text (cook crip (plus (shim ' ' '~'))) ::< bullets separating
- ++ glyph (mask "/\\\{( ||
- ::> || %station-management
+ ::> || %circle-management
::> ||
::+|
::
@@ -946,7 +946,7 @@
(sh-act %source inbox | pas)
::
++ create ::< %create
- ::> creates station {nom} with specified config.
+ ::> creates circle {nom} with specified config.
::
|= {por/posture nom/knot txt/cord}
^+ ..sh-work
@@ -958,7 +958,7 @@
(join [[%& our.bol nom] ~ ~])
::
++ delete ::< %delete
- ::> deletes our station {nom}, after optionally
+ ::> deletes our circle {nom}, after optionally
::> sending a last announce message {say}.
::
|= {nom/knot say/(unit cord)}
@@ -973,21 +973,21 @@
(sh-act %depict nom txt)
::
++ source ::< %source
- ::> adds {pas} to {nom}'s sources.
+ ::> adds {pas} to {nom}'s src.
::
|= {nom/knot pas/(set partner)}
^+ ..sh-work
(sh-act %source nom & pas)
::
++ invite ::< %invite
- ::> invites {sis} to our station {nom}.
+ ::> invites {sis} to our circle {nom}.
::
|= {nom/knot sis/(set ship)}
^+ ..sh-work
(sh-act %permit nom & sis)
::
++ banish ::< %banish
- ::> banish {sis} from our station {nom}.
+ ::> banish {sis} from our circle {nom}.
::
|= {nom/knot sis/(set ship)}
^+ ..sh-work
@@ -1039,12 +1039,13 @@
=< (murn (sort (~(tap by alt)) aor) .)
|= {a/ship b/presence c/human} ^- (unit tank)
=. c
- ?. =(hand.c `(scot %p a)) c
- [true.c ~]
+ ?. =(han.c `(scot %p a)) c
+ [tru.c ~]
?- b
$gone ~
- $hear `leaf+:(weld "hear " (scow %p a) " " (trip (fall hand.c '')))
- $talk `leaf+:(weld "talk " (scow %p a) " " (trip (fall hand.c '')))
+ $idle `leaf+:(weld "idle " (scow %p a) " " (trip (fall han.c '')))
+ $hear `leaf+:(weld "hear " (scow %p a) " " (trip (fall han.c '')))
+ $talk `leaf+:(weld "talk " (scow %p a) " " (trip (fall han.c '')))
==
::
++ what ::< %what
@@ -1120,17 +1121,17 @@
%+ turn (~(tap by folks))
|= {p/ship q/human}
:- %txt
- ?~ hand.q
+ ?~ han.q
"{
}:"
- "{
}: {}"
+ "{}: {}"
::> show her nick
?~ nym
?> ?=(^ her)
=+ asc=(~(get by folks) u.her)
%+ sh-fact %txt
?~ asc "{} unbound"
- ?~ hand.u.asc "{}:"
- "{}: {}"
+ ?~ han.u.asc "{}:"
+ "{}: {}"
::> show nick ship
?~ her
%+ sh-fact %mor
@@ -1225,7 +1226,7 @@
::> if partner is a passport, ignore.
?. ?=($& -.tay) +>
=+ cof=(~(get by mirrors) +.tay)
- ?. |(?=($~ cof) !?=($white p.cordon.u.cof))
+ ?. |(?=($~ cof) !?=($white sec.con.u.cof))
+>.$
(sh-pact [tay ~ ~])
::
@@ -1244,7 +1245,7 @@
|- ^- (unit (set partner))
?~ grams ~
::> get first partner from a telegram's audience.
- =+ pan=(silt (turn (~(tap by q.q.i.grams)) head))
+ =+ pan=(silt (turn (~(tap by aud.tot.i.grams)) head))
?: (~(has in lax) pan) `pan
$(grams t.grams)
::
@@ -1271,11 +1272,11 @@
|- ^+ ret
?~ eno ret
=. ret $(eno t.eno)
- ?: =(%gone p.q.i.eno) ret
+ ?: =(%gone pec.q.i.eno) ret
=+ unt=(~(get by two) p.i.eno)
?~ unt
ret(old [i.eno old.ret])
- ?: =(%gone p.u.unt)
+ ?: =(%gone pec.u.unt)
ret(old [i.eno old.ret])
?: =(q.i.eno u.unt) ret
ret(cha [[p.i.eno u.unt] cha.ret])
@@ -1284,10 +1285,10 @@
|- ^+ ret
?~ owt ret
=. ret $(owt t.owt)
- ?: =(%gone p.q.i.owt) ret
+ ?: =(%gone pec.q.i.owt) ret
?. (~(has by one) p.i.owt)
ret(new [i.owt new.ret])
- ?: =(%gone p:(~(got by one) p.i.owt))
+ ?: =(%gone pec:(~(got by one) p.i.owt))
ret(new [i.owt new.ret])
ret
ret
@@ -1329,11 +1330,11 @@
::> maps, producing lists of removed, added and
::> changed configs.
::
- |= {one/(map station config) two/(map station config)}
+ |= {one/(map circle config) two/(map circle config)}
=| $= ret
- $: old/(list (pair station config))
- new/(list (pair station config))
- cha/(list (pair station config))
+ $: old/(list (pair circle config))
+ new/(list (pair circle config))
+ cha/(list (pair circle config))
==
^+ ret
=. ret
@@ -1374,7 +1375,7 @@
::> renders a reaction to the cli.
::
|= rac/reaction
- (sh-lame (trip what.rac))
+ (sh-lame (trip wat.rac))
::
++ sh-lame ::< send error
::> just puts some text into the cli as-is.
@@ -1435,9 +1436,9 @@
++ sh-spaz ::< render status
::> gets the presence of {saz} as a tape.
::
- |= saz/status
+ |= sat/status
^- tape
- ['%' (trip p.saz)]
+ ['%' (trip pec.sat)]
::
++ sh-show-precs ::< print atlas diff
::> prints presence changes to the cli.
@@ -1510,38 +1511,38 @@
|= {pre/tape laz/config loc/config}
^+ +>
=. +>.$
- ?: =(caption.loc caption.laz) +>.$
- (sh-note :(weld pre "cap " (trip caption.loc)))
+ ?: =(cap.loc cap.laz) +>.$
+ (sh-note :(weld pre "cap " (trip cap.loc)))
=. +>.$
%+ sh-show-sources
(weld (trip inbox) ": ")
- (sh-set-diff sources.laz sources.loc)
- ?: !=(p.cordon.loc p.cordon.laz)
- =. +>.$ (sh-note :(weld pre "but " (sh-puss p.cordon.loc)))
+ (sh-set-diff src.laz src.loc)
+ ?: !=(sec.con.loc sec.con.laz)
+ =. +>.$ (sh-note :(weld pre "but " (sh-puss sec.con.loc)))
%^ sh-show-permits
(weld (trip inbox) ": ")
- p.cordon.loc
- [~ (~(tap in q.cordon.loc))]
+ sec.con.loc
+ [~ (~(tap in ses.con.loc))]
%^ sh-show-permits
(weld (trip inbox) ": ")
- p.cordon.loc
- (sh-set-diff q.cordon.laz q.cordon.loc)
+ sec.con.loc
+ (sh-set-diff ses.con.laz ses.con.loc)
::
++ sh-low-config ::< do show config
- ::> prints a station's config changes to the cli.
+ ::> prints a circle's config changes to the cli.
::
- |= {sat/station old/(unit config) new/(unit config)}
+ |= {sat/circle old/(unit config) new/(unit config)}
^+ +>
?~ old ~&([%new-conf sat] +>)
?~ new ~&([%del-conf sat] +>) ::TODO tmp
%^ sh-show-config
- (weld ~(sr-phat sr sat) ": ")
+ (weld ~(cr-phat cr sat) ": ")
u.old u.new
::
++ sh-low-remco ::TODO delete me
::> prints changes to remote configs to the cli
::
- |= {ole/(map station config) neu/(map station config)}
+ |= {ole/(map circle config) neu/(map circle config)}
^+ +>
=+ (sh-remco-diff ole neu)
=. +>.$
@@ -1550,15 +1551,15 @@
=. +>.^$ $(new t.new)
=. +>.^$ (sh-pest [%& p.i.new])
%+ sh-show-config
- (weld ~(sr-phat sr p.i.new) ": ")
+ (weld ~(cr-phat cr p.i.new) ": ")
[*config q.i.new]
=. +>.$
|- ^+ +>.^$
?~ cha +>.^$
=. +>.^$ $(cha t.cha)
%+ sh-show-config
- (weld ~(sr-phat sr p.i.cha) ": ")
- [(~(got by ole) `station`p.i.cha) q.i.cha]
+ (weld ~(cr-phat cr p.i.cha) ": ")
+ [(~(got by ole) `circle`p.i.cha) q.i.cha]
+>.$
::
++ sh-low-rempe ::< show remotes
@@ -1630,81 +1631,81 @@
::> rendering cores.
::+|
::
-++ sr ::< station renderer
- ::> used in both station and ship rendering.
+++ cr ::< circle renderer
+ ::> used in both circle and ship rendering.
::
- |_ ::> one: the station.
+ |_ ::> one: the circle.
::
- one/station
+ one/circle
::
- ++ sr-best ::< best to show
+ ++ cr-best ::< best to show
::> returns true if one is better to show, false
::> otherwise. prioritizes: our > main > size.
- ::TODO maybe simplify. (lth (xeb (xeb p.one)) (xeb (xeb p.two)))
+ ::TODO maybe simplify. (lth (xeb (xeb hos.one)) (xeb (xeb hos.two)))
::
- |= two/station
+ |= two/circle
^- ?
- :: the station that's ours is better.
- ?: =(our.bol p.one)
- ?: =(our.bol p.two)
- ?< =(q.one q.two)
- :: if both stations are ours, the main story is better.
- ?: =((main p.one) q.one) %&
- ?: =((main p.two) q.two) %|
+ :: the circle that's ours is better.
+ ?: =(our.bol hos.one)
+ ?: =(our.bol hos.two)
+ ?< =(nom.one nom.two)
+ :: if both circles are ours, the main story is better.
+ ?: =((main hos.one) nom.one) %&
+ ?: =((main hos.two) nom.two) %|
:: if neither are, pick the "larger" one.
- (lth q.one q.two)
+ (lth nom.one nom.two)
%&
:: if one isn't ours but two is, two is better.
- ?: =(our.bol p.two)
+ ?: =(our.bol hos.two)
%|
- ?: =(p.one p.two)
+ ?: =(hos.one hos.two)
:: if they're from the same ship, pick the "larger" one.
- (lth q.one q.two)
+ (lth nom.one nom.two)
:: when in doubt, pick one if its ship is "smaller" than its channel.
- (lth p.one q.one)
+ (lth hos.one nom.one)
::
- ++ sr-curt ::< render name in 14
+ ++ cr-curt ::< render name in 14
::> prints a ship name in 14 characters. left-pads
::> with spaces. {mup} signifies "are there other
::> targets besides this one?"
::
|= mup/?
^- tape
- =+ raw=(cite p.one)
+ =+ raw=(cite hos.one)
(runt [(sub 14 (lent raw)) ' '] raw)
::
- ++ sr-nick ::< nick or name in 14
+ ++ cr-nick ::< nick or name in 14
::> get nick for ship, or shortname if no nick.
::> left-pads with spaces.
::
|. ^- tape
- =+ nym=(~(get by folks) p.one)
+ =+ nym=(~(get by folks) hos.one)
?~ nym
- (sr-curt |)
- ?~ hand.u.nym
- (sr-curt |)
- =+ raw=(trip u.hand.u.nym)
+ (cr-curt |)
+ ?~ han.u.nym
+ (cr-curt |)
+ =+ raw=(trip u.han.u.nym)
=+ len=(sub 14 (lent raw))
(weld (reap len ' ') raw)
::
- ++ sr-phat ::< render accurately
- ::> prints a station fully, but still taking
+ ++ cr-phat ::< render accurately
+ ::> prints a circle fully, but still taking
::> "shortcuts" where possible:
::> ":" for local mailbox, "~ship" for foreign
- ::> mailbox, "%channel" for local station,
- ::> "/channel" for parent station.
+ ::> mailbox, "%channel" for local circle,
+ ::> "/channel" for parent circle.
::
^- tape
- ?: =(p.one our.bol)
- ?: =(q.one inbox)
+ ?: =(hos.one our.bol)
+ ?: =(nom.one inbox)
":"
- ['%' (trip q.one)]
- ?: =(p.one (sein our.bol))
- ['/' (trip q.one)]
- =+ wun=(scow %p p.one)
- ?: =(q.one (main p.one))
+ ['%' (trip nom.one)]
+ ?: =(hos.one (sein our.bol))
+ ['/' (trip nom.one)]
+ =+ wun=(scow %p hos.one)
+ ?: =(nom.one (main hos.one))
wun
- :(welp wun "/" (trip q.one))
+ :(welp wun "/" (trip nom.one))
--
::
++ pr ::< partner renderer
@@ -1716,8 +1717,8 @@
::
++ pr-beat ::< more relevant
::> returns true if one is better to show, false
- ::> otherwise. prefers stations over passports.
- ::> if both are stations, ++sr-best.
+ ::> otherwise. prefers circles over passports.
+ ::> if both are circles, ++cr-best.
::> if both are passports, pick the "larger" one.
::> if they're equal, content hash.
::
@@ -1726,7 +1727,7 @@
$&
?- -.two
$| %&
- $& (~(sr-best sr p.one) p.two)
+ $& (~(cr-best cr p.one) p.two)
==
::
$|
@@ -1767,13 +1768,13 @@
|= moy/(unit ?)
^- tape
?- -.one
- :: render station (as glyph if we can).
+ :: render circle (as glyph if we can).
$&
?~ moy
=+ cha=(~(get by nik) one ~ ~)
=- ?~(cha - "'{u.cha ~}' {-}")
- ~(sr-phat sr p.one)
- (~(sr-curt sr p.one) u.moy)
+ ~(cr-phat cr p.one)
+ (~(cr-curt cr p.one) u.moy)
:: render passport.
$|
=/ pre ^- tape
@@ -1850,9 +1851,9 @@
::
|= pan/partner ^- ?
?& ?=($& -.pan)
- =(p.p.pan our.bol)
+ =(hos.p.pan our.bol)
=+ sot=(~(get by mirrors) +.pan)
- &(?=(^ sot) ?=($brown p.cordon.u.sot))
+ &(?=(^ sot) ?=($brown sec.con.u.sot))
==
::
++ ar-pref ::< audience glyph
@@ -1915,8 +1916,8 @@
:: ?: oug
:: ~(ar-whom ar tr-pals)
?. (~(has in sef) %noob)
- (~(sr-curt sr [who (main who)]) |)
- (~(sr-nick sr [who (main who)]))
+ (~(cr-curt cr [who (main who)]) |)
+ (~(cr-nick cr [who (main who)]))
?: (~(has in sef) %showtime)
=+ dat=(yore now.bol)
=/ t
@@ -1959,31 +1960,32 @@
tan+~
::
$lin
- tan+~[leaf+"{?:(p.sep "" "@ ")}{(trip q.sep)}"]
+ tan+~[leaf+"{?:(pat.sep "" "@ ")}{(trip msg.sep)}"]
::
$url
- url+(crip (earf p.sep))
+ url+(crip (earf url.sep))
::
$exp
- tan+~[leaf+"# {(trip p.sep)}"]
+ tan+~[leaf+"# {(trip exp.sep)}"]
::
$fat
- [%mor $(sep q.sep) tan+(tr-tors p.sep) ~]
+ [%mor $(sep sep.sep) tan+(tr-tors tac.sep) ~]
::
$inv
:- %tan
:_ ~
:- %leaf
%+ weld
- ?: p.sep
+ ?: inv.sep
"you have been invited to "
"you have been banished from "
- ~(sr-phat sr q.sep)
+ ~(cr-phat cr sat.sep)
+ ::
$mor
- mor+(turn p.sep |=(speech ^$(sep +<)))
+ mor+(turn ses.sep |=(speech ^$(sep +<)))
::
$app
- tan+~[rose+[": " ~ ~]^~[leaf+"[{(trip p.sep)}]" leaf+(trip q.sep)]]
+ tan+~[rose+[": " ~ ~]^~[leaf+"[{(trip app.sep)}]" leaf+(trip msg.sep)]]
::
$api
:- %tan
@@ -2002,7 +2004,7 @@
|= a/torso
^- tang
?- -.a
- $name (welp $(a q.a) leaf+"={(trip p.a)}" ~)
+ $name (welp $(a tac.a) leaf+"={(trip nom.a)}" ~)
$tank +.a
$text (turn (flop +.a) |=(b/cord leaf+(trip b)))
==
@@ -2050,25 +2052,25 @@
~&(tr-lost+sep "")
::
$mor
- ?~ p.sep ~&(%tr-mor-empty "")
+ ?~ ses.sep ~&(%tr-mor-empty "")
|- ^- tape
- ?~ t.p.sep ^$(sep i.p.sep)
- (tr-both ^$(sep i.p.sep) $(p.sep t.p.sep))
+ ?~ t.ses.sep ^$(sep i.ses.sep)
+ (tr-both ^$(sep i.ses.sep) $(ses.sep t.ses.sep))
::
$fat
- %+ tr-both $(sep q.sep)
- ?+ -.p.sep "..."
- $tank ~(ram re %rose [" " `~] +.p.sep)
+ %+ tr-both $(sep sep.sep)
+ ?+ -.tac.sep "..."
+ $tank ~(ram re %rose [" " `~] +.tac.sep)
==
::
$exp
- (tr-chow 66 '#' ' ' (trip p.sep))
+ (tr-chow 66 '#' ' ' (trip exp.sep))
::
$url
- =+ ful=(earf p.sep)
+ =+ ful=(earf url.sep)
?: (gth 64 (lent ful)) ['/' ' ' ful]
:+ '/' '_'
- =+ hok=r.p.p.p.sep
+ =+ hok=r.p.p.url.sep
~! hok
=- (swag [a=(sub (max 64 (lent -)) 64) b=64] -)
^- tape
@@ -2080,8 +2082,8 @@
(welp b '.' (trip a))
::
$lin
- =+ txt=(trip q.sep)
- ?: p.sep
+ =+ txt=(trip msg.sep)
+ ?: pat.sep
=+ pal=tr-pals
=. pal ?: =(who our.bol) pal ::TODO =?
(~(del in pal) [%& who (main who)])
@@ -2090,13 +2092,13 @@
::
$inv
%+ weld
- ?: p.sep
+ ?: inv.sep
" invited you to "
" banished you from "
- ~(sr-phat sr q.sep)
+ ~(cr-phat cr sat.sep)
::
$app
- (tr-chow 64 "[{(trip p.sep)}]: {(trip q.sep)}")
+ (tr-chow 64 "[{(trip app.sep)}]: {(trip msg.sep)}")
::
$api
%+ tr-chow 64
diff --git a/app/talk-guardian.hoon b/app/talk-guardian.hoon
index 112e5b37c..1bbe1fa63 100644
--- a/app/talk-guardian.hoon
+++ b/app/talk-guardian.hoon
@@ -3,8 +3,10 @@
:: :: ::
::
::TODO master changes
+::TODO char57 comments as line comments when regarding code.
::TODO avoid lark where possible
::TODO maybe rename wires. repeat & friend -> message & follower
+::TODO put printfs properly through console/mailbox
::TODO think about what printfs we want to keep for the user to see.
::TODO document what user-facing printfs actually mean!
::TODO ::> to :> etc.
@@ -44,8 +46,8 @@
outbox/(pair @ud (map @ud thought)) ::< urbit outbox
log/(map knot @ud) ::< logged to clay
folks/(map ship human) ::< human identities
- nik/(map (set partner) char) ::< bound station glyphs
- nak/(jug char (set partner)) ::< station glyph lookup
+ nik/(map (set partner) char) ::< bound circle glyphs
+ nak/(jug char (set partner)) ::< circle glyph lookup
== ::
++ story ::> wire content
$: count/@ud ::< (lent grams)
@@ -53,7 +55,7 @@
locals/atlas ::< local presence
remotes/(map partner atlas) ::< remote presence
shape/config ::< configuration
- mirrors/(map station config) ::< remote config
+ mirrors/(map circle config) ::< remote config
::TODO never gets updated. ::
sequence/(map partner @ud) ::< partners heard
known/(map serial @ud) ::< messages heard
@@ -85,7 +87,7 @@
== ::
++ weir ::> parsed wire
$% {$repeat p/@ud q/@p r/knot} ::< messaging wire
- {$friend p/knot q/station} ::< subscription wire
+ {$friend p/knot q/circle} ::< subscription wire
== ::
--
::
@@ -197,7 +199,7 @@
::> a story core. if it doesn't, does nothing.
::
|= nom/knot
- |* fun/$-(_so _+>)
+ |= fun/$-(_so _ta)
^+ +>+>
=+ pur=(~(get by stories) nom)
?~ pur
@@ -242,7 +244,7 @@
|= {src/ship cod/command}
^+ +>
?- -.cod
- ::> %review commands prompt us (as a station host)
+ ::> %review commands prompt us (as a circle host)
::> to verify and distribute messages.
$review
(ta-think | src +.cod)
@@ -268,7 +270,7 @@
++ work ::< perform action
^+ ..ta-action
?- -.act
- :: station configuration
+ :: circle configuration
$create (action-create +.act)
$source (action-source +.act)
$depict (action-depict +.act)
@@ -291,7 +293,7 @@
::> if it doesn't, reacts accordingly.
::
|= nom/knot
- |* fec/$-(_so _ta)
+ |= fec/$-({_so story} _ta)
^+ ta
=+ pur=(~(get by stories) nom)
?^ pur
@@ -299,7 +301,7 @@
%+ ta-react red
[%fail (crip "no story {(trip nom)}") `act]
::
- ::> || %station-configuration
+ ::> || %circle-configuration
::+|
++ action-create ::< create story
::> creates a story with the specified parameters.
@@ -316,11 +318,11 @@
|= {nom/knot sub/? pas/(set partner)}
^+ ..ta-action
%- (affect nom) |= {sor/_so soy/story}
- =. sources.shape.soy
+ =. src.shape.soy
%. pas
?: sub
- ~(uni in sources.shape.soy)
- ~(dif in sources.shape.soy)
+ ~(uni in src.shape.soy)
+ ~(dif in src.shape.soy)
(ta-config nom shape.soy)
::
++ action-depict ::< change description
@@ -329,7 +331,7 @@
|= {nom/knot des/cord}
^+ ..ta-action
%- (affect nom) |= {sor/_so soy/story}
- =. caption.shape.soy des
+ =. cap.shape.soy des
(ta-config nom shape.soy)
::
++ action-permit ::< invite/banish
@@ -403,12 +405,12 @@
^+ ..ta-action
?. =((~(get by folks) sip) `nic) ..ta-action ::< no change
=. folks
- ?~ hand.nic (~(del by folks) sip)
+ ?~ han.nic (~(del by folks) sip)
(~(put by folks) sip nic)
%+ ta-inform %names
::TODO think long and hard, do we need unit for delition or is a human
:: with [~ ~] good enough? if the latter, agent's $names will change.
- (strap sip ?~(hand.nic ~ `nic))
+ (strap sip ?~(han.nic ~ `nic))
::
++ action-glyph ::< bind a glyph
::> un/bind glyph {lif} to partners {pas}.
@@ -440,7 +442,7 @@
++ ta-diff-report ::< subscription update
::> process a talk report from {sat} into story {nom}.
::
- |= {nom/knot sat/station ret/report}
+ |= {nom/knot sat/circle ret/report}
%- (ta-know nom) |= sor/_so =< so-done
(so-diff-report:sor sat ret)
::
@@ -527,14 +529,14 @@
++ ta-retry ::< subscription resend
::> re-subscribes {sat} to story {nom}.
::
- |= {nom/knot sat/station}
+ |= {nom/knot sat/circle}
%- (ta-know nom) |= sor/_so =< so-done
(so-acquire:sor [%& sat]~)
::
++ ta-quit ::< subscription failed
::> removes {sat} from story {nom}'s followers.
::
- |= {nom/knot sat/station}
+ |= {nom/knot sat/circle}
%- (ta-know nom) |= sor/_so =< so-done
(so-quit:sor %& sat)
::
@@ -674,17 +676,17 @@
::
++ ta-sane ::< sanitize
::> sanitize %lin speech, enforce lowercase and no special characters.
- ::TODO make configurable per-station.
+ ::TODO make configurable per-circle.
::
|= tot/thought
^- thought
- ?. ?=({$lin *} r.r.tot) tot
- %_ tot
- q.r.r
+ ?. ?=({$lin *} sep.sam.tot) tot
+ %_ tot
+ msg.sep.sam
%- crip
%+ scag 64
%- tufa
- %+ turn (tuba (trip q.r.r.tot))
+ %+ turn (tuba (trip msg.sep.sam.tot))
|= a/@c
?: &((gte a 'A') (lte a 'Z'))
(add a 32)
@@ -698,7 +700,7 @@
::
|= {pub/? aut/ship tot/thought}
=. tot (ta-sane tot)
- =+ aud=(~(tap by q.tot))
+ =+ aud=(~(tap by aud.tot))
|- ^+ +>.^$
?~ aud +>.^$
$(aud t.aud, +>.^$ (ta-conduct pub aut p.i.aud tot))
@@ -709,16 +711,16 @@
|= {pub/? aut/ship pan/partner tot/thought}
^+ +>
?- -.pan
- $& ::< station partner
+ $& ::< circle partner
?: pub
?. (team our.bol aut)
~&([%talk-strange-author aut] +>)
=. aut our.bol
- ?: =(aut p.p.pan)
- (ta-record q.p.pan p.p.pan tot)
+ ?: =(aut hos.p.pan)
+ (ta-record nom.p.pan hos.p.pan tot)
(ta-transmit p.pan tot)
- ?. =(our.bol p.p.pan) +>
- (ta-record q.p.pan aut tot)
+ ?. =(our.bol hos.p.pan) +>
+ (ta-record nom.p.pan aut tot)
::
$| !! ::< passport partner
==
@@ -734,13 +736,13 @@
::> sends thought {tot} to {sat}.
::> stores it to the outbox to await confirmation.
::
- |= {sat/station tot/thought}
+ |= {sat/circle tot/thought}
^+ +>
=. +>
%+ ta-emit ost.bol
:* %poke
- /repeat/(scot %ud p.outbox)/(scot %p p.sat)/[q.sat]
- [p.sat %talk-guardian]
+ /repeat/(scot %ud p.outbox)/(scot %p hos.sat)/[nom.sat]
+ [hos.sat %talk-guardian]
[%talk-command [%review tot ~]]
==
+>(p.outbox +(p.outbox), q.outbox (~(put by q.outbox) p.outbox tot))
@@ -760,9 +762,9 @@
=+ oot=(~(get by q.outbox) num)
?~ oot ~|([%ta-repeat-none num] !!)
=. q.outbox (~(del by q.outbox) num)
- =. q.u.oot
- =+ olg=(~(got by q.u.oot) pan)
- %+ ~(put by q.u.oot) pan
+ =. aud.u.oot
+ =+ olg=(~(got by aud.u.oot) pan)
+ %+ ~(put by aud.u.oot) pan
:- -.olg
?~ fal %received
~> %slog.[0 u.fal]
@@ -787,10 +789,10 @@
::> wyt: will be white
=+ :+ neu=!(~(has by stories) nom)
pur=(fall (~(get by stories) nom) *story)
- wyt=?=(?($white $green) p.cordon.con)
- =. q.cordon.con ::TODO =?
+ wyt=?=(?($white $green) sec.con.con)
+ =. ses.con.con ::TODO =?
?: &(neu wyt) [our.bol ~ ~]
- q.cordon.con
+ ses.con.con
so-done:(~(so-reform so nom ~ pur) con)
::
++ ta-unconfig ::< delete story
@@ -922,8 +924,8 @@
%- ~(urn by remotes) :: XX performance
|= {pan/partner atl/atlas}
^- atlas
- ?. &(?=($& -.pan) =(our.bol p.p.pan)) atl
- =+ soy=(~(get by stories) q.p.pan)
+ ?. &(?=($& -.pan) =(our.bol hos.p.pan)) atl
+ =+ soy=(~(get by stories) nom.p.pan)
?~ soy atl
locals.u.soy
::
@@ -937,22 +939,22 @@
::> process a talk report from {sat}.
::> if we didn't expect it, ignore.
::
- |= {sat/station ret/report}
+ |= {sat/circle ret/report}
^+ +>
- ?. (~(has in sources.shape) [%& sat])
+ ?. (~(has in src.shape) [%& sat])
~& [%talk-so-diff-unexpected sat -.ret]
+>
?- -.ret
$cabal (so-cabal sat +.ret)
$group (so-remind [%& sat] +.ret)
- $grams (so-lesson q.+.ret)
+ $grams (so-lesson gaz.ret)
==
::
++ so-cabal ::< update config
- ::> add station's config to our remote config map.
+ ::> add circle's config to our remote config map.
::
- ::TODO when do we care about ham?
- |= {sat/station con/config ham/(map station config)}
+ ::TODO when do we care about rem?
+ |= {sat/circle con/config rem/(map circle config)}
^+ +>
=+ old=mirrors
=. mirrors (~(put by mirrors) sat con)
@@ -986,7 +988,7 @@
::+|
::
++ so-reform ::< reconfigure
- ::> changes the config of this story and notify
+ ::> changes the config of this story and notify::
::> our followers.
::> subscribes to new sources, unsubs from removed
::> ones.
@@ -994,10 +996,10 @@
|= cof/config
=. +>.$ (so-inform %confs `cof ~)
=/ dif/(pair (list partner) (list partner))
- =+ old=`(list partner)`(~(tap in sources.shape) ~)
- =+ new=`(list partner)`(~(tap in sources.cof) ~)
- :- (skip new |=(a/partner (~(has in sources.shape) a)))
- (skip old |=(a/partner (~(has in sources.cof) a)))
+ =+ old=`(list partner)`(~(tap in src.shape) ~)
+ =+ new=`(list partner)`(~(tap in src.cof) ~)
+ :- (skip new |=(a/partner (~(has in src.shape) a)))
+ (skip old |=(a/partner (~(has in src.cof) a)))
=. +>.$ (so-acquire p.dif)
=. +>.$ (so-abjure q.dif)
=. shape cof
@@ -1005,22 +1007,22 @@
::
++ so-reform-gone ::< delete story
::> deletes this story. removes it from {stories}
- ::> and unsubscribes from all sources.
+ ::> and unsubscribes from all src.
::
=. stories (~(del by stories) nom)
=. . (so-inform %confs ~ ~)
=. . (so-report-cabal so-followers)
- (so-abjure (~(tap in sources.shape)))
+ (so-abjure (~(tap in src.shape)))
::
++ so-notify ::< local presence
::> add {her} status to this story's presence map.
::> if this changes it, send a report.
::
- |= {her/ship sas/status}
+ |= {her/ship sat/status}
^+ +>
- =/ nol (~(put by locals) her sas)
+ =/ nol (~(put by locals) her sat)
?: =(nol locals) +>.$
- =. +>.$ (so-inform %precs (strap her sas) ~)
+ =. +>.$ (so-inform %precs (strap her sat) ~)
(so-report-group(locals nol) so-followers)
::
::> ||
@@ -1047,12 +1049,12 @@
?- -.pan
$| !! ::< passport partner
::
- $& ::< station partner
+ $& ::< circle partner
:_ ~
:* %peer
- /friend/show/[nom]/(scot %p p.p.pan)/[q.p.pan]
- [p.p.pan %talk-guardian]
- /[q.p.pan]/[ini]
+ /friend/show/[nom]/(scot %p hos.p.pan)/[nom.p.pan]
+ [hos.p.pan %talk-guardian]
+ /[nom.p.pan]/[ini]
==
==
::
@@ -1068,11 +1070,11 @@
?- -.pan
$| !! ::< passport partner
::
- $& ::< station partner
+ $& ::< circle partner
:_ ~
:* %pull
- /friend/show/[nom]/(scot %p p.p.pan)/[q.p.pan]
- [p.p.pan %talk-guardian]
+ /friend/show/[nom]/(scot %p hos.p.pan)/[nom.p.pan]
+ [hos.p.pan %talk-guardian]
~
==
==
@@ -1083,8 +1085,8 @@
::
|= pan/partner
^+ +>
- ?. (~(has in sources.shape) pan) +>
- =. sources.shape (~(del in sources.shape) pan)
+ ?. (~(has in src.shape) pan) +>
+ =. src.shape (~(del in src.shape) pan)
=. +> (so-inform %confs `shape ~)
(so-report-cabal so-followers)
::
@@ -1131,13 +1133,13 @@
?~ gaz [dun end zeg]
?: ?- -.q.riv :: after the end
$ud (lte p.q.riv end)
- $da (lte p.q.riv p.r.q.i.gaz)
+ $da (lte p.q.riv wen.sam.tot.i.gaz)
==
:: if past the river, continue back, mark as done.
$(end (dec end), gaz t.gaz, dun &)
?: ?- -.p.riv :: before the start
$ud (lth end p.p.riv)
- $da (lth p.r.q.i.gaz p.p.riv)
+ $da (lth wen.sam.tot.i.gaz p.p.riv)
==
:: if before the river, we're done searching.
[dun end zeg]
@@ -1188,12 +1190,12 @@
=+ old=[p=(welp p.lef p.rit) q=(welp q.lef q.rit)]
?: ?- -.q.q.n.followers :: after the end
$ud (lte p.q.q.n.followers num)
- $da (lte p.q.q.n.followers p.r.q.gam)
+ $da (lte p.q.q.n.followers wen.sam.tot.gam)
==
[[p.n.followers p.old] [[p.n.followers %quit ~] q.old]]
?: ?- -.p.q.n.followers :: before the start
$ud (gth p.p.q.n.followers num)
- $da (gth p.p.q.n.followers p.r.q.gam)
+ $da (gth p.p.q.n.followers wen.sam.tot.gam)
==
old
:- p.old
@@ -1217,22 +1219,22 @@
::
|= gam/telegram
^+ +>
- ?. (so-admire p.gam) ::< write permissions
+ ?. (so-admire aut.gam) ::< write permissions
+>.$
- =. q.q.gam
+ =. aud.tot.gam
::> if we are in the audience, mark as received.
- =+ ole=(~(get by q.q.gam) [%& our.bol nom])
- ?^ ole (~(put by q.q.gam) [%& our.bol nom] -.u.ole %received)
- ::> federated stations need to pretend ~src/nom
+ =+ ole=(~(get by aud.tot.gam) [%& our.bol nom])
+ ?^ ole (~(put by aud.tot.gam) [%& our.bol nom] -.u.ole %received)
+ ::> federated circles need to pretend ~src/nom
::> is also ~our/nom.
::TODO pass src through explicitly instead of
- :: relying on src.bol.
- =+ ole=(~(get by q.q.gam) [%& src.bol nom])
- ?~ ole q.q.gam
+ :: relying on src.bol. :
+ =+ ole=(~(get by aud.tot.gam) [%& src.bol nom])
+ ?~ ole aud.tot.gam
::> as described above, fake src into our.
- =. q.q.gam (~(del by q.q.gam) [%& src.bol nom])
- (~(put by q.q.gam) [%& our.bol nom] -.u.ole %received)
- =+ old=(~(get by known) p.q.gam)
+ =. aud.tot.gam (~(del by aud.tot.gam) [%& src.bol nom])
+ (~(put by aud.tot.gam) [%& our.bol nom] -.u.ole %received)
+ =+ old=(~(get by known) uid.tot.gam)
?~ old
(so-append gam) ::< add
(so-revise u.old gam) ::< modify
@@ -1245,7 +1247,7 @@
%+ %= so-refresh
grams [gam grams]
count +(count)
- known (~(put by known) p.q.gam count)
+ known (~(put by known) uid.tot.gam count)
==
count
gam
@@ -1276,7 +1278,7 @@
^+ +>
::> wyt: whitelist?
::> add: add to list?
- =/ wyt/? ?=(?($white $green) p.cordon.shape)
+ =/ wyt/? ?=(?($white $green) sec.con.shape)
=/ add/? =(inv wyt)
=. +>.$ ::TODO =?
?: inv +>.$
@@ -1290,11 +1292,11 @@
[[%inv inv [our.bol nom]] t]
%- so-reform
%= shape
- q.cordon
+ ses.con
%. sis
?: add
- ~(uni in q.cordon.shape)
- ~(dif in q.cordon.shape)
+ ~(uni in ses.con.shape)
+ ~(dif in ses.con.shape)
==
::
++ so-admire ::< accept from
@@ -1302,11 +1304,11 @@
::
|= her/ship
^- ?
- ?- p.cordon.shape
- $black !(~(has in q.cordon.shape) her) ::< channel, blacklist
- $white (~(has in q.cordon.shape) her) ::< village, whitelist
- $green (~(has in q.cordon.shape) her) ::< journal, whitelist
- $brown !(~(has in q.cordon.shape) her) ::< mailbox, blacklist
+ ?- sec.con.shape
+ $black !(~(has in ses.con.shape) her) ::< channel, blacklist
+ $white (~(has in ses.con.shape) her) ::< village, whitelist
+ $green (~(has in ses.con.shape) her) ::< journal, whitelist
+ $brown !(~(has in ses.con.shape) her) ::< mailbox, blacklist
==
::
++ so-visible ::< display to
@@ -1314,9 +1316,9 @@
::
|= her/ship
^- ?
- ?- p.cordon.shape
- $black !(~(has in q.cordon.shape) her) ::< channel, blacklist
- $white (~(has in q.cordon.shape) her) ::< village, whitelist
+ ?- sec.con.shape
+ $black !(~(has in ses.con.shape) her) ::< channel, blacklist
+ $white (~(has in ses.con.shape) her) ::< village, whitelist
$green & ::< journal, all
$brown (team our.bol her) ::< mailbox, our team
==
@@ -1330,7 +1332,7 @@
::
++ etch ::< parse wire
::> parses {wir}} to obtain either %friend with story
- ::> and station or %repeat with message number,
+ ::> and circle or %repeat with message number,
::> source ship and story.
::
|= wir/wire
@@ -1356,7 +1358,7 @@
::
|= $: wir/wire
$= fun
- $- {nom/knot sat/station}
+ $- {nom/knot sat/circle}
{(list move) _.}
==
=+ wer=(etch wir)
@@ -1425,7 +1427,7 @@
^- (quip move +>)
=^ mos +>.$
%+ etch-friend wir
- |= {nom/knot sat/station}
+ |= {nom/knot sat/circle}
ta-done:(ta-diff-report:ta nom sat ret)
=^ mow +>.$
log-all-to-file
@@ -1456,7 +1458,7 @@
^- (quip move +>)
?~ fal [~ +>]
%+ etch-friend [%friend wir]
- |= {nom/knot sat/station}
+ |= {nom/knot sat/circle}
=. u.fal [>%reap-friend-fail nom sat< u.fal]
%- (slog (flop u.fal))
ta-done:(ta-quit:ta nom sat)
@@ -1467,7 +1469,7 @@
|= wir/wire
^- (quip move +>)
%+ etch-friend [%friend wir]
- |= {nom/knot sat/station}
+ |= {nom/knot sat/circle}
ta-done:(ta-retry:ta nom sat)
::
++ coup-repeat ::< message n/ack
diff --git a/sur/talk.hoon b/sur/talk.hoon
index 07f6760d3..cc498b294 100644
--- a/sur/talk.hoon
+++ b/sur/talk.hoon
@@ -3,8 +3,6 @@
!:
|%
::
-::TODO station -> circle
-::
::> ||
::> || %reader-communication
::> ||
@@ -12,32 +10,35 @@
::+|
::
++ action ::> user action
- $% :: station configuration ::
- {$create (trel knot cord posture)} ::< create station
- {$source (trel knot ? (set partner))} ::< un/sub p to/from r
- {$depict (pair knot cord)} ::< change description
- {$permit (trel knot ? (set ship))} ::< invite/banish
- {$delete (pair knot (unit cord))} ::< delete + announce
+ $% :: circle configuration ::
+ {$create nom/knot des/cord sec/posture} ::< create circle
+ {$source nom/knot sub/? src/(set partner)} ::< un/sub p to/from r
+ {$depict nom/knot des/cord} ::< change description
+ {$permit nom/knot inv/? sis/(set ship)} ::< invite/banish
+ {$delete nom/knot ano/(unit cord)} ::< delete + announce
:: messaging ::
- {$convey (list thought)} ::< post exact
- {$phrase (pair (set partner) (list speech))} ::< post easy
+ {$convey tos/(list thought)} ::< post exact
+ {$phrase aud/(set partner) ses/(list speech)} ::< post easy
:: personal metadata ::
- ::TODO change to target partners, not only our stations.
- {$status (pair (set knot) status)} ::< our status update
+ ::TODO change to target partners, not only our circles.
+ {$status nos/(set knot) sat/status} ::< our status update
:: changing shared ui ::
- {$human (pair ship human)} ::< new identity
- {$glyph (trel char (set partner) ?)} ::< un/bind a glyph
+ {$human sip/ship man/human} ::< new identity
+ {$glyph gyf/char pas/(set partner) bin/?} ::< un/bind a glyph
== ::
++ reaction ::> user information
- $: kind/?($info $fail) ::< result
- what/@t ::< explain
+ $: res/?($info $fail) ::< result
+ wat/@t ::< explain
why/(unit action) ::< cause
== ::
++ lowdown ::> new/changed state
$% :: story state ::
- {$confs (unit config) (map station (unit config))}::< configs
- {$precs register} ::< presences
- {$grams (pair @ud (list telegram))} ::< messages
+ $: $confs ::< configs
+ loc/(unit config) ::< local config
+ rem/(map circle (unit config)) ::< remote configs
+ == ::
+ {$precs reg/register} ::< presences
+ {$grams num/@ud gaz/(list telegram)} ::< messages
:: ui state ::
{$glyph (jug char (set partner))} ::< glyph bindings
{$names (map ship (unit human))} ::< nicknames
@@ -50,12 +51,12 @@
::+|
::
++ command ::> effect on story
- $% {$review (list thought)} ::< deliver
+ $% {$review tos/(list thought)} ::< deliver
== ::
++ report ::> update
- $% {$cabal cabal} ::< config neighborhood
- {$group register} ::< presence
- {$grams (pair @ud (list telegram))} ::< thoughts
+ $% {$cabal cab/cabal} ::< config neighborhood
+ {$group reg/register} ::< presence
+ {$grams num/@ud gaz/(list telegram)} ::< thoughts
== ::
::
::> ||
@@ -64,22 +65,22 @@
::> messaging targets and their metadata.
::+|
::
-++ partner (each station passport) ::< message target
-++ station (pair ship knot) ::< native target
+++ partner (each circle passport) ::< message target
+++ circle {hos/ship nom/knot} ::< native target
++ passport ::> foreign target
$% {$twitter p/@t} ::< twitter handle
== ::
::> circle configurations.
++ cabal ::> metaconfiguration
$: loc/config ::< local config
- ham/(map station config) ::< neighborhood configs
+ rem/(map circle config) ::< neighborhood configs
== ::
-++ config ::> station config
- $: sources/(set partner) ::< pulls from
- caption/cord ::< description
- cordon/control ::< restrictions
+++ config ::> circle config
+ $: src/(set partner) ::< pulls from
+ cap/cord ::< description
+ con/control ::< restrictions
== ::
-++ control (pair posture (set ship)) ::< access control
+++ control {sec/posture ses/(set ship)} ::< access control
++ posture ::> security kind
$? $black ::< channel, blacklist
$white ::< village, whitelist
@@ -87,13 +88,18 @@
$brown ::< mailbox, our r, bl w
== ::
::> participant metadata.
-++ register (pair atlas (map partner atlas)) ::< our & srcs presences
+++ register {loc/atlas rem/(map partner atlas)} ::< our & srcs presences
++ atlas (map ship status) ::< presence map
-++ status (pair presence human) ::< participant
-++ presence ?($gone $hear $talk) ::< status type
+++ status {pec/presence man/human} ::< participant
+++ presence ::> status type
+ $? $gone ::< left
+ $idle ::< idle
+ $hear ::< present
+ $talk ::< typing
+ ==
++ human ::> human identifier
- $: true/(unit (trel @t (unit @t) @t)) :: ||
@@ -102,21 +108,21 @@
::> structures for containing main message data.
::+|
::
-++ telegram (pair ship thought) ::< who thought
-++ thought (trel serial audience statement) ::< which whom what
-++ statement (trel @da bouquet speech) ::< when this
+++ telegram {aut/ship tot/thought} ::< who thought
+++ thought {uid/serial aud/audience sam/statement} ::< which whom what
+++ statement {wen/@da boq/bouquet sep/speech} ::< when this
++ speech ::> narrative action
$% {$non $~} ::< no content (yo)
- {$lin p/? q/@t} ::< no/@ text line
- {$ire p/serial q/speech} ::< in-reply-to
- {$url p/purf} ::< parsed url
- {$exp p/@t} ::< hoon line
- {$fat p/torso q/speech} ::< attachment
- {$lan p/knot q/@t} ::< local announce
- {$inv p/? q/station} ::< inv/ban for station
- {$mor p/(list speech)} ::< multiplex
- {$ext p/@tas q/*} ::< extended action
- {$app p/@tas q/@t} ::< app message
+ {$lin pat/? msg/@t} ::< no/@ text line
+ {$ire tos/serial sep/speech} ::< in-reply-to
+ {$url url/purf} ::< parsed url
+ {$exp exp/@t} ::< hoon line
+ {$fat tac/torso sep/speech} ::< attachment
+ {$lan nom/knot msg/@t} ::< local announce
+ {$inv inv/? sat/circle} ::< inv/ban for circle
+ {$mor ses/(list speech)} ::< multiplex
+ {$ext nom/@tas dat/*} ::< extended action
+ {$app app/@tas msg/@t} ::< app message
$: $api ::< api message
service/@tas ::< service name
id/@t ::< id on the service
@@ -128,7 +134,7 @@
== ::
== ::
++ torso ::> attachment
- $% {$name (pair @t torso)} ::< named attachment
+ $% {$name nom/@t tac/torso} ::< named attachment
{$text (list @t)} ::< text lines
{$tank (list tank)} ::< tank list
== ::
@@ -141,7 +147,7 @@
::
++ serial @uvH ::< unique identifier
++ audience (map partner (pair envelope delivery)) ::< destination + state
-++ envelope (pair ? (unit partner)) ::< visible sender
+++ envelope {vis/? sen/(unit partner)} ::< visible sender
++ delivery ::> delivery state
$? $pending ::< undelivered
$received ::< delivered