urbit/sur/talk.hoon

159 lines
8.7 KiB
Plaintext
Raw Normal View History

::
2016-02-11 03:41:28 +03:00
:::: /hoon/talk/sur
2015-01-26 20:44:09 +03:00
!:
2014-12-05 23:14:00 +03:00
|%
::
::> ||
::> || %reader-communication
::> ||
::> broker interfaces for readers.
::+|
::
++ action ::> user action
$% :: circle configuration ::
2017-04-27 00:33:25 +03:00
{$create nom/knot des/cord sec/security} ::< 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 tos/(list thought)} ::< post exact
{$phrase aud/(set partner) ses/(list speech)} ::< post easy
2017-04-11 14:00:13 +03:00
:: personal metadata ::
::TODO change to target partners, not only our circles.
{$status nos/(set knot) sat/status} ::< our status update
2017-04-11 14:00:13 +03:00
:: changing shared ui ::
{$human sip/ship man/human} ::< new identity
{$glyph gyf/char pas/(set partner) bin/?} ::< un/bind a glyph
== ::
++ reaction ::> user information
$: res/?($info $fail) ::< result
wat/@t ::< explain
why/(unit action) ::< cause
== ::
++ lowdown ::> new/changed state
$% :: story state ::
$: $confs ::< configs
loc/(unit config) ::< local config
rem/(map circle (unit config)) ::< remote configs
== ::
2017-04-27 00:33:25 +03:00
{$precs reg/crowd} ::< presences
{$grams num/@ud gaz/(list telegram)} ::< messages
:: ui state ::
{$glyph (jug char (set partner))} ::< glyph bindings
{$names (map ship (unit human))} ::< nicknames
2015-12-09 04:54:26 +03:00
== ::
::
::> ||
::> || %broker-communication
::> ||
::> structures for communicating between brokers.
::+|
::
++ command ::> effect on story
$% {$review tos/(list thought)} ::< deliver
2014-12-05 23:14:00 +03:00
== ::
++ report ::> update
2017-04-27 00:33:25 +03:00
$% {$lobby cab/lobby} ::< config neighborhood
{$crowd reg/crowd} ::< presence
{$grams num/@ud gaz/(list telegram)} ::< thoughts
2015-01-01 23:43:50 +03:00
== ::
::
::> ||
::> || %circles
::> ||
::> messaging targets and their metadata.
::+|
::
++ partner (each circle passport) ::< message target
++ circle {hos/ship nom/knot} ::< native target
++ passport ::> foreign target
$% {$twitter p/@t} ::< twitter handle
2014-12-05 23:14:00 +03:00
== ::
2017-04-25 22:09:20 +03:00
:: circle configurations. ::
2017-04-27 00:33:25 +03:00
++ lobby {loc/config rem/(map circle config)} ::< our & srcs configs
++ config ::> circle config
$: src/(set partner) ::< pulls from
cap/cord ::< description
con/control ::< restrictions
2015-01-26 20:44:09 +03:00
== ::
2017-04-27 00:33:25 +03:00
++ control {sec/security ses/(set ship)} ::< access control
++ security ::> security kind
$? $black ::< channel, blacklist
$white ::< village, whitelist
$green ::< journal, author list
$brown ::< mailbox, our r, bl w
== ::
2017-04-25 22:09:20 +03:00
:: participant metadata. ::
2017-04-27 00:33:25 +03:00
++ crowd {loc/group rem/(map partner group)} ::< our & srcs presences
++ group (map ship status) ::< presence map
++ status {pec/presence man/human} ::< participant
++ presence ::> status type
$? $gone ::< left
$idle ::< idle
$hear ::< present
$talk ::< typing
2017-04-25 22:09:20 +03:00
== ::
++ human ::> human identifier
$: tru/(unit (trel @t (unit @t) @t)) ::<TODO unused true name
han/(unit @t) ::< handle
2014-12-05 23:14:00 +03:00
== ::
::
::> ||
::> || %message-data
::> ||
::> structures for containing main message data.
::+|
::
++ 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 pat/? msg/@t} ::< no/@ text line
{$ire tos/serial sep/speech} ::< in-reply-to
{$url url/purf} ::< parsed url
{$exp exp/@t} ::< hoon line
2017-04-27 00:33:25 +03:00
{$fat tac/attache sep/speech} ::< attachment
{$lan nom/knot msg/@t} ::< local announce
{$inv inv/? cir/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
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
2016-03-26 03:47:22 +03:00
== ::
2015-01-01 23:43:50 +03:00
== ::
2017-04-27 00:33:25 +03:00
++ attache ::> attachment
$% {$name nom/@t tac/attache} ::< named attachment
{$text (list @t)} ::< text lines
{$tank (list tank)} ::< tank list
== ::
::
::> ||
::> || %message-metadata
::> ||
:: structures for containing message metadata.
::+|
::
++ serial @uvH ::< unique identifier
++ audience (map partner (pair envelope delivery)) ::< destination + state
++ envelope {vis/? sen/(unit partner)} ::< visible sender
++ delivery ::> delivery state
$? $pending ::< undelivered
$received ::< delivered
$rejected ::< undeliverable
$released ::< sent one-way
$accepted ::< fully processed
2015-01-06 23:31:36 +03:00
== ::
::TODO what is ++bouquet even for? not yet used...
++ bouquet (set flavor) ::< complete aroma
++ flavor path ::< content flavor
2014-12-05 23:14:00 +03:00
--