urbit/sur/talk.hoon
Fang 108431b2c9 Put remotes and mirrors back into config. They no longer contain local story data.
Reader doesn't care much, aside from changes to lowdowns. It subscribes exclusively to the default mailbox.
2017-04-13 14:09:38 +02:00

120 lines
7.9 KiB
Plaintext

::
:::: /hoon/talk/sur
!:
|%
++ audience (map partner (pair envelope delivery)) :: destination+state
++ atlas (map ship status) :: presence map
++ bouquet (set flavor) :: complete aroma
++ command :: effect on party
$% {$design (pair knot (unit config))} :: configure+destroy
{$publish (list thought)} :: originate
{$review (list thought)} :: deliver
== ::
++ action :: user action
$% :: station configuration ::
{$create (trel knot cord posture)} :: create station
{$permit (trel knot ? (set ship))} :: invite/banish
:: personal metadata ::
::TODO change to target partners, not only our stations.
{$status (pair (set knot) status)} :: our status update
:: changing shared ui ::
{$human (pair ship human)} :: new identity
{$glyph (pair char (set partner))} :: bind a glyph
== ::
++ reaction :: user information
$: kind/?($info $fail) :: result
what/@t :: explain
why/(unit action) :: cause
== ::
++ cabal :: metaconfiguration
$: loc/config :: local config
ham/(map station config) :: neighborhood configs
== ::
++ config :: party configuration
$: sources/(set partner) :: pulls from
caption/cord :: about
cordon/control :: restricted to
== ::
++ control (pair posture (set ship)) :: access control
++ delivery :: delivery state
$? $pending :: undelivered
$received :: delivered
$rejected :: undeliverable
$released :: sent one-way
$accepted :: fully processed
== ::
++ envelope (pair ? (unit partner)) :: visible sender
++ flavor path :: content flavor
++ human :: human identifier
$: true/(unit (trel @t (unit @t) @t)) ::TODO used? true name
hand/(unit @t) :: handle
== ::
++ passport :: foreign flow
$% {$twitter p/@t} :: twitter
== ::
++ posture :: security posture
$? $black :: channel, blacklist
$white :: village, whitelist
$green :: journal, author list
$brown :: mailbox, our r, bl w
== ::
++ presence ?($gone $hear $talk) :: status type
++ register (pair atlas (map partner atlas)) :: ping me, ping srcs
++ shelf (map knot (pair posture cord)) :: ship shape
++ report :: talk update
$% :: relevant story is determined from wire: reader responsibility.
{$cabal cabal} :: config neighborhood
:: {$folder (list report)} :: multiple
{$grams (pair @ud (list telegram))} :: beginning thoughts
{$group register} :: presence
== ::
++ lowdown :: changed shared state
$% :: ui state
{$glyph (jug char (set partner))} :: new bindings
{$names (map ship (unit human))} :: new identities
:: story state
:: relevant story is determined from wire: reader responsibility.
{$confs (unit config) (map station (unit config))}:: changed configs
{$precs register} :: changed presences
{$grams (pair @ud (list telegram))} :: new grams
== ::
++ speech :: narrative action
$% {$lan p/knot q/@t} :: local announce
{$exp p/@t} :: hoon line
{$non $~} :: no content (yo)
::TODO so, this is extensibility tacked on, rather than built-in?
:: really, talk has been two-split but the guardian is still two
:: things at once. you want base-guardian and talk-guardian.
:: ...that's probably what %gall is, but then why do we have $ext?
{$ext p/@tas q/*} :: extended action
{$fat p/torso q/speech} :: attachment
{$inv p/? q/station} :: inv/ban for station
{$url p/purf} :: parsed url
{$ire p/serial q/speech} :: in-reply-to
{$lin p/? q/@t} :: no/@ text line
{$mor p/(list speech)} :: multiplex
{$app p/@tas q/@t} :: app message
$: $api :: api message
service/@tas :: service name
id/@t :: id on the service
id-url/purf :: link to id
summary/@t :: summary of event
body/@t :: body of event
url/purf :: link to event
meta/json :: other data for web
== ::
== ::
++ serial @uvH :: unique identity
++ partner (each station passport) :: interlocutor
++ status (pair presence human) :: participant
++ statement (trel @da bouquet speech) :: when this
++ station (pair ship knot) :: domestic flow
++ telegram (pair ship thought) :: who which whom what
++ thought (trel serial audience statement) :: which whom what
++ torso :: attachment
$% {$name (pair @t torso)} :: named attachment
{$text (list @t)} :: text lines
{$tank (list tank)} :: tank list
== ::
--