Merge remote-tracking branch 'oHaitch/cc-mergeful' into plastic-boot

This commit is contained in:
C. Guy Yarvin 2016-11-30 11:21:09 -08:00
commit 4a13bdcf89
171 changed files with 1177 additions and 1231 deletions

View File

@ -12,7 +12,7 @@
++ invited ?($new $sent $ignored)
++ email @t
--
!:
::
|_ $: bow/bowl
adr/(map email {time invited})
sos/(map bone sole-share)

View File

@ -2,7 +2,7 @@
:::: /hoon/curl/app
::
/? 310
!:
::
|_ {{^ ^ ost/@ ^} $~}
++ poke |*(a/{mark *} :_(+> [ost %hiss / `~ %wain a]~))
::++ poke-purl |=(a/purl :_(+> [ost %hiss / %wain %purl a]~))

View File

@ -8,7 +8,7 @@
=, space:clay
:: :: ::
:::: :: ::::
!: :: ::
:: :: ::
=> |% :: external structures
++ house :: all state
$: $4
@ -108,7 +108,7 @@
{$unto p/cuft:^gall} ::
== ::
-- ::
!: ::
:: ::
:::: ::
:: ::
|_ $: hid/bowl:^gall :: system state

View File

@ -17,7 +17,7 @@
/- gh, plan-acct
/+ gh-parse, connector
::
!:
::
=> |%
++ move (pair bone card)
++ card

View File

@ -5,7 +5,7 @@
:: :github &path /listen/{owner}/{repo}/{events...}
::
/- gh
!:
::
=> |%
++ diff-result
$% {$gh-issue issues:gh}

View File

@ -1,4 +1,4 @@
!:
::
|%
:: Splits a path into the endpoint prefix and the remainder,
:: which is assumed to be a path within the JSON object. We

View File

@ -6,7 +6,7 @@
[. helm kiln drum]
:: :: ::
:::: :: ::
!: :: ::
:: :: ::
=> |% :: module boilerplate
++ hood-old ::
{?($0 $1) lac/(map @tas hood-part-old)} ::
@ -59,7 +59,7 @@
::
++ ably :: save part
|* {(list) hood-part}
[(flop +<-) %_(+> lac (~(put by lac) +<+< +<+))]
[(flop +<-) %_(+> lac (~(put by lac) +<+< `hood-part`+<+))]
:: :: ::
:::: :: ::
:: :: ::
@ -163,15 +163,10 @@
++ poke-womb-obey (wrap poke-obey):from-womb
++ poke-womb-bonus (wrap poke-bonus):from-womb
++ poke-womb-claim (wrap poke-claim):from-womb
++ poke-womb-do-ticket (wrap poke-do-ticket):from-womb
++ poke-womb-do-claim (wrap poke-do-claim):from-womb
++ poke-womb-rekey (wrap poke-rekey):from-womb
++ poke-womb-report (wrap poke-report):from-womb
++ poke-womb-manage (wrap poke-manage):from-womb
++ poke-womb-recycle (wrap poke-recycle):from-womb
++ poke-womb-manage-old-key (wrap poke-manage-old-key):from-womb
++ poke-womb-release (wrap poke-release):from-womb
++ poke-womb-release-ships (wrap poke-release-ships):from-womb
++ poke-womb-reinvite (wrap poke-reinvite):from-womb
++ poke-womb-replay-log (wrap poke-replay-log):from-womb
++ poke-write-sec-atom (wrap poke-sec-atom):from-write

View File

@ -1,5 +1,5 @@
/+ talk
!:
::
=> |%
++ move (pair bone card)
++ card

View File

@ -65,7 +65,7 @@
:: ++ twir parse:twitter :: reparsers
:: ++ twip print:twitter :: printers
--
!:
::
::::
::
|_ {bowl axle}

File diff suppressed because it is too large Load Diff

View File

@ -616,6 +616,7 @@
=+ 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])))
@ -1197,6 +1198,7 @@
$wont `%a :: XX for begin; remove
$warp `%c
$wipe `%f :: XX cache clear
$jaelwomb `%j :: XX name/unpack
==
--
--

View File

@ -21,6 +21,7 @@
=, able:^jael
=, title:jael
=, crypto:ames
=* womb womb:^jael
=, jael
:: ::::
:::: # models :: data structures
@ -444,7 +445,7 @@
[n.b ~ ~]
:: :: ++put:py
++ put :: insert
|= b/ship ^- pile
|= b/@ ^- pile
(uni [b b] ~ ~)
:: :: ++sub:py
++ sub :: subtract
@ -467,10 +468,10 @@
$(b l.b, a [[n.a(q (min q.n.a (dec p.n.b)))] ~ ~])
::
++ tap
=| out/(list (pair ship ship))
=| out/(list @u)
|- ^+ out
?~ a out
$(a l.a, out [n.a $(a r.a)])
$(a l.a, out (welp (gulf n.a) $(a r.a)))
:: :: ++uni:py
++ uni :: merge two piles
|= b/pile
@ -518,7 +519,7 @@
$apple ?>(?=($apple -.ryt) (table %apple p.lef p.ryt))
$block ?>(?=($block -.ryt) [~ ~])
$email ?>(?=($email -.ryt) (sable %email p.lef p.ryt))
$final ?>(?=($final -.ryt) (table %final p.lef p.ryt))
$final ?>(?=($final -.ryt) (cable %final p.lef p.ryt))
$fungi ?>(?=($fungi -.ryt) (noble %fungi p.lef p.ryt))
$guest ?>(?=($guest -.ryt) [~ ~])
$hotel ?>(?=($hotel -.ryt) (bible %hotel p.lef p.ryt))
@ -528,6 +529,11 @@
$token ?>(?=($token -.ryt) (ruble %token p.lef p.ryt))
$urban ?>(?=($urban -.ryt) (table %urban p.lef p.ryt))
==
:: :: ++cable:dif:ry
++ cable :: diff atom
|* {nut/@tas new/@ old/@}
?: =(new old) [~ ~]
[`[nut new] `[nut old]]
:: :: ++bible:dif:ry
++ bible :: diff pile
|* {nut/@tas new/(map dorm pile) old/(map dorm pile)}
@ -623,7 +629,7 @@
$apple ?>(?=($apple -.ryt) [%apple (table p.lef p.ryt)])
$block ?>(?=($block -.ryt) [%block ~])
$email ?>(?=($email -.ryt) [%email (sable p.lef p.ryt)])
$final ?>(?=($final -.ryt) [%final (table p.lef p.ryt)])
$final ?>(?=($final -.ryt) [%final (cable p.lef p.ryt)])
$fungi ?>(?=($fungi -.ryt) [%fungi (noble p.lef p.ryt)])
$guest ?>(?=($guest -.ryt) [%guest ~])
$hotel ?>(?=($hotel -.ryt) [%hotel (bible p.lef p.ryt)])
@ -633,6 +639,11 @@
$token ?>(?=($token -.ryt) [%token (ruble p.lef p.ryt)])
$urban ?>(?=($urban -.ryt) [%urban (table p.lef p.ryt)])
==
:: :: ++cable:uni:ry
++ cable :: union atom
|= {new/@ old/@}
?> =(new old)
new
:: :: ++bible:uni:ry
++ bible :: union pile
|= {new/(map dorm pile) old/(map dorm pile)}
@ -699,7 +710,7 @@
|= ryt/rite
^- safe
?~ pig
~
!! :: not found
?. =(-.ryt -.n.pig)
?: (gor -.ryt -.n.pig)
[n.pig $(pig l.pig) r.pig]
@ -782,7 +793,7 @@
[%apple (~(run by p.rys) |=(@ (mug +<)))]
::
$final
[%final (~(run by p.rys) |=(@ (mug +<)))]
[%final (mug p.rys)]
::
$login
[%login ~]
@ -831,16 +842,16 @@
|_ pub/will
:: :: ++collate:we
++ collate :: sort by version
|= com/$-({{life cert} {life cert}} ?)
|= ord/$-({{life cert} {life cert}} ?)
^- (list (pair life cert))
(sort (~(tap by pub)) com)
(sort (~(tap by pub)) ord)
:: :: ++current:we
++ current :: current number
^- (unit life)
(bind instant |=((pair life cert) p))
:: :: ++forward:we
++ forward :: sort oldest first
(collate |=({a/{life *} b/{life *}} (lth -.a -.b)))
(collate |=({{a/life *} {b/life *}} (lth a b)))
:: :: ++instant:we
++ instant :: current cert
^- (unit (pair life cert))
@ -848,7 +859,7 @@
?~(- ~ `i)
:: :: ++reverse:we
++ reverse :: sort latest first
(collate |=({a/{life *} b/{life *}} (gth -.a -.b)))
(collate |=({{a/life *} {b/life *}} (gth a b)))
--
--
:: ::::
@ -900,6 +911,33 @@
++ burb :: per ship
|= who/ship
~(able ~(ex ur urb) who)
::
++ read-womb
=, wired:eyre :: XX ":eyre"
=, womb
|= pax/path ^- (unit scry:womb)
?~ pax ~
?+ i.pax ~
$balance
%+ bind (read t.pax /[%uv])
|=(a/passcode [%balance a])
::
$stats
%+ bind (read t.pax /[%p])
|=(a/ship [%stats a])
::
$shop
%+ biff (read t.pax /[%tas]/[%ud])
|= {typ/term nth/@u}
?. ?=(?($star $planet) typ) ~
`[%shop typ nth]
==
:: :: ++scry:of
++ scry :: read
|= {syd/@tas pax/path} ^- (unit gilt)
?+ syd ~
$womb (biff (read-womb pax) scry-womb:(burb our))
==
:: :: ++call:of
++ call :: invoke
|= $: :: hen: event cause
@ -927,7 +965,7 @@
:: {$init p/code q/arms}
::
$init
(cure abet:(~(make ur urb) now.sys eny.sys p.tac q.tac))
(cure abet:abet:(make:(burb our) now.sys eny.sys p.tac q.tac))
::
:: create promises
:: {$mint p/ship q/safe}
@ -969,6 +1007,13 @@
$next
(cure abet:abet:(next:(burb our) eny.sys p.tac))
::
::
:: extend our certificate with a new private key
:: {$jaelwomb p/task:womb}
::
$jaelwomb
(cure abet:abet:(jaelwomb:(burb our) p.tac))
::
:: open secure channel
:: {$veil p/ship}
::
@ -1463,6 +1508,8 @@
:: it is the best reference for the semantics of
:: the urbit pki.
::
=* our !!
::
:: it is absolutely verboten to use [our] in ++ur.
::
=| hab/(list change)
@ -1505,73 +1552,6 @@
|= rex/ship
^- (pair life (map life ring))
lean:~(able ex rex)
:: :: ++make:ur
++ make :: initialize urbit
|= $: :: now: date
:: eny: entropy
:: gen: bootstrap ticket
:: nym: self-description
::
now/@da
eny/@e
gen/@pG
nym/arms
==
^+ +>
:: key: generated key
:: bul: initial bull
::
=/ key (ypt:scr (mix our %jael-make) gen)
=* doc `bull`[(sein our) & nym]
::
:: register generator as login secret
::
=. +>.$ abet:(deal:~(able ex our) our [[[%login [gen ~ ~]] ~ ~] ~])
::
:: initialize hierarchical property
::
=. +>.$
=- abet:(deal:~(able ex our) our - ~)
^- safe
%- intern:up
^- (list rite)
=/ mir (clan our)
?+ mir ~
$czar
:~ [%fungi [%usr 255] ~ ~]
[%hotel [[our 3] [1 255] ~ ~] ~ ~]
==
$king
:~ [%fungi [%upl 65.535] ~ ~]
[%hotel [[our 4] [1 65.535] ~ ~] ~ ~]
==
$duke
:~ [%hotel [[our 5] [1 0xffff.ffff] ~ ~] ~ ~]
==
==
::
:: create initial communication secrets
::
?: (lth our 256)
::
:: create galaxy with generator as seed
::
abet:(next:~(able ex our) key doc)
::
:: had: key handle
:: ryt: initial right
::
=/ key (ypt:scr (mix our %jael-make) gen)
=* had (shaf %hand key)
=* ryt `rite`[%urban [had (add ~m1 now) key] ~ ~]
::
:: register initial symmetric key from ticket
::
=. +>.$ abet:(hail:~(able ex (sein our)) our %& [ryt ~ ~])
::
:: create initial private key and certificate
::
abet:(next:~(able ex our) (mix eny key) doc)
:: :: ++meet:ur
++ meet :: calculate merge
|= $: :: vie: authenticated source
@ -1656,6 +1636,72 @@
|= pal/ship
^- safe
=-(?~(- ~ u.-) (~(get by shy) pal))
:: :: ++make:ex:ur
++ make :: initialize urbit
|= $: :: now: date
:: eny: entropy
:: gen: bootstrap ticket
:: nym: self-description
::
now/@da
eny/@e
gen/@pG
nym/arms
==
^+ +>
::
:: register generator as login secret
::
=. +>.$ (deal rex [[[%login [gen ~ ~]] ~ ~] ~])
::
:: initialize hierarchical property
::
=. +>.$
=- (deal rex - ~)
^- safe
%- intern:up
^- (list rite)
=/ mir (clan rex)
?+ mir ~
$czar
:~ [%fungi [%usr 255] ~ ~]
[%hotel [[rex 3] [1 255] ~ ~] ~ ~]
==
$king
:~ [%fungi [%upl 65.535] ~ ~]
[%hotel [[rex 4] [1 65.535] ~ ~] ~ ~]
==
$duke
:~ [%hotel [[rex 5] [1 0xffff.ffff] ~ ~] ~ ~]
==
==
::
:: create initial communication secrets
::
:: key: generated key
:: bul: initial bull
::
=/ key (ypt:scr (mix rex %jael-make) gen)
=* doc `bull`[(sein rex) & nym]
?: (lth rex 256)
::
:: create galaxy with generator as seed
::
(next key doc)
::
:: had: key handle
:: ryt: initial right
::
=* had (shaf %hand key)
=* ryt `rite`[%urban [had (add ~m1 now) key] ~ ~]
::
:: register initial symmetric key from ticket
::
=. ..ex abet:(hail:~(able ex (sein rex)) rex %& [ryt ~ ~])
::
:: create initial private key and certificate
::
(next (mix eny key) doc)
:: :: ++next:ex:ur
++ next :: advance private key
|= {eny/@e doc/bull}
@ -1678,6 +1724,139 @@
=. +>.$ (deal rex [[ryt ~ ~] ~])
=. ..ex (meet [~ ~] hec)
+>.$
::
++ as-hotel :: XX moveme
|= a/ship ^- (map {ship bloq} pile)
=/ b (xeb (xeb a))
=- (my - ~)
:- [(sein a) b]
(put:py (rsh (dec b) 1 a))
::
++ add-rite :: new promise
|=({pal/ship ryt/rite} (deal pal [ryt ~ ~] ~))
::
++ mov-rite :: transfer promise
|= {{pal/ship par/ship} ryt/rite}
^+ +>
=. deal (deal pal ~ [ryt ~ ~])
(deal par [ryt ~ ~] ~)
::
++ del-rite :: dead promise
|=({pal/ship ryt/rite} (deal pal ~ [ryt ~ ~]))
::
++ jaelwomb :: manage ship %fungi
|= taz/task:womb
^+ +>
?- -.taz
::
:: create passcode balance
:: {$invite tid/passcode inv/{who/mail pla/@ud sta/@ud}}
::
$invite
=/ pas/@p (shaf %pass tid.taz)
=* inv inv.taz
?< (~(has by shy) pas)
=. +>.$ (add-rite pas [%email (sy who.inv ~)])
%+ mov-rite [rex pas]
[%fungi (my [%upl pla.inv] [%usr sta.inv] ~)]
::
:: increase existing balance
:: {$reinvite aut/passcode pla/@ud sta/@ud}
::
$bonus
=/ pas/@p (shaf %pass tid.taz)
?> (~(has by shy) pas)
%+ mov-rite [rex pas]
[%fungi (my [%upl pla.taz] [%usr sta.taz] ~)]
::
:: split passcode balance
:: {$reinvite aut/passcode tid/passcode inv/{who/mail pla/@ud sta/@ud}}
::
$reinvite
=/ pas/@p (shaf %pass tid.taz)
=* inv inv.taz
?< (~(has by shy) pas)
=. +>.$ (add-rite pas [%email (sy who.inv ~)])
:: XX history
=/ ole/@p (shaf %pass aut.taz)
%+ mov-rite [ole pas]
[%fungi (my [%upl pla.inv] [%usr sta.inv] ~)]
::
:: redeem ship invitation
:: {$claim aut/passcode her/@p tik/ticket}
::
$claim
=/ pas/@p (shaf %pass aut.taz)
?> =(rex (sein her.taz)) :: XX deal with foreign ships?
=/ len (xeb (xeb her.taz))
=/ fun ?+((clan her.taz) !! $duke %upl, $king %usr)
=. +>.$
(del-rite pas [%fungi (my [fun 1] ~)])
=. +>.$
(del-rite rex [%hotel (as-hotel her.taz)])
=/ who (need %.(%email ~(expose up (lawn pas))))
=. +>.$ (add-rite her.taz who)
(add-rite her.taz [%final tik.taz])
==
:: :: div-at-most:ex:ur
++ div-at-most :: skip n ships
|= {a/pile b/@u} ^- (pair pile pile)
(fall (~(div py a) b) [a *pile])
:: :: scry-womb:ex:ur
++ scry-womb :: read data
|= req/scry:womb ^- (unit gilt:womb)
?- -.req
::
:: ship details
:: {$stats who/ship}
::
$stats
%+ some %womb-owner
%+ bind (~(get by shy) who.req)
|= a/safe ^- mail:womb
:: XX deal with multiple emails?
=+ (need (~(expose up a) %email))
?> ?=({$email {@ $~ $~}} -)
n.p.-
::
:: invite details
:: {$balance aut/passcode}
::
$balance
%+ some %womb-balance
%+ bind (~(get by shy) (shaf %pass aut.req))
|= a/safe ^- balance:womb
=/ who :: XX deal with multiple emails?
=+ (need (~(expose up a) %email))
?> ?=({$email {@ $~ $~}} -)
n.p.-
=/ fun
=+ (fall (~(expose up a) %fungi) [%fungi p=~])
?> ?=($fungi -.-)
p.-
:+ who=who
pla=(fall (~(get by fun) %earl) 0)
sta=(fall (~(get by fun) %king) 0)
::
:: available ships
:: {$shop typ/?($star $planet) nth/@u}
::
$shop
=* ships-per-shop 3
=* skip-ships (mul nth.req ships-per-shop)
::
%+ some %ships ^- (list ship)
=/ hot
=+ (fall (~(expose up (lawn rex)) %hotel) [%hotel p=~])
?> ?=($hotel -.-)
p.-
=/ syz/bloq ?-(typ.req $star 3, $planet 4)
=/ pyl/pile (fall (~(get by hot) [rex syz]) ~)
=. pyl q:(div-at-most pyl skip-ships)
=/ got p:(div-at-most pyl ships-per-shop)
%+ turn ~(tap py got)
|=(a/@u `ship`(rep syz ~[rex a]))
==
:: :: grow:ex:ur
++ grow :: merge wills
|= $: :: vie: data source
@ -1916,7 +2095,7 @@
==
=> .(q.hic ?.(?=($soft -.q.hic) q.hic ((hard task) p.q.hic)))
^- {p/(list move) q/_..^$}
=^ did lex abet:~(call of [now eny] lex)
=^ did lex abet:(~(call of [now eny] lex) hen q.hic)
[did ..^$]
:: :: ++doze
++ doze :: await
@ -1953,7 +2132,12 @@
tyl/spur
==
^- (unit (unit cage))
~
:: XX security
?. =(lot [%$ %da now]) ~
%- some
?. =(%$ ren) ~
%+ bind (~(scry of [now eny] lex) syd tyl)
|=(a/gilt [-.a (slot 3 (spec !>(a)))])
:: :: ++stay
++ stay :: preserve
lex

View File

@ -576,6 +576,7 @@
{$thus p/@ud q/(unit hiss)} :: http request+cancel
{$veer p/@ta q/path r/@t} :: drop-through
{$vega p/path} :: drop-through
{$mini-jael-gift *}
== ::
++ task :: in request ->$
$% {$born $~} :: new unix process
@ -591,11 +592,19 @@
{$wegh $~} :: report memory
{$went p/sack q/path r/@ud s/coop} :: response confirm
{$west p/sack q/{path @ud *}} :: network request
{$mini-jael-task *}
== ::
-- ::able
::
:::: :: (1e2)
::
++ bale :: driver state
|* a/_* :: %jael keys type
$: {our/ship now/@da eny/@uvJ byk/beak} :: base info
{usr/user dom/(list @t)} :: req user, domain
key/a :: secrets from %jael
== ::
::
++ clip (each @if @is) :: client IP
++ cred :: credential
$: hut/hart :: client host
@ -612,10 +621,7 @@
but/path :: ending
== ::
++ gram :: inter-ship message
$? {{$lon $~} p/hole} :: login request
{{$aut $~} p/hole} :: login reply
{{$hat $~} p/hole q/hart} :: login redirect
{{$get $~} p/@uvH q/{? clip httq}} :: remote request
$? {{$get $~} p/@uvH q/{? clip httq}} :: remote request
{{$got $~} p/@uvH q/httr} :: remote response
{{$gib $~} p/@uvH} :: remote cancel
== ::
@ -673,6 +679,12 @@
{$| p/pork q/quay} :: relative
== ::
++ rout {p/(list host) q/path r/oryx s/path} :: http route (new)
++ sec-move :: driver effect
$% {$send p/hiss} :: http out
{$show p/purl} :: direct user to url
{$give p/httr} :: respond immediately
{$redo $~} :: restart request qeu
== ::
-- ::eyre
::
++ ford ^?
@ -921,22 +933,56 @@
%+ each balance :: complete
action :: change
::
++ task :: in request ->$
$% {$burn p/ship q/safe} :: destroy rights
{$hail p/ship q/remote} :: remote update
{$init p/@pG q/arms} :: initialize urbit
{$meet p/(unit (unit ship)) q/farm} :: integrate pki from
{$mint p/ship q/safe} :: create rights
{$move p/ship q/ship r/safe} :: transfer from/to
{$next p/bull} :: update private key
{$nuke $~} :: cancel tracker from
{$veil p/ship} :: view secret channel
{$vein $~} :: view signing keys
{$vest $~} :: view public balance
{$vine $~} :: view secret history
{$west p/ship q/path r/*} :: remote request
== ::
-- :: moves
++ task :: in request ->$
$% {$burn p/ship q/safe} :: destroy rights
{$hail p/ship q/remote} :: remote update
{$init p/@pG q/arms} :: initialize urbit
{$meet p/(unit (unit ship)) q/farm} :: integrate pki from
{$mint p/ship q/safe} :: create rights
{$move p/ship q/ship r/safe} :: transfer from/to
{$next p/bull} :: update private key
{$nuke $~} :: cancel tracker from
{$veil p/ship} :: view secret channel
{$vein $~} :: view signing keys
{$vest $~} :: view public balance
{$vine $~} :: view secret history
{$jaelwomb p/task:womb}
{$west p/ship q/path r/*} :: remote request
== ::
++ gilt gilt:womb
--
::
++ womb ^?
:: types used to serve the lib/womb invite controller
|%
++ ticket @G :: old 64-bit ticket
++ passcode @uvH :: 128-bit passcode
++ passhash @uwH :: passocde hash
++ mail @t :: email address
++ invite ::
$: who/mail :: owner email
pla/@ud :: planets to send
sta/@ud :: stars to send
== ::
:: ::
++ task :: manage ship %fungi
$% {$claim aut/passcode her/@p tik/ticket} :: convert to %final
{$bonus tid/passcode pla/@ud sta/@ud} :: supplement passcode
{$invite tid/passcode inv/invite} :: alloc to passcode
{$reinvite aut/passcode tid/passcode inv/invite}:: move to another
==
++ scry
$% {$shop typ/?($star $planet) nth/@u} :: available ships
{$stats who/ship} :: ship details
{$balance aut/passcode} :: invite details
==
++ balance {who/mail pla/@ud sta/@ud} :: equivalent to invite?
++ gilt
$% {$ships (list ship)} ::
{$womb-owner (unit mail)} ::
{$womb-balance (unit balance)} ::
==
--
:: ::
:::: ++pki:^jael :: (1h2) certificates
:: ::::
@ -1029,8 +1075,8 @@
++ rite :: urbit commitment
$% {$apple p/(map site @)} :: web api key
{$block $~} :: banned
{$email p/(set @ta)} :: email addresses
{$final p/(map ship @pG)} :: ticketed ships
{$email p/(set @t)} :: email addresses
{$final p/@pG} :: recognize by ticket
{$fungi p/(map term @ud)} :: fungibles
{$guest $~} :: refugee visa
{$hotel p/(map dorm pile)} :: reserved block

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{who/(list ship) $~}

View File

@ -4,7 +4,7 @@
/? 310
::
::::
!:
::
:- %say
|= {^ {{txt/@tas $~} $~}}
~& %foobar

View File

@ -5,7 +5,7 @@
/? 310
// /%%/ls/subdir
// /%/pretty
!:
::
::::
::
:- %say

View File

@ -3,7 +3,7 @@
:::: /hoon/pretty/cat/gen
::
/? 310
!:
::
|%
++ pretty-noun
|= pri/* ^- tank

View File

@ -4,7 +4,7 @@
::
/? 310
/- sole
[sole]
=, sole
:- %get |= {^ {a/hiss $~} usr/iden}
^- (sole-request (cask httr))
?. ?=($get p.q.a)

View File

@ -4,7 +4,7 @@
::
/? 310
/- sole
[sole]
=, sole
:- %get |= {^ {a/tape $~} $~}
^- (sole-request (cask httr))
%+ sole-at (scan a auri:epur)

View File

@ -5,7 +5,7 @@
/? 310
::
:::::
!:
::
:- %say
|= {^ {arg/tape $~} $~}
purl+(scan arg auri:epur)

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
arg/$@($~ {number/@u $~})

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= {^ {{txt/@tas $~} $~}}
:- %noun

View File

@ -3,7 +3,7 @@
:::: /hoon/help/gen
::
/? 310
!:
::
::::
::
|%

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/?($~ {? $~}) $~}

View File

@ -6,12 +6,12 @@
/- sole
::
::::
!:
::
=> |%
++ begs {his/@p tic/@p yen/@t ges/gens}
++ scug |*({a/@ b/(pole)} ?~(b ~ ?~(a ~ [-.b $(b +.b, a (dec a))])))
--
[sole .]
=, sole
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/_(scug *@ *{his/@p tic/@p $~})}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{pas/@uvG opt/$@($~ {planets/@u $@($~ {stars/@u $~})})} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/(list term) $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{syd/@tas $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{pas/@uvH her/@p $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$~ $~}

View File

@ -6,8 +6,8 @@
/- sole
::
::::
!:
[sole .]
::
=, sole
:- %say
|= $: {now/@da eny/@ bec/beak}
{$~ $~}

View File

@ -6,8 +6,8 @@
/- sole
::
::::
!:
[sole .]
::
=, sole
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$@($~ {dom/path $~})}

View File

@ -6,8 +6,8 @@
/- sole
::
::::
!:
[sole .]
::
=, sole
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$@($~ {dom/path $~})}

View File

@ -6,8 +6,8 @@
/- sole
::
::::
!:
[sole .]
::
=, sole
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$@($~ {dom/path $~})}

View File

@ -6,8 +6,8 @@
/- sole
::
::::
!:
[sole .]
::
=, sole
:- %ask
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$@($~ {jon/json $~})}

View File

@ -9,9 +9,9 @@
/+ womb
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{who/@t $~} ref/(unit (each ship mail:womb)) sta/@}
{{who/@t $~} sta/@}
==
:- %womb-invite
^- {cord reference invite}:womb
^- {cord invite}:womb
=+ inv=(scot %uv (end 7 1 eny))
[inv ref [who 10 sta "You have been invited to Urbit: {(trip inv)}" "This is an invite of 10 planets"]]
[inv [who 10 sta "You have been invited to Urbit: {(trip inv)}" "This is an invite of 10 planets"]]

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/{syd/desk lab/@tas $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ byk/beak}
{arg/$?({dap/term $~} {who/ship dap/term $~}) $~}

View File

@ -6,7 +6,7 @@
/+ womb
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ byk/beak}
{{dap/term pas/@uw $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{who/@p key/@ $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{who/(list @p) $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$~ $~}

View File

@ -3,14 +3,14 @@
:::: /hoon/merge/hood/gen
::
/? 310
!:
::
|%
++ beaky {knot knot knot $~}
++ sorc ?({bek/beaky $~} {her/@p sud/@tas $~})
--
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bek/beak}
{arg/{?(sorc {syd/$@(desk beaky) sorc})} cas/case gem/?($auto germ)}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{pax/path pot/$@($~ {v/@tas $~})} $~}

View File

@ -4,7 +4,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{bos/$@($~ {i/@p $~})} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$@($~ {tym/@dr $~}) $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$~ $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$~ $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{pas/@uvG who/@t $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{$~ $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{who/(list ship) $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{sta/@u gal/$@($~ {i/@u $~})} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/{desk (list term)} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/(list term) $~}

View File

@ -6,7 +6,7 @@
/+ womb
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{log/(list {@uvJ transaction:womb}) $~}

View File

@ -4,7 +4,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{her/@p wil/will $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$~ $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/$~ $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ byk/beak}
{{dap/term $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{pax/$@(term {i/knot t/path}) $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/{@ $@($~ {@ $~})} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/{syd/@tas her/@p sud/@tas $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= {{now/@da eny/@uvJ bec/beak} $~ $~}
[%kiln-syncs ~]

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/{syd/@tas her/@p sud/@tas $~} $~}

View File

@ -6,7 +6,7 @@
/+ womb
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{pas/@uvH who/@t $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ byk/beak}
{arg/$?({dap/term $~} {who/ship dap/term $~}) $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{mon/$@(term {knot path}) $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{arg/{syd/@tas her/@p sud/@tas $~} $~}

View File

@ -6,8 +6,8 @@
/- sole
::
::::
!:
[sole .]
::
=, sole
:- %say
|= $: {now/@da eny/@ bec/beak}
{$~ $~}

View File

@ -4,7 +4,7 @@
::
/? 310
// /%/subdir
!:
::
::::
::
~& %

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
$~

View File

@ -1,4 +1,4 @@
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{app/term source/path station/knot $~} $~}

View File

@ -1,4 +1,4 @@
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{app/term source/path station/knot $~} $~}

View File

@ -1,4 +1,4 @@
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{$~ $~}

View File

@ -4,7 +4,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{who/@p $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
:: Input twitter keys
/- sole
!:
::
=+ cryp=crub
=+ [sole]
:- %ask

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{$~ $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ byk/beak}
{{man/knot $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ byk/beak}
{{man/knot $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ byk/beak}
{{man/knot $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ byk/beak}
{{man/knot $~} $~}

View File

@ -5,7 +5,7 @@
/? 310
::
::::
!:
::
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{her/@p $~} $~}

View File

@ -3,7 +3,7 @@
:::: /hoon/tree/gen
::
/? 310
!:
::
::::
::
:- %say

View File

@ -6,7 +6,7 @@
::
::::
::
[twitter .]
=, twitter
:- %say
|= $: {now/@da eny/@uvJ bec/beak}
{{who/knot msg/cord $~} $~}

View File

@ -3,7 +3,7 @@
:::: /hoon/feed/twit/gen
::
/- twitter
!:
::
:::: ~fyr
::
:- %say

View File

@ -2,6 +2,7 @@
::
:::: /hoon/basic-auth/lib
::
=, ^eyre
|%
++ keys @t
--

View File

@ -6,7 +6,7 @@
::
::::
::
[markdown .]
=,(markdown .)
// /%/parse :: inli donp parse
// /%/rend :: sing sung sang flat into-inner
~% %down ..is ~

View File

@ -3,7 +3,9 @@
:::: /hoon/parse/down-jet/lib
::
/? 310
=, xml:eyre
=* xml xml:eyre
=, js:eyre
=, lines:clay
=+ =~
|%
++ loca |*(a/_* {p/@u q/a})
@ -11,11 +13,12 @@
--
|%
++ htm-enty :: XX belongs in zuse
=, space:clay
~+
=- |= tub/nail ^- (like @t) %. tub :: export context
=+(poxa enty(ent mapping))
=+(parse:xml enty(ent mapping))
^- mapping/(map knot @tF)
=+ pax=/==5%%/html5-entities/json :: XX %%/
=+ pax=/==2%%/html5-entities/json :: XX %%/
=+ maf=%.(pax ;~(biff file (soft json) (om so):jo))
?^ maf u.maf
~& no-enty+pax
@ -165,7 +168,7 @@
$& (madn n.a)
$| (madn p.a)
==
;~(pose empt:poxa (pech [head tail]:poxa))
;~(pose empt:parse:xml (pech [head tail]:parse:xml))
::
++ line
%+ cold [%line ~]

View File

@ -3,7 +3,9 @@
:::: /hoon/rend/down-jet/lib
::
/? 310
!:
=* xml xml:eyre
=, url:eyre
::
|%
++ into-inner
|= {a/marl b/manx}
@ -74,14 +76,14 @@
(push (reso ele) ~)
:: begin reparsing of html that the spec jankily lets through ::
=+ tex=(trip (role p.ele))
=^ mar lum (chomp tex (sear |=(a/marl ?~(a ~ (some a))) many:poxa))
=^ mar lum (chomp tex (sear |=(a/marl ?~(a ~ (some a))) many:parse:xml))
?^ mar
(push u.mar)
=^ hed lum (chomp tex head:poxa)
=^ hed lum (chomp tex head:parse:xml)
?^ hed
=+ max=`marx`u.hed
(push(lum q) [max p] ~):[apex(had `n.max) .]
=^ tal lum (chomp tex tail:poxa)
=^ tal lum (chomp tex tail:parse:xml)
?~ tal
=^ cha lum (chomp tex prn)
?^ cha
@ -138,9 +140,9 @@
;meta(value "{(pojo jon)}", name "frontmatter", urb_front "");
:: %html
::=+ tex=(role (turn p.a crip))
::=+ (poxa tex)
::=+ (parse:xml tex)
::?^ - u.-
::=+ (rush tex (star ;~(pose gah comt:poxa)))
::=+ (rush tex (star ;~(pose gah comt:parse:xml)))
::?^ - ;/(~)
::;lost: {<p.a>}
:: ;/([(role (turn p.a crip))]~) :: XX haaaaaaack
@ -173,15 +175,15 @@
apex(p.i.lim (weld p.ele p.i.lim))
(push (reso ele) ~)
=+ tex=(trip p.ele)
=^ emo lim (chomp tex empt:poxa)
=^ emo lim (chomp tex empt:parse:xml)
?^ emo
=+ man=`manx`u.emo
(push man ~)
=^ hed lim (chomp tex head:poxa)
=^ hed lim (chomp tex head:parse:xml)
?^ hed
=+ max=`marx`u.hed
(push(lim q) [max p] ~):[apex(had `n.max) .]
=^ tal lim (chomp tex tail:poxa)
=^ tal lim (chomp tex tail:parse:xml)
?~ tal
(push ;lost:"{tex}" ~)
?: =(had tal)

View File

@ -5,7 +5,7 @@
/- sole
/+ sole
[. ^sole]
!: :: ::
:: :: ::
:::: :: ::
:: :: ::
|% :: ::
@ -113,7 +113,7 @@
|= way/wire ^- gill:^gall
?>(?=({@ @ $~} way) [(slav %p i.way) i.t.way])
--
!:
::
::::
::
|= {hid/bowl:^gall drum-part} :: main drum work

View File

@ -3,6 +3,7 @@
:::: /hoon/elem-to-react-json/lib
::
/? 310
=, js:eyre
|%
++ react-attrs :: uppercase mapping
~+ ^- (map term cord)

View File

@ -2,7 +2,8 @@
:::: /hoon/frontmatter/lib
::
/? 310
!:
::
=, lines:clay
|%
++ atr-lines
|= atr/(map cord cord)

View File

@ -45,7 +45,7 @@
-- ::
:: :: ::
:::: :: ::
!: :: ::
:: :: ::
|= {bowl:^gall helm-part} :: main helm work
=+ sez=(fall (~(get by hoc) ost) *helm-session)
=> |% :: arvo structures

View File

@ -4,7 +4,7 @@
::
::
/? 310
!:
::
|%
++ request
$: domain/(list cord)

View File

@ -52,7 +52,7 @@
-- ::
:: :: ::
:::: :: ::
!: :: ::
:: :: ::
|= {bowl:^gall kiln-part} :: main kiln work
?> =(src our)
=> |% :: arvo structures
@ -190,7 +190,7 @@
=. cur-zuse .^(@uvI %cz /(scot %p our)/home/(scot %da now)/arvo/zuse/hoon)
=. cur-vanes
%- malt
%+ turn `(list @tas)`~[%ames %behn %clay %dill %eyre %ford %gall]
%+ turn `(list @tas)`~[%ames %behn %clay %dill %eyre %ford %gall %jael]
|= syd/@tas
:- syd
.^(@uvI %cz /(scot %p our)/home/(scot %da now)/arvo/[syd]/hoon)
@ -242,7 +242,7 @@
|= {way/wire rot/riot}
?> ?=($~ way)
?> ?=(^ rot)
=+ vanes=`(list @tas)`~[%ames %behn %clay %dill %eyre %ford %gall]
=+ vanes=`(list @tas)`~[%ames %behn %clay %dill %eyre %ford %gall %jael]
=. +>.$
?. autoload
+>.$

View File

@ -3,6 +3,7 @@
:::: /hoon/oauth1/lib
::
/+ interpolate, hep-to-cab
=, ^eyre
|%
++ keys cord:{key/@t sec/@t} :: app key pair
++ token :: user keys
@ -71,7 +72,7 @@
?@ b ~|(b (~(got by all) b))
[(..$ -.b) (..$ +.b)]
--
!:
::
::::
::
|_ {(bale keys) tok/token}

View File

@ -3,6 +3,7 @@
:::: /hoon/oauth2/lib
::
/+ hep-to-cab, interpolate
=, ^eyre
|%
++ parse-url parse-url:interpolate
++ join

View File

@ -4,7 +4,7 @@
/? 310
/- sole
[. ^sole]
!:
::
::::
::
|_ sole-share :: shared-state engine

View File

@ -5,7 +5,7 @@
::
/? 310
/- talk
!:
::
::::
::
[. ^talk]

View File

@ -3,7 +3,7 @@
:::: /hoon/time-to-id/lib
::
/? 310
!:
::
:::: ~fyr
::
|= a/time ^- tape

Some files were not shown because too many files have changed in this diff Show More