mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-11-15 13:17:41 +03:00
076f3a0ac4
Story configuration includes a filter for specifying sanitization rules: dis/allowing capitals and non-ASCII characters. The agent does not care about these rules, and just sends its message. If more limiting rules becomes available, the agent might want to adjust its message parsing according to the active audience.
176 lines
9.7 KiB
Plaintext
176 lines
9.7 KiB
Plaintext
::
|
|
:::: /hoon/talk/sur
|
|
!:
|
|
|%
|
|
::
|
|
::> ||
|
|
::> || %reader-communication
|
|
::> ||
|
|
::> broker interfaces for readers.
|
|
::+|
|
|
::
|
|
++ action ::> user action
|
|
$% :: circle configuration ::
|
|
{$create nom/knot des/cord sec/security} ::< create circle
|
|
{$delete nom/knot ano/(unit cord)} ::< delete + announce
|
|
{$depict nom/knot des/cord} ::< change description
|
|
{$filter nom/knot fit/filter} ::< change message rules
|
|
{$permit nom/knot inv/? sis/(set ship)} ::< invite/banish
|
|
{$source nom/knot sub/? src/(set partner)} ::< un/sub to/from src
|
|
{$enlist nom/knot fed/? sis/(set ship)} ::< dis/allow federation
|
|
{$burden circle} ::< help federate
|
|
:: messaging ::
|
|
{$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 circles.
|
|
{$status nos/(set knot) sat/status} ::< our status update
|
|
:: 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/cord ::< 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
|
|
== ::
|
|
{$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
|
|
== ::
|
|
::
|
|
::> ||
|
|
::> || %broker-communication
|
|
::> ||
|
|
::> structures for communicating between brokers.
|
|
::+|
|
|
::
|
|
++ command ::> effect on story
|
|
$% {$review tos/(list thought)} ::< deliver
|
|
$: $burden ::< starting fed state
|
|
nom/knot
|
|
cof/lobby
|
|
pes/crowd
|
|
gaz/(list telegram)
|
|
==
|
|
{$relief nom/knot who/(set ship)} ::< federation ended
|
|
== ::
|
|
++ report ::> update
|
|
$% {$lobby cab/lobby} ::< config neighborhood
|
|
{$crowd reg/crowd} ::< presence
|
|
{$grams num/@ud gaz/(list telegram)} ::< thoughts
|
|
== ::
|
|
::
|
|
::> ||
|
|
::> || %circles
|
|
::> ||
|
|
::> messaging targets and their metadata.
|
|
::+|
|
|
::
|
|
++ partner (each circle passport) ::< message target
|
|
++ circle {hos/ship nom/knot} ::< native target
|
|
++ passport ::> foreign target
|
|
$% {$twitter p/cord} ::< twitter handle
|
|
== ::
|
|
:: circle configurations. ::
|
|
++ lobby {loc/config rem/(map circle config)} ::< our & srcs configs
|
|
++ config ::> circle config
|
|
$: src/(set partner) ::< pulls from
|
|
cap/cord ::< description
|
|
fit/filter ::< message rules
|
|
con/control ::< restrictions
|
|
fed/federal ::< federators
|
|
== ::
|
|
++ filter ::> content filters
|
|
$: cus/? ::< dis/allow capitals
|
|
utf/? ::< dis/allow non-ascii
|
|
== ::
|
|
++ 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
|
|
== ::
|
|
++ federal {may/(set ship) fes/(set ship)} ::< federation control
|
|
:: participant metadata. ::
|
|
++ 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
|
|
== ::
|
|
++ human ::> human identifier
|
|
$: tru/(unit (trel cord (unit cord) cord)) ::<TODO unused true name
|
|
han/(unit cord) ::< handle
|
|
== ::
|
|
::
|
|
::> ||
|
|
::> || %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/cord} ::< no/@ text line
|
|
{$ire tos/serial sep/speech} ::< in-reply-to
|
|
{$url url/purf} ::< parsed url
|
|
{$exp exp/cord} ::< hoon line
|
|
{$fat tac/attache sep/speech} ::< attachment
|
|
{$lan nom/knot msg/cord} ::< local announce
|
|
{$inv inv/? cir/circle} ::< inv/ban for circle
|
|
{$mor ses/(list speech)} ::< multiplex
|
|
{$ext nom/term dat/*} ::< extended action
|
|
{$app app/term msg/cord} ::< app message
|
|
$: $api ::< api message
|
|
service/term ::< service name
|
|
id/cord ::< id on the service
|
|
id-url/purf ::< link to id
|
|
summary/cord ::< summary of event
|
|
body/cord ::< body of event
|
|
url/purf ::< link to event
|
|
meta/json ::< other data for web
|
|
== ::
|
|
== ::
|
|
++ attache ::> attachment
|
|
$% {$name nom/cord tac/attache} ::< named attachment
|
|
{$text (list cord)} ::< 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
|
|
== ::
|
|
::TODO what is ++bouquet even for? not yet used...
|
|
++ bouquet (set flavor) ::< complete aroma
|
|
++ flavor path ::< content flavor
|
|
--
|