mirror of
https://github.com/urbit/shrub.git
synced 2024-12-14 20:02:51 +03:00
Merge remote-tracking branch 'origin/test' into newunix
Conflicts: urb/urbit.pill urb/zod/base/arvo/clay.hoon
This commit is contained in:
commit
bdeb4e4a11
@ -46,7 +46,7 @@ $: cred=(unit ,[app-secret=@t client-id=@t])
|
||||
++ hostname ^- hart
|
||||
?+ (clan our.hid) !!
|
||||
%czar [| ?+(our.hid `8.443 %~fyr `8.444) `/localhost]
|
||||
%duke [| ~ `/org/urbit/(crip +:<our.hid>)]
|
||||
%duke [| `8.444 `/org/urbit/(crip +:<our.hid>)]
|
||||
==
|
||||
++ auth-url
|
||||
%+ weld "https://sandbox.coinbase.com/oauth/authorize"
|
||||
|
@ -10,37 +10,66 @@
|
||||
::
|
||||
:::: sivtyv-barnel
|
||||
::
|
||||
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: data structures ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
!:
|
||||
|%
|
||||
++ instance
|
||||
$: plat=?(%do %gce) name=@t id=@t status=@t created=@da snapshot=name=@t ::disk=@u region=@t
|
||||
$: plat=?(%do %gce) name=@t id=@t status=@t created=@da snapshot=name=@t ::disk=@u region=@t
|
||||
::ip=(list ,@if)
|
||||
==
|
||||
++ create-req-do
|
||||
$:
|
||||
name=@t ::region=@t
|
||||
size=@t image=@t ssh=(list cord)
|
||||
backups=(unit ,?) ipv6=(unit ,?)
|
||||
private-networking=(unit ,?) user-data=(unit ,@t)
|
||||
++ image
|
||||
$: plat=?(%do %gce) name=@t id=@t
|
||||
==
|
||||
++ create-req-do
|
||||
$:
|
||||
name=@t ::region=@t
|
||||
size=@t image=@t ssh=(list cord)
|
||||
backups=(unit ,?) ipv6=(unit ,?)
|
||||
private-networking=(unit ,?) user-data=(unit ,@t)
|
||||
==
|
||||
++ create-req-gce ,[project=@t zone=@t name=@t machine-type=@t]
|
||||
++ axle
|
||||
$: auth=[do=keys gce=keys] toke=[do=tokens gce=tokens]
|
||||
insts=(map ,@t instance)
|
||||
==
|
||||
$: auth=[do=keys gce=keys] toke=[do=tokens gce=tokens]
|
||||
insts=(map ,@t instance) images=(map [,[@t @t] image])
|
||||
==
|
||||
++ keys ,[authc=(unit ,@t) client-secret=(unit ,@t)]
|
||||
++ tokens ,[access=@t refresh=@t]
|
||||
++ move ,[bone card]
|
||||
++ card
|
||||
$% [%diff %json json]
|
||||
[%wait wire @da]
|
||||
[%send wire [ship term] %poke %talk-command command]
|
||||
[%them wire (unit hiss)]
|
||||
==
|
||||
$% [%diff %json json]
|
||||
[%wait wire @da]
|
||||
[%send wire [ship term] %poke %talk-command command]
|
||||
[%them wire (unit hiss)]
|
||||
==
|
||||
++ droplet-action
|
||||
$% [%start ~]
|
||||
[%stop ~]
|
||||
[%reboot ~]
|
||||
[%delete ~]
|
||||
[%snapshot p=@t]
|
||||
==
|
||||
++ cloud-command
|
||||
$% [%action id=@t name=@t act=droplet-action]
|
||||
[%create-do p=json]
|
||||
[%create-gce p=json]
|
||||
==
|
||||
--
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: miscellaneous functions ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
!:
|
||||
|% :::
|
||||
|%
|
||||
++ auth-queries
|
||||
|= code=cord
|
||||
:~ 'grant_type'^'authorization_code'
|
||||
'code'^code
|
||||
:- 'client_id'
|
||||
'd8f46b95af38c1ab3d78ad34c2157a6959c23eb0eb5d8e393f650f08e6a75c6f'
|
||||
'redirect_uri'^'http://localhost:8443/home/pub/cloud/fab'
|
||||
==
|
||||
::
|
||||
++ parse-iso8601
|
||||
=< (cook to-time (parsf ;"{parse-day}T{parse-seconds}{parse-zone}"))
|
||||
|%
|
||||
@ -63,28 +92,53 @@ $% [%diff %json json]
|
||||
==
|
||||
++ parse-zone-sign ;~(plug ;~(pose (cold & lus) (cold | hep)))
|
||||
--
|
||||
++ parse-cloud-command
|
||||
=+ jo
|
||||
%- of :~
|
||||
[%create-gce some]
|
||||
[%create-do some]
|
||||
::[%create-gce some]
|
||||
:- %action
|
||||
(ot id/so name/so act/parse-droplet-action ~)
|
||||
==
|
||||
++ parse-droplet-action
|
||||
=> jo
|
||||
%- of :~
|
||||
[%start ul]
|
||||
[%stop ul]
|
||||
[%reboot ul]
|
||||
[%delete ul]
|
||||
[%snapshot so]
|
||||
==
|
||||
++ key-do
|
||||
(mo [%start 'power_on'] [%stop 'shutdown'] [%reboot 'power_cycle'] ~)
|
||||
::
|
||||
++ adapter-do
|
||||
|= a=cord
|
||||
(~(got by key-do) a)
|
||||
::
|
||||
++ parse-ip-do
|
||||
=> jo
|
||||
%- ot
|
||||
:_ ~ v4/(ar (ot 'ip_address'^(su lip:ag) ~))
|
||||
::
|
||||
++ parse-ip-gce
|
||||
=> jo
|
||||
%+ cu |=(a=(list (list ,@if)) `(list ,@if)`(zing a))
|
||||
(ar (ot 'accessConfigs'^(ar (ot 'natIP'^(su lip:ag) ~)) ~))
|
||||
::
|
||||
++ tail-url
|
||||
|= a=cord
|
||||
-:(flop q.q:(need (epur a)))
|
||||
::
|
||||
++ parse-region
|
||||
=> jo
|
||||
(ot name/so ~)
|
||||
::
|
||||
++ parse-id-text
|
||||
|= jon=json
|
||||
?.(?=([?(%n %s) *] jon) ~ (some p.jon))
|
||||
::
|
||||
++ create-do-body
|
||||
|= $: name=@t ::region=@t
|
||||
size=@t image=@t ssh-keys=(list cord)
|
||||
@ -96,8 +150,9 @@ $% [%diff %json json]
|
||||
backups/?~(backups ~ b/u.backups) ipv6/?~(ipv6 ~ b/u.ipv6)
|
||||
'user_data'^?~(user-data ~ s/u.user-data) 'private_networking'^?~(private-networking ~ b/u.private-networking)
|
||||
==
|
||||
::
|
||||
++ convert-do
|
||||
|= a=?(%start %stop %reboot)
|
||||
|= a=?(%start %stop %reboot %snapshot)
|
||||
?- a
|
||||
%start
|
||||
'power_on'
|
||||
@ -105,9 +160,14 @@ $% [%diff %json json]
|
||||
'shutdown'
|
||||
%reboot
|
||||
'power_cycle'
|
||||
%snapshot
|
||||
'snapshot'
|
||||
==
|
||||
++ state-to-json
|
||||
::
|
||||
++ instance-to-json
|
||||
|= a=(list instance)
|
||||
^- json
|
||||
%+ joba 'instances'
|
||||
:- %a
|
||||
%+ turn a
|
||||
|= instance
|
||||
@ -119,30 +179,44 @@ $% [%diff %json json]
|
||||
created/s/(crip (dust (yore created)))
|
||||
::region/s/region
|
||||
snapshot/s/snapshot
|
||||
:: disk/`json`(jone disk)
|
||||
::disk/`json`(jone disk)
|
||||
::ip/a/(turn ip |=(a=@if s/(rsh 3 1 (scot %if a))))
|
||||
==
|
||||
++ map-to-list
|
||||
|= a=(map [,[@t @t] image])
|
||||
^- liz=(list image)
|
||||
%+ turn (~(tap by a) *(list ,[[@t @t] image]))
|
||||
|=(a=[[@t @t] image] `image`+.a)
|
||||
::
|
||||
++ image-to-json
|
||||
|= a=(list image)
|
||||
%+ joba 'images'
|
||||
:- %a
|
||||
%+ turn a
|
||||
|= image
|
||||
^- json
|
||||
%- jobe
|
||||
:~ name/s/name id/s/id ==
|
||||
--
|
||||
::::::::::::::::
|
||||
:: main door ::
|
||||
::::::::::::::::
|
||||
!:
|
||||
|_ [bowl vat=axle]
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: miscellaneous arms that have to be in main door for scope reasons ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
|
||||
::
|
||||
++ prep ,_`.
|
||||
::
|
||||
++ peer
|
||||
|= pax=path
|
||||
::++ prep ,_`.
|
||||
::
|
||||
++ thou
|
||||
|= [pour-path=path resp=?(httr *)]
|
||||
^- [(list move) _+>.$]
|
||||
:_ +>.$
|
||||
=+ lis=(~(tap by insts.vat))
|
||||
[ost %diff %json (state-to-json (turn lis |=(a=[@t instance] +.a)))]~
|
||||
::
|
||||
++ spam
|
||||
|= jon=json
|
||||
%+ turn (~(tap by sup))
|
||||
|= [sub=bone @ pax=path]
|
||||
^- move
|
||||
[sub %diff %json jon]
|
||||
++ httpreq
|
||||
|= $: pour-path=wire
|
||||
~& unhandled-pour-path/resp
|
||||
:_ +>.$ ~
|
||||
++ httpreq
|
||||
|= $: pour-path=wire :: must be in main door because of scope
|
||||
domain=(list cord) end-point=path
|
||||
req-type=$?(%get %delt [%post json]) headers=math
|
||||
queries=quay
|
||||
@ -162,16 +236,46 @@ $% [%diff %json json]
|
||||
[%post headers ~ (tact (pojo +.req-type))]
|
||||
:^ ost %them pour-path
|
||||
`(unit hiss)`[~ request]
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: manage supscriptions and publish to talk ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ peer
|
||||
|= pax=path
|
||||
^- [(list move) _+>.$]
|
||||
:_ +>.$
|
||||
=+ lis=(~(tap by insts.vat))
|
||||
[ost %diff %json (instance-to-json (turn lis |=(a=[@t instance] +.a)))]~
|
||||
::
|
||||
++ auth-queries
|
||||
|= code=cord
|
||||
:~ 'grant_type'^'authorization_code'
|
||||
'code'^code
|
||||
:- 'client_id'
|
||||
'd8f46b95af38c1ab3d78ad34c2157a6959c23eb0eb5d8e393f650f08e6a75c6f'
|
||||
'redirect_uri'^'http://localhost:8443/home/pub/cloud/fab'
|
||||
==
|
||||
++ spam
|
||||
|= jon=json
|
||||
%+ turn (~(tap by sup))
|
||||
|= [sub=bone @ pax=path]
|
||||
^- move
|
||||
[sub %diff %json jon]
|
||||
::
|
||||
++ publish
|
||||
|= [act=(list speech)]
|
||||
^- move
|
||||
=+ ^= spchz
|
||||
%+ turn act
|
||||
|= sp=speech
|
||||
=+ ^= tail
|
||||
:- ^- audience
|
||||
:+ :- `partner`[%& our ?+((clan our) !! %czar %court, %duke %porch)]
|
||||
^- (pair envelope delivery)
|
||||
[`envelope`[& ~] %pending]
|
||||
~
|
||||
~
|
||||
`statement`[now ~ sp]
|
||||
^- thought
|
||||
:- `@`(sham eny tail)
|
||||
tail
|
||||
=+ mez=[%talk-command [%publish `(list thought)`spchz]]
|
||||
[ost %send /pub [our %talk] %poke mez]
|
||||
++ thou-pub |=(~ :_(+>.$ ~))
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: authentication ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ poke-cloud-auth
|
||||
|= [cde=cord typ=cord]
|
||||
^- [(list move) _+>.$]
|
||||
@ -182,8 +286,8 @@ $% [%diff %json json]
|
||||
=. access.gce.toke.vat
|
||||
cde
|
||||
:_ +>.$
|
||||
:- list-instances-gce
|
||||
~[(publish [%lin & 'successfully authenticated to gce']~)]
|
||||
:_ list-gce
|
||||
(publish [%lin & 'successfully authenticated to gce']~)
|
||||
::
|
||||
++ poke-cloud-secret
|
||||
|= [secret=cord typ=cord]
|
||||
@ -194,87 +298,28 @@ $% [%diff %json json]
|
||||
[~ secret]
|
||||
:_ +>.$
|
||||
:_ ~
|
||||
%+ httpreq /auth-do
|
||||
%+ httpreq /do/auth
|
||||
:^ ~[%digitalocean %cloud] `path`/v1/oauth/token
|
||||
[%post ~]
|
||||
:- ~ `quay`['client_secret'^secret (auth-queries (need authc.do.auth.vat))]
|
||||
==
|
||||
::
|
||||
++ receive-auth
|
||||
|= [pour-path=cord resp=httr]
|
||||
++ thou-do-auth
|
||||
|= [~ resp=httr]
|
||||
^- [(list move) _+>.$]
|
||||
~| resp
|
||||
=+ body=(rash q:(need r.resp) apex:poja)
|
||||
~| recieve-auth/resp(r body)
|
||||
?+ pour-path !!
|
||||
%auth-do
|
||||
=+ [ac re]=(need ((ot 'access_token'^so 'refresh_token'^so ~):jo body))
|
||||
=: access.do.toke.vat ac
|
||||
refresh.do.toke.vat re
|
||||
==
|
||||
:_ +>.$
|
||||
:~ list-instances-do
|
||||
(publish [%lin & 'successfully authenticated']~)
|
||||
==
|
||||
==
|
||||
::
|
||||
++ poke-json
|
||||
|= act=json
|
||||
^- [(list move) _+>.$]
|
||||
=+ do=(need ((ot action/so ~):jo act))
|
||||
:_ +>.$
|
||||
:_ ~
|
||||
?+ do !!
|
||||
%list
|
||||
list-instances-do
|
||||
::
|
||||
%create-do
|
||||
(create-do act)
|
||||
::
|
||||
%create-gce
|
||||
(create-gce-disk act)
|
||||
::
|
||||
?(%start %stop %reboot %delete)
|
||||
=+ id=(need ((ot id/so ~):jo act))
|
||||
(instance-action id do)
|
||||
==
|
||||
::
|
||||
++ instance-action
|
||||
|= $: id=@t
|
||||
$= action $?
|
||||
%start %stop %reboot %delete
|
||||
== ==
|
||||
=+ d=(~(got by insts.vat) id)
|
||||
~| 'can\'t find id'
|
||||
=+ typ=?~(d !! -.d)
|
||||
?- typ
|
||||
%do
|
||||
=+ meth=?:(?=(%delete action) %delt [%post (jobe type/s/(convert-do action) ~)])
|
||||
^- move
|
||||
=+ ^= req
|
||||
%- httpreq :*
|
||||
/action-test
|
||||
~[%digitalocean %api]
|
||||
?:(?=(%delt meth) /v2/droplets/[id] /v2/droplets/[id]/actions)
|
||||
meth
|
||||
%^ mo ['Content-Type' 'application/json' ~]
|
||||
['Authorization' (cat 3 'Bearer ' access.do.toke.vat) ~] ~
|
||||
*quay
|
||||
==
|
||||
req
|
||||
%gce
|
||||
?- action
|
||||
%start
|
||||
!!
|
||||
%stop
|
||||
!!
|
||||
%reboot
|
||||
!!
|
||||
%delete
|
||||
!!
|
||||
==
|
||||
==
|
||||
::
|
||||
:- (publish [%lin & 'successfully authenticated']~)
|
||||
list-do
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: create digital ocean droplets ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ create-do
|
||||
|= act=json
|
||||
=+ ^- deets=create-req-do
|
||||
@ -301,69 +346,79 @@ $% [%diff %json json]
|
||||
~
|
||||
==
|
||||
::
|
||||
++ create-gce-disk
|
||||
|= act=json :: num=(unit ,@u)
|
||||
~& act
|
||||
=+ :- name=(need ((ot name/so ~):jo act))
|
||||
snapshot=(need ((ot 'instance_img'^so ~):jo act))
|
||||
=+ :- name=(need ((ot name/so ~):jo act))
|
||||
snap=(need ((ot snap/so ~):jo act))
|
||||
=+ ^- body=json
|
||||
(jobe name/s/name %'sourceSnapshot'^s/'compute/v1/projects/urbcloud/global/snapshots/snapshot-1' ~) ::^so/snap ~)
|
||||
++ thou-create-do |=([path resp=httr] ~&(resp :_(+>.$ ~)))
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: create google instances ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ reserve-ip
|
||||
|= name=json
|
||||
=+ nam=(need ((ot name/so ~):jo name))
|
||||
%- httpreq
|
||||
:* /create-gce-disk/snapshot/name
|
||||
~['googleapis' 'www'] /compute/v1/projects/urbcloud/zones/us-central1-a/disks
|
||||
[%post body]
|
||||
%^ mo ['Content-Type' 'application/json' ~]
|
||||
['Authorization' (cat 3 'Bearer ' access.gce.toke.vat) ~]
|
||||
~
|
||||
~
|
||||
==
|
||||
:* /reserve-ip/[nam]
|
||||
~['googleapis' 'www']
|
||||
/compute/v1/projects/urbcloud/regions/us-central1/addresses
|
||||
[%post (joba name/s/nam)]
|
||||
%^ mo ['Content-Type' 'application/json' ~]
|
||||
['Authorization' (cat 3 'Bearer ' access.gce.toke.vat) ~]
|
||||
~
|
||||
*quay
|
||||
==
|
||||
::
|
||||
++ ask-disk-status
|
||||
|= pax=path ^- move
|
||||
~& 'ask disk status'
|
||||
=+ :- safe=(slav %uv ?~(pax !! -.pax))
|
||||
snap=?.(?=([* ^] pax) !! i.t.pax)
|
||||
=+ link=(need (epur ?~(pax !! safe)))
|
||||
=. r.link ['access_token'^access.gce.toke.vat r.link]
|
||||
:^ ost %them `wire`/disk-status/snap
|
||||
`(unit hiss)`[~ [link [%get ~ ~]]]
|
||||
++ thou-reserve-ip
|
||||
|= [pax=path resp=httr]
|
||||
~& resp
|
||||
~| r.resp
|
||||
=+ parsed=(rash q:(need r.resp) apex:poja)
|
||||
=+ ur=(need ((ot 'targetLink'^so ~):jo parsed))
|
||||
~& initial-response/parsed
|
||||
=+ name=-:(flop q.q:(need (epur ur)))
|
||||
=+(buf=`@da`(add ~s10 now) :_(+>.$ [ost %wait `path`/check-ip-status/[name] buf]~))
|
||||
::
|
||||
++ disk-status ::receive
|
||||
|= [ins-img=@t resp=httr]
|
||||
^- [(list move) _+>.$]
|
||||
~& 'disk status called'
|
||||
=+ hcode=p.resp
|
||||
?: =('200' hcode)
|
||||
~| 'did not receive 200' !!
|
||||
=+ :-(parsed=(rash q:(need r.resp) apex:poja) jo)
|
||||
~& parsed
|
||||
=+ :- status=(need ((ot status/so ~) parsed))
|
||||
lin=(need ((ot 'selfLink'^so ~) parsed))
|
||||
=+ link=(scot %uv lin)
|
||||
?: =('DONE' status)
|
||||
~& resp
|
||||
~& 'boot disk now running, now starting instance'
|
||||
=+ target=(need ((ot 'targetLink'^so ~):jo parsed))
|
||||
=+ nam=-:(flop q.q:(need (epur target)))
|
||||
~& nam
|
||||
:_ +>.$ ~[(create-gce nam ins-img)]
|
||||
++ wake-check-ip-status
|
||||
|= [name=path ~]
|
||||
~& this-is-the-name/name
|
||||
=+ nam=?~(name !! -.name)
|
||||
:_ +>.$
|
||||
[ost %wait `path`[%check-status link ins-img ~] `@da`(add ~s3 now)]~ :: refesh every 10 sec
|
||||
:_ ~
|
||||
%- httpreq
|
||||
:* `path`/check-ip-status/[nam]
|
||||
~['googleapis' 'www']
|
||||
`path`/compute/v1/projects/urbcloud/regions/us-central1/addresses/[nam]
|
||||
%get
|
||||
%^ mo ['Content-Type' 'application/json' ~]
|
||||
['Authorization' (cat 3 'Bearer ' access.gce.toke.vat) ~]
|
||||
~
|
||||
*quay
|
||||
==
|
||||
++ thou-check-ip-status
|
||||
|= [name=path resp=httr]
|
||||
~& api-resp/resp
|
||||
=+ parsed=(rash q:(need r.resp) apex:poja)
|
||||
!!
|
||||
::?. =('RESERVED' (need ((ot status/so ~):jo parsed)))
|
||||
::
|
||||
|
||||
|
||||
++ create-gce
|
||||
|= [name=@t snap=@t]
|
||||
~& create-gce-received/snap
|
||||
=+ src=(cat 3 'compute/v1/projects/urbcloud/zones/us-central1-a/disks/' name)
|
||||
|= jon=json
|
||||
=+ ^- [name=@t image=@t number=@ud]
|
||||
(need ((ot name/so 'instance_img'^so number/ni ~):jo jon))
|
||||
|- ^- (list move)
|
||||
?~ number ~
|
||||
:_ $(number (dec number))
|
||||
=+ nam=(cat 3 name (scot %ud number))
|
||||
=+ ^- body=json
|
||||
%- jobe
|
||||
:~ name/s/name 'machineType'^s/'zones/us-central1-a/machineTypes/n1-standard-1'
|
||||
:~ name/s/nam 'machineType'^s/'zones/us-central1-a/machineTypes/n1-standard-1'
|
||||
:- %disks :- %a :_ ~
|
||||
(jobe boot/b/%.y type/s/'persistent' source/s/src ~)
|
||||
%- jobe
|
||||
:+ 'initializeParams'^`json`(joba 'sourceImage'^s/image)
|
||||
boot/b/%.y
|
||||
~
|
||||
:- 'networkInterfaces' :- %a :_ ~
|
||||
(joba 'network' `json`[%s 'global/networks/default'])
|
||||
==
|
||||
^- move
|
||||
%- httpreq
|
||||
:* `path`/create-gce
|
||||
`(list cord)`~['googleapis' 'www'] `path`/compute/v1/projects/urbcloud/zones/us-central1-a/'instances'
|
||||
@ -373,80 +428,180 @@ $% [%diff %json json]
|
||||
~
|
||||
`quay`[%key access.gce.toke.vat]~
|
||||
==
|
||||
::
|
||||
++ wake
|
||||
|= [pour-path=path ~]
|
||||
?+ -.pour-path !!
|
||||
%refresh-do
|
||||
:_ +>.$
|
||||
[list-instances-do]~
|
||||
%refresh-gce
|
||||
:_ +>.$
|
||||
[list-instances-gce]~
|
||||
%check-status
|
||||
:_ +>.$
|
||||
[(ask-disk-status +.pour-path)]~
|
||||
==
|
||||
::
|
||||
++ list-instances-gce
|
||||
++ thou-create-gce |=([path resp=httr] ~&(resp :_(+>.$ ~)))
|
||||
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: perform actions on instances (both kinds) ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ poke-json :: receive action from client
|
||||
|= jon=json
|
||||
^- [(list move) _+>.$]
|
||||
=+ action=`cloud-command`(need (parse-cloud-command jon))
|
||||
:_ +>.$
|
||||
?- -.action
|
||||
%create-gce [(reserve-ip p.action)]~
|
||||
%create-do [(create-do p.action)]~
|
||||
::%create-gce [(create-gce p.action)]
|
||||
%action [(instance-action [id name act]:action)]~
|
||||
==
|
||||
++ instance-action
|
||||
|= [id=@t name=@t action=droplet-action]
|
||||
=+ d=(~(got by insts.vat) id)
|
||||
~| 'can\'t find id'
|
||||
=+ typ=?~(d !! -.d)
|
||||
?- typ
|
||||
%do
|
||||
=+ ^= meth
|
||||
?: ?=(%delete -.action)
|
||||
%delt
|
||||
[%post (jobe type/s/(convert-do -.action) ?.(?=(%snapshot -.action) ~ [name/s/p.action ~]))]
|
||||
^- move
|
||||
=+ ^= req
|
||||
%- httpreq :*
|
||||
/do/[-.action]
|
||||
~[%digitalocean %api]
|
||||
?:(?=(%delt meth) /v2/droplets/[id] /v2/droplets/[id]/actions)
|
||||
meth
|
||||
%^ mo ['Content-Type' 'application/json' ~]
|
||||
['Authorization' (cat 3 'Bearer ' access.do.toke.vat) ~] ~
|
||||
*quay
|
||||
==
|
||||
req
|
||||
::
|
||||
%gce
|
||||
=+ ^= head-query
|
||||
:- %^ mo ['Content-Type' 'application/json' ~]
|
||||
['Authorization' (cat 3 'Bearer ' access.gce.toke.vat) ~] ~
|
||||
*quay
|
||||
?- -.action
|
||||
?(%start %stop %reboot %'snapshot')
|
||||
=+ end=/compute/v1/projects/urbcloud/zones/us-central1-a/instances/[name]
|
||||
%- httpreq
|
||||
:* /gce-act/[-.action] ~['googleapis' 'www']
|
||||
(welp end [?:(?=(%reboot -.action) 'reset' -.action) ~])
|
||||
[%post ~]
|
||||
head-query
|
||||
==
|
||||
::
|
||||
%delete
|
||||
=+ end=/compute/v1/projects/urbcloud/zones/us-central1-a/instances/[name]
|
||||
%- httpreq
|
||||
:* /gce-act/[-.action] ~['googleapis' 'www']
|
||||
end
|
||||
%delt
|
||||
head-query
|
||||
==
|
||||
==
|
||||
==
|
||||
++ thou-do-act
|
||||
|= [pax=path resp=httr]
|
||||
~& [resp act/pax]
|
||||
:_ +>.$ ~
|
||||
::
|
||||
++ thou-gce-act
|
||||
|= [pax=path resp=httr]
|
||||
~& [resp act/pax]
|
||||
:_ +>.$ ~
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: retrieve google instances and images ::
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ list-gce
|
||||
^- (list move)
|
||||
:+ (list-something-gce /zones/['us-central1-a']/instances)
|
||||
(list-something-gce /global/snapshots)
|
||||
~
|
||||
::
|
||||
++ list-something-gce
|
||||
|= endpoint=path
|
||||
=+ ^= lis
|
||||
:*
|
||||
/list-gce
|
||||
~[%googleapis %www] /compute/v1/projects/urbcloud/zones/['us-central1-a']/'instances'
|
||||
/list-gce/[-.endpoint]
|
||||
~[%googleapis %www] (welp /compute/v1/projects/urbcloud endpoint)
|
||||
%get ~
|
||||
^- quay
|
||||
[%'access_token' access.gce.toke.vat]~
|
||||
==
|
||||
~! lis
|
||||
~! +<:httpreq
|
||||
(httpreq lis)
|
||||
::
|
||||
++ receive-list-gce
|
||||
|= resp=httr
|
||||
++ thou-list-gce-zones :: instances
|
||||
|= [pax=path resp=httr]
|
||||
^- [(list move) _+>.$]
|
||||
=+ parsed=(rash q:(need r.resp) apex:poja) :: body httr to json
|
||||
~| 'no list received or bad json'
|
||||
=+ items=(need ((ot items/(ar some) ~):jo parsed))
|
||||
=+ ^- ins=(list ,[@t instance])
|
||||
~| 'bad-json'^items
|
||||
%+ turn items
|
||||
|= in=json
|
||||
=< [id .]
|
||||
^- instance
|
||||
:- %gce
|
||||
%- need
|
||||
%. in =+ jo
|
||||
%- ot
|
||||
:~ name/so id/so status/so 'creationTimestamp'^(su parse-iso8601) ::zone/so
|
||||
'machineType'^(cu tail-url so)
|
||||
~| 'bad-json'^items
|
||||
%+ turn items
|
||||
|= in=json
|
||||
=< [id .]
|
||||
^- instance
|
||||
:- %gce
|
||||
%- need
|
||||
%. in =+ jo
|
||||
%- ot
|
||||
:~ name/so id/so status/so 'creationTimestamp'^(su parse-iso8601) ::zone/so
|
||||
'machineType'^(cu tail-url so)
|
||||
:: 'networkInterfaces'^parse-ip-gce
|
||||
==
|
||||
=+ ^= new
|
||||
%+ skip ins
|
||||
|=(a=[@t instance] (~(has by insts.vat) id.a))
|
||||
==
|
||||
=. insts.vat
|
||||
(~(gas by insts.vat) new)
|
||||
%- mo
|
||||
%+ weld ins
|
||||
%+ skip (~(tap by insts.vat)) :: keep non-gce
|
||||
|= a=[@t instance] ?=(%gce +<.a)
|
||||
=+ buf=`@da`(add ~s10 now)
|
||||
:_ +>.$
|
||||
=+ lis=(~(tap by insts.vat))
|
||||
:_ (spam (state-to-json (turn lis |=(a=[@t instance] +.a))))
|
||||
[ost %wait /refresh-gce buf]
|
||||
|
||||
++ list-instances-do
|
||||
=+ liz=(~(tap by insts.vat))
|
||||
=+ tail=(turn liz |=(a=[@t instance] +.a))
|
||||
:_ +>.$ ::
|
||||
:- [ost %wait /refresh-gce buf]
|
||||
(spam (instance-to-json tail))
|
||||
::
|
||||
++ thou-list-gce-global :: imgs
|
||||
|= [pax=path resp=httr]
|
||||
^- [(list move) _+>.$]
|
||||
=+ parsed=(rash q:(need r.resp) apex:poja)
|
||||
=+ imgz=(need ((ot items/(ar some) ~):jo parsed))
|
||||
=. images.vat
|
||||
%- mo
|
||||
%+ weld
|
||||
%+ skip (~(tap by images.vat) *(list ,[[@t @t] image]))
|
||||
|=(a=[[@t @t] image] ?=(%gce ->.a))
|
||||
%+ turn imgz
|
||||
|= a=json
|
||||
=< [[name %gce] .]
|
||||
^- image
|
||||
:- %gce
|
||||
%- need
|
||||
%. a =+ jo
|
||||
%- ot
|
||||
[name/so id/so ~]
|
||||
:_ +>.$ [(spam `json`(image-to-json `(list image)`(map-to-list images.vat)))]
|
||||
::
|
||||
++ wake-refresh-gce |=([path ~] [list-gce +>.$])
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: list digital ocean droplets and images ::
|
||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
++ list-do
|
||||
:+((list-something-do %droplets) (list-something-do %images) ~)
|
||||
++ list-something-do
|
||||
|= som=@tas
|
||||
=+ ^= lis
|
||||
:~ /list-do
|
||||
~[%digitalocean %api] /v2/droplets
|
||||
:~ /list-do/[som]
|
||||
~[%digitalocean %api] /v2/[som]
|
||||
%get
|
||||
(mo ['Content-Type' 'application/json' ~] ['Authorization' (cat 3 'Bearer ' access.do.toke.vat) ~] ~)
|
||||
==
|
||||
(httpreq lis)
|
||||
::
|
||||
++ receive-list-do
|
||||
|= resp=httr
|
||||
++ thou-list-do-droplets
|
||||
|= [pax=path resp=httr]
|
||||
^- [(list move) _+>.$]
|
||||
=+ parsed=(rash q:(need r.resp) apex:poja) :: parse httr to json
|
||||
~| recieve-list/parsed
|
||||
=+ dar=(need ((ot droplets/(ar some) ~):jo parsed)) :: reparse ar of insts
|
||||
=. insts.vat
|
||||
%- ~(gas by insts.vat)
|
||||
^- dropz=(list ,[@t instance])
|
||||
=+ ^- dropz=(list ,[@t instance])
|
||||
~| bad-json/-.dar
|
||||
%+ turn dar
|
||||
|= drp=json ^- [@t instance]
|
||||
@ -459,66 +614,37 @@ $% [%diff %json json]
|
||||
=+ jo
|
||||
%- ot
|
||||
:~ name/so id/parse-id-text status/so 'created_at'^(su parse-iso8601) ::region/parse-region
|
||||
image/(ot name/so ~) ::disk/ni
|
||||
:: networks/parse-ip-do
|
||||
image/(ot name/so ~) ::disk/ni networks/parse-ip-do
|
||||
==
|
||||
=. insts.vat
|
||||
%- mo
|
||||
%+ weld dropz
|
||||
%+ skip (~(tap by insts.vat) *(list ,[@t instance]))
|
||||
|=(a=[@t instance] ?=(%do +>.$))
|
||||
=+ buf=`@da`(add ~s10 now)
|
||||
:_ +>.$
|
||||
=+ lis=(~(tap by insts.vat) *(list ,[@t instance]))
|
||||
:_ (spam (state-to-json (turn lis |=(a=[@t instance] +.a))))
|
||||
[ost %wait /refresh-do buf]
|
||||
|
||||
++ thou
|
||||
|= [pour-path=path resp=httr]
|
||||
^- [(list move) _+>.$]
|
||||
?+ -.pour-path ~& pour-path !!
|
||||
%auth-do
|
||||
(receive-auth -.pour-path resp)
|
||||
::
|
||||
%auth-gce
|
||||
(receive-auth -.pour-path resp)
|
||||
::
|
||||
%list-do
|
||||
(receive-list-do resp)
|
||||
%list-gce
|
||||
(receive-list-gce resp)
|
||||
::
|
||||
$?
|
||||
%delete %reboot %'power_cycle' %shutdown %'power_off'
|
||||
%'power_on' %'password_reset' %'enable_ipv6' %'enable_private_networking'
|
||||
%snapshot %upgrade :: add retrieve droplet action
|
||||
%create-do %create-gce %action-test
|
||||
==
|
||||
:_ +>.$ ~
|
||||
::
|
||||
?(%create-gce-disk %disk-status)
|
||||
=+ snap=?~(t.pour-path !! i.t.pour-path)
|
||||
(disk-status snap resp)
|
||||
::
|
||||
%check-status
|
||||
:_ +>.$ ~[(ask-disk-status +.pour-path)]
|
||||
::
|
||||
%pub
|
||||
:_ +>.$ ~
|
||||
::
|
||||
==
|
||||
++ publish
|
||||
|= [act=(list speech)]
|
||||
^- move
|
||||
=+ ^= spchz
|
||||
%+ turn act
|
||||
|= sp=speech
|
||||
=+ ^= tail
|
||||
:- ^- audience
|
||||
:+ :- `partner`[%& our ?+((clan our) !! %czar %court, %duke %porch)]
|
||||
^- (pair envelope delivery)
|
||||
[`envelope`[& ~] %pending]
|
||||
~
|
||||
~
|
||||
`statement`[now ~ sp]
|
||||
^- thought
|
||||
:- `@`(sham eny tail)
|
||||
tail
|
||||
=+ mez=[%talk-command [%publish `(list thought)`spchz]]
|
||||
[ost %send /pub [our %talk] %poke mez]
|
||||
:- [ost %wait /refresh-do buf]
|
||||
%- spam
|
||||
%- instance-to-json
|
||||
%+ turn (~(tap by insts.vat) *(list ,[@t instance]))
|
||||
|=(a=[@t instance] +.a)
|
||||
::
|
||||
++ thou-list-do-images
|
||||
|= [pax=path resp=httr]
|
||||
=+ parsed=(rash q:(need r.resp) apex:poja)
|
||||
~| crashed-do-images/parsed
|
||||
=+ imgz=(need ((ot images/(ar (ot [name/so distribution/so id/no ~])) ~):jo parsed))
|
||||
=+ ^- images=(list ,[[@t @t] image])
|
||||
%+ turn imgz
|
||||
|= [name=@t dist=@t id=@t]
|
||||
=+ nom=(cat 3 name dist)
|
||||
[[%do nom] `image`[%do nom id]]
|
||||
=. images.vat
|
||||
%- mo
|
||||
%+ weld images
|
||||
%+ skip (~(tap by images.vat) *(list ,[[@t @t] image]))
|
||||
|=(a=[[@t @t] image] ?=(%do ->.a))
|
||||
:_ +>.$ ~[(spam `json`(image-to-json `(list image)`(map-to-list images.vat)))]
|
||||
::
|
||||
++ wake-refresh-do |=([path ~] [list-do +>.$])
|
||||
--
|
||||
|
@ -672,7 +672,7 @@
|
||||
^- (quip move +>)
|
||||
~? !=(src.hid our.hid) [%dojo-peer-stranger ost.hid src.hid pax]
|
||||
:: ?> =(src.hid our.hid)
|
||||
?< (~(has by hoc) ost.hid)
|
||||
~? (~(has by hoc) ost.hid) [%dojo-peer-replaced ost.hid pax]
|
||||
?> =(~ pax)
|
||||
=< he-abet
|
||||
%~ he-peer he
|
||||
|
@ -1,5 +1,5 @@
|
||||
:: :: ::
|
||||
:::: /hoon/hood/ape :: ::
|
||||
:: :: ::
|
||||
:::: /hoon/hood/ape :: ::
|
||||
:: :: ::
|
||||
/? 314 :: zuse version
|
||||
/+ sole, talk, helm, kiln, drum :: libraries
|
||||
@ -53,12 +53,12 @@
|
||||
++ coup-kiln-spam ::
|
||||
|= [way=wire saw=(unit tang)]
|
||||
~? ?=(^ saw) [%kiln-spam-lame u.saw]
|
||||
[~ +>]
|
||||
[~ +>]
|
||||
::
|
||||
++ coup-drum-phat (wrap take-coup-phat):from-drum
|
||||
++ diff-sole-effect-drum-phat (wrap diff-sole-effect-phat):from-drum
|
||||
++ from-lib
|
||||
|* _[%helm ..$ ,_abet]:*helm-work
|
||||
|* _[%helm ..$ ,_abet]:(helm-work)
|
||||
=> .(+< [identity start finish]=+<)
|
||||
=- [wrap=- *start] :: usage (wrap handle-arm):from-foo
|
||||
|* handle=_finish
|
||||
@ -66,9 +66,9 @@
|
||||
=. +>.handle (start hid (able identity))
|
||||
(ably (handle +<))
|
||||
::
|
||||
++ from-drum (from-lib %drum [..$ ,_se-abet]:*drum-work)
|
||||
++ from-helm (from-lib %helm [..$ ,_abet]:*helm-work)
|
||||
++ from-kiln (from-lib %kiln [..$ ,_abet]:*kiln-work)
|
||||
++ from-drum (from-lib %drum [..$ ,_se-abet]:(drum-work))
|
||||
++ from-helm (from-lib %helm [..$ ,_abet]:(helm-work))
|
||||
++ from-kiln (from-lib %kiln [..$ ,_abet]:(kiln-work))
|
||||
::
|
||||
++ poke-dill-belt (wrap poke-dill-belt):from-drum
|
||||
++ poke-helm-init (wrap poke-init):from-helm
|
||||
|
@ -1,5 +1,5 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct1/ape :::::: dependencies
|
||||
:::: /hoon/oct1/ape :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 :: arvo version
|
||||
/- *sole, *oct1 :: structures
|
||||
|
@ -1,5 +1,5 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct2/ape :::::: dependencies
|
||||
:::: /hoon/oct2/ape :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 :: arvo version
|
||||
/- *sole, *oct2 :: structures
|
||||
|
@ -1,5 +1,5 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct3/ape :::::: dependencies
|
||||
:::: /hoon/oct3/ape :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 :: arvo version
|
||||
/- *sole, *oct3 :: structures
|
||||
|
@ -1,9 +1,12 @@
|
||||
:: :: ::
|
||||
:::: /hoon/talk/app :: ::
|
||||
:: :: ::
|
||||
/? 314
|
||||
/- *talk, *sole
|
||||
/+ talk, sole
|
||||
:::: /hoon/talk/app :: ::
|
||||
:: :: ::
|
||||
/? 314
|
||||
/- *talk, *sole
|
||||
/+ talk, sole
|
||||
/= talk-doc
|
||||
/; |=(a=wain (turn a |=(b=cord [%txt "? {(trip b)}"])))
|
||||
/: /===/pub/doc/talk/help /txt/
|
||||
::
|
||||
::::
|
||||
::
|
||||
@ -74,6 +77,7 @@
|
||||
:: ::
|
||||
++ work :: interface action
|
||||
$% [%number p=? q=@ud] :: activate by number
|
||||
[%help ~] :: print usage info
|
||||
[%join p=(set partner)] ::
|
||||
[%say p=speech] ::
|
||||
[%invite p=span q=(list partner)] ::
|
||||
@ -175,18 +179,14 @@
|
||||
++ work
|
||||
%+ knee *^work |. ~+
|
||||
;~ pose
|
||||
%+ stag %create
|
||||
;~ pfix (jest %create)
|
||||
;~ plug
|
||||
;~(pfix ace pore)
|
||||
;~(pfix ;~(plug ace cen) sym)
|
||||
;~(pfix ace qut)
|
||||
==
|
||||
;~ (glue ace) (perk %create ~)
|
||||
pore
|
||||
;~(pfix cen sym)
|
||||
qut
|
||||
==
|
||||
::
|
||||
%+ stag %join
|
||||
;~(pfix (jest %join) ;~(pfix ace parq))
|
||||
::
|
||||
;~((glue ace) (perk %join ~) parq)
|
||||
;~(plug (perk %help ~) (easy ~))
|
||||
(stag %number nump)
|
||||
(stag %target parz)
|
||||
==
|
||||
@ -268,7 +268,6 @@
|
||||
%- ~(gas in *(set partner))
|
||||
(turn (~(tap by aud)) |=([a=partner *] a))
|
||||
::
|
||||
::
|
||||
++ sh-poss :: passive update
|
||||
|= lix=(set partner)
|
||||
=+ sap=(sh-pare lix)
|
||||
@ -287,7 +286,8 @@
|
||||
::
|
||||
++ sh-rend :: print on one line
|
||||
|= gam=telegram
|
||||
(sh-pass:(sh-fact %txt ~(tr-line tr man.she gam)) q.q.gam)
|
||||
=+ lin=~(tr-line tr man.she gam)
|
||||
(sh-pass:(sh-fact %txt lin) q.q.gam)
|
||||
::
|
||||
++ sh-numb :: print msg number
|
||||
|= num=@ud
|
||||
@ -789,18 +789,20 @@
|
||||
%create (create +.job)
|
||||
%target (target +.job)
|
||||
%probe (probe +.job)
|
||||
%help (help)
|
||||
%say (say +.job)
|
||||
==
|
||||
::
|
||||
++ activate :: from %number
|
||||
|= gam=telegram
|
||||
^+ +>+>+>
|
||||
^+ ..sh-work
|
||||
~& [%activate gam]
|
||||
sh-prod(active.she `~(tr-pals tr man.she gam))
|
||||
::
|
||||
++ help |=(~ (sh-fact %mor talk-doc)) :: %help
|
||||
++ join :: %join
|
||||
|= lix=(set partner)
|
||||
^+ +>+>+>
|
||||
^+ ..sh-work
|
||||
=+ loc=loc.system.she
|
||||
%^ sh-tell %design man.she
|
||||
:- ~
|
||||
@ -816,20 +818,20 @@
|
||||
::
|
||||
++ invite :: %invite
|
||||
|= [nom=span tal=(list partner)]
|
||||
^+ +>+>+>
|
||||
^+ ..sh-work
|
||||
!!
|
||||
::
|
||||
++ banish :: %banish
|
||||
|= [nom=span tal=(list partner)]
|
||||
^+ +>+>+>
|
||||
^+ ..sh-work
|
||||
!!
|
||||
::
|
||||
++ create :: %create
|
||||
|= [por=posture nom=span txt=cord]
|
||||
^+ +>+>+>
|
||||
^+ ..sh-work
|
||||
?: (~(has in stories) nom)
|
||||
(sh-lame "{(trip nom)}: already exists")
|
||||
=. +>+>+>
|
||||
=. ..sh-work
|
||||
%^ sh-tell %design nom
|
||||
:- ~
|
||||
:+ *(set partner)
|
||||
@ -843,7 +845,7 @@
|
||||
::
|
||||
++ number :: %number
|
||||
|= [rel=? num=@ud]
|
||||
^+ +>+>+>
|
||||
^+ ..sh-work
|
||||
=+ roy=(~(got by stories) man.she)
|
||||
=. num
|
||||
?. rel num
|
||||
@ -855,15 +857,15 @@
|
||||
::
|
||||
++ probe :: inquire
|
||||
|= cuz=station
|
||||
^+ +>+>+>
|
||||
^+ ..sh-work
|
||||
~& [%probe cuz]
|
||||
+>+>+>
|
||||
..sh-work
|
||||
::
|
||||
++ say :: publish
|
||||
|= sep=speech
|
||||
^+ +>+>+>
|
||||
=^ sir +>+>+> sh-uniq
|
||||
%= +>+>+>.$
|
||||
^+ ..sh-work
|
||||
=^ sir ..sh-work sh-uniq
|
||||
%= ..sh-work
|
||||
coz :_ coz
|
||||
[%publish [[sir sh-whom [now.hid ~ sep]] ~]]
|
||||
==
|
||||
@ -1043,7 +1045,6 @@
|
||||
::
|
||||
++ ra-coup-repeat ::
|
||||
|= [[num=@ud her=@p man=span] saw=(unit tang)]
|
||||
~& [%ra-coup-repeat +<]
|
||||
(ra-repeat num [%& her man] saw)
|
||||
::
|
||||
++ ra-repeat :: remove from outbox
|
||||
@ -1104,11 +1105,12 @@
|
||||
~& [%bad-subscribe-story-c i.t.pax]
|
||||
(ra-evil %talk-no-story)
|
||||
=+ soy=~(. pa i.t.pax u.pur)
|
||||
=^ who +>.$ (ra-human her)
|
||||
=. soy ?.((~(has in vab) %a) soy (pa-watch:soy her))
|
||||
=. soy ?.((~(has in vab) %x) soy (pa-master:soy her))
|
||||
=. soy (pa-notify:soy her %hear who)
|
||||
=. soy ?.((~(has in vab) %f) soy (pa-listen:soy her t.t.pax))
|
||||
=^ who +>.$ (ra-human her)
|
||||
pa-abet:(pa-notify:soy her %hear who)
|
||||
pa-abet:soy
|
||||
::
|
||||
++ ra-think :: publish/review
|
||||
|= [pub=? her=ship tiz=(list thought)]
|
||||
@ -1391,7 +1393,7 @@
|
||||
(pa-sauce ost [%quit ~]~)
|
||||
=+ ^= ruv ^- (unit river)
|
||||
?: ?=(~ pax)
|
||||
`[[%ud count] [%da (dec (bex 128))]]
|
||||
`[[%ud ?:((lth count 64) 0 (sub count 64))] [%da (dec (bex 128))]]
|
||||
?: ?=([@ ~] pax)
|
||||
=+ say=(slay i.pax)
|
||||
?. ?=([~ %$ ?(%ud %da) @] say) ~
|
||||
@ -1677,7 +1679,6 @@
|
||||
::
|
||||
++ coup-repeat ::
|
||||
|= [way=wire saw=(unit tang)]
|
||||
~& [%coup-repeat way saw]
|
||||
%+ etch-repeat [%repeat way] |= [num=@ud src=@p man=span]
|
||||
ra-abet:(~(ra-coup-repeat ra ost.hid ~) [num src man] saw)
|
||||
::
|
||||
|
@ -1331,8 +1331,8 @@
|
||||
(deer q.fud r.fud ?-(kay %dead ~, %good [~ s.fud]))
|
||||
::
|
||||
%carp
|
||||
=+ zol=(~(get by olz.weg) s.fud)
|
||||
?^ zol cock(kay u.zol)
|
||||
:: =+ zol=(~(get by olz.weg) s.fud)
|
||||
:: ?^ zol cock(kay u.zol)
|
||||
=^ neb nys.weg
|
||||
=+ neb=(~(get by nys.weg) s.fud)
|
||||
?^ neb [u.neb nys.weg]
|
||||
@ -1350,7 +1350,7 @@
|
||||
:: ~& [%carp q.fud s.fud q.neb p.r.neb]
|
||||
?: =(q.neb p.r.neb)
|
||||
=: nys.weg (~(del by nys.weg) s.fud)
|
||||
olz.weg (~(put by olz.weg) s.fud kay)
|
||||
:: olz.weg (~(put by olz.weg) s.fud kay)
|
||||
==
|
||||
(golf p.neb r.neb)
|
||||
=. +>.$ cock
|
||||
|
@ -836,7 +836,8 @@
|
||||
==
|
||||
::
|
||||
++ apply-foreign-update :: apply subscription
|
||||
|= $: gar=(map aeon tako) :: new ids
|
||||
|= $: lem=(unit ,@da) :: complete up to
|
||||
gar=(map aeon tako) :: new ids
|
||||
let=aeon :: next id
|
||||
lar=(set yaki) :: new commits
|
||||
bar=(set blob) :: new content
|
||||
@ -881,6 +882,7 @@
|
||||
~
|
||||
$(yon +(yon))
|
||||
%= +>.$
|
||||
lim (max (fall lem lim) lim)
|
||||
hit.dom hit
|
||||
let.dom let
|
||||
hut.ran hut
|
||||
@ -956,6 +958,8 @@
|
||||
%nako !>(~|([%harding [&1 &2 &3]:q.r.u.rut] ((hard nako) q.r.u.rut)))
|
||||
==
|
||||
?. ?=(%nako p.r.u.rut) +>+.$
|
||||
=+ rav=`rave`q.u.ruv
|
||||
?> ?=(%many -.rav)
|
||||
|- ^+ +>+.^$
|
||||
=+ nez=[%w [%ud let.dom] ~]
|
||||
=+ nex=(~(get by haw.u.ref) nez)
|
||||
@ -964,10 +968,15 @@
|
||||
=. nak.u.ref `((hard nako) q.q.u.u.nex)
|
||||
=. +>+.^$
|
||||
?: =(0 let.dom)
|
||||
=> (apply-foreign-update (need nak.u.ref))
|
||||
?>(?=(^ ref) .)
|
||||
=> (validate-plops [%ud let.dom] bar:(need nak.u.ref))
|
||||
?>(?=(^ ref) .)
|
||||
=< ?>(?=(^ ref) .)
|
||||
%+ apply-foreign-update
|
||||
?.(?=(%da -.q.q.rav) ~ `p.q.q.rav)
|
||||
(need nak.u.ref)
|
||||
=< ?>(?=(^ ref) .)
|
||||
%^ validate-plops
|
||||
[%ud let.dom]
|
||||
?.(?=(%da -.q.q.rav) ~ `p.q.q.rav)
|
||||
bar:(need nak.u.ref)
|
||||
%= $
|
||||
haw.u.ref (~(del by haw.u.ref) nez)
|
||||
==
|
||||
@ -1032,11 +1041,12 @@
|
||||
wake(haw.u.ref (~(put by haw.u.ref) [car cas pax] `p.res))
|
||||
::
|
||||
++ validate-plops
|
||||
|= [cas=case pop=(set plop)]
|
||||
|= [cas=case lem=(unit ,@da) pop=(set plop)]
|
||||
^+ +>
|
||||
=- %_(+>.$ tag [- tag])
|
||||
=+ lum=(scot %da (fall lem *@da))
|
||||
:* hen %pass
|
||||
[%foreign-plops (scot %p who) (scot %p for) syd ~]
|
||||
[%foreign-plops (scot %p who) (scot %p for) syd lum ~]
|
||||
%f %exec who [for syd cas] ~ %tabl
|
||||
^- (list (pair silk silk))
|
||||
%+ turn (~(tap in pop))
|
||||
@ -1055,7 +1065,7 @@
|
||||
==
|
||||
::
|
||||
++ take-foreign-plops
|
||||
|= res=gage
|
||||
|= [lem=(unit ,@da) res=gage]
|
||||
^+ +>
|
||||
?> ?=(^ ref)
|
||||
?> ?=(^ nak.u.ref)
|
||||
@ -1072,9 +1082,11 @@
|
||||
%indirect ~| %plop-indirect-not-implemented !!
|
||||
==
|
||||
%^ apply-foreign-update
|
||||
gar.u.nak.u.ref
|
||||
let.u.nak.u.ref
|
||||
[lar.u.nak.u.ref (sa lat)]
|
||||
lem
|
||||
gar.u.nak.u.ref
|
||||
:+ let.u.nak.u.ref
|
||||
lar.u.nak.u.ref
|
||||
(sa lat)
|
||||
::
|
||||
++ mabe :: maybe fire function
|
||||
|* [rov=rove fun=$+(@da _+>.^$)]
|
||||
@ -1568,11 +1580,11 @@
|
||||
:- -:!>(*arch)
|
||||
^- arch
|
||||
=+ ^- descendants=(list (pair path lobe))
|
||||
:: ~& > %turning
|
||||
:: =- ~& > %turned -
|
||||
:: ~& %turning
|
||||
:: =- ~& %turned -
|
||||
%+ turn
|
||||
:: ~& > %skimming
|
||||
:: =- ~& > %skimmed -
|
||||
:: ~& %skimming
|
||||
:: =- ~& %skimmed -
|
||||
%+ skim (~(tap by (~(del by q.yak) pax)))
|
||||
|= [paf=path lob=lobe]
|
||||
=(pax (scag len paf))
|
||||
@ -2400,8 +2412,7 @@
|
||||
:_ ..^$(fat.ruf (~(put by fat.ruf) p.q.hic [hen ~]))
|
||||
=+ [bos=(sein p.q.hic) can=(clan p.q.hic)]
|
||||
%- zing ^- (list (list move))
|
||||
:~ ~& [%bos bos p.q.hic]
|
||||
?: =(bos p.q.hic) ~
|
||||
:~ ?: =(bos p.q.hic) ~
|
||||
[hen %pass / %c %merg p.q.hic %base bos %kids %init]~
|
||||
::
|
||||
~
|
||||
@ -2697,12 +2708,13 @@
|
||||
[mos ..^$]
|
||||
::
|
||||
%foreign-plops
|
||||
?> ?=([@ @ @ ~] t.tea)
|
||||
?> ?=([@ @ @ @ ~] t.tea)
|
||||
=+ our=(slav %p i.t.tea)
|
||||
=+ her=(slav %p i.t.t.tea)
|
||||
=* syd i.t.t.t.tea
|
||||
=+ lem=(slav %da i.t.t.t.t.tea)
|
||||
=+ zax=(do now hen [our her] syd ruf)
|
||||
=+ zat=(take-foreign-plops:zax q.q.hin)
|
||||
=+ zat=(take-foreign-plops:zax ?~(lem ~ `lem) q.q.hin)
|
||||
=^ mos ruf
|
||||
=+ zot=abet.zat
|
||||
[-.zot (posh her syd +.zot ruf)]
|
||||
@ -2729,7 +2741,7 @@
|
||||
::
|
||||
%mere
|
||||
?: ?=(%& -.p.+.q.hin)
|
||||
~& 'inital merge succeeded'
|
||||
~& 'initial merge succeeded'
|
||||
[~ ..^$]
|
||||
~> %slog.
|
||||
:^ 0 %rose [" " "[" "]"]
|
||||
|
@ -159,7 +159,7 @@
|
||||
|= [err=@tas tac=(list tank)]
|
||||
=+ ^= wol ^- wall
|
||||
:- (trip err)
|
||||
(zing (turn tac |=(a=tank (~(win re a) [0 wid]))))
|
||||
(zing (turn (flop tac) |=(a=tank (~(win re a) [0 wid]))))
|
||||
|- ^+ +>.^$
|
||||
?~ wol +>.^$
|
||||
$(wol t.wol, +>.^$ (from %out (tuba i.wol)))
|
||||
@ -285,12 +285,7 @@
|
||||
[%c %mere *]
|
||||
?: ?=(%& -.p.sih)
|
||||
+>.$
|
||||
~| %dill-mere-fail
|
||||
~| p.p.p.sih
|
||||
|-
|
||||
?~ q.p.p.sih !!
|
||||
~> %mean.|.(i.q.p.p.sih) :: pull ford fail into stack trace
|
||||
$(q.p.p.sih t.q.p.p.sih)
|
||||
(mean >%dill-mere-fail< >p.p.p.sih< q.p.p.sih)
|
||||
::
|
||||
[%g %onto *]
|
||||
:: ~& [%take-gall-onto +>.sih]
|
||||
|
@ -59,7 +59,6 @@
|
||||
[%si ~] :: response done
|
||||
[%of p=ixor q=$|(~ whir-of)] :: associated view
|
||||
[%on p=span:,@uvH ~] :: dependency
|
||||
[%to p=ixor q=span:ship r=term s=wire] :: associated app
|
||||
== ::
|
||||
++ whir-of ,[p=span:ship q=term r=wire] :: path in dock
|
||||
-- ::
|
||||
@ -179,7 +178,7 @@
|
||||
|= [wid=@u tan=tang]
|
||||
^- tape
|
||||
=+ rolt=|=(a=wall `tape`?~(a ~ :(weld i.a "\0a" $(a t.a))))
|
||||
(rolt (turn tan |=(a=tank (rolt (wash 0^wid a)))))
|
||||
(rolt (turn (flop tan) |=(a=tank (rolt (wash 0^wid a)))))
|
||||
::
|
||||
::
|
||||
++ add-cookies
|
||||
@ -188,7 +187,7 @@
|
||||
=+ cuh=(turn `(list ,@t)`cug |=(a=@t set-cookie/a))
|
||||
hit(q (weld cuh q.hit))
|
||||
::
|
||||
++ add-poll :: inject dependency
|
||||
++ inject :: inject dependency
|
||||
|= [dep=@uvH max=[[%html ~] [[%head ~] hed=marl] [[%body ~] tal=marl] ~]]
|
||||
^- manx
|
||||
=: hed.max :_(hed.max ;meta(charset "utf-8", urb_injected "");)
|
||||
@ -198,7 +197,7 @@
|
||||
max(hed :_(hed.max ;script@"/~/on/{<dep>}.js"(urb_injected "");))
|
||||
::
|
||||
++ add-json :: inject window.urb
|
||||
|= [urb=json jaz=cord] ^- cord
|
||||
|= [urb=json jaz=cord] ^- cord
|
||||
=- (cat 3 (crip -) jaz)
|
||||
"""
|
||||
var _urb = {(pojo urb)}
|
||||
@ -222,7 +221,6 @@
|
||||
|= tan=tang
|
||||
;html
|
||||
;head
|
||||
;meta(charset "utf-8");
|
||||
;link(rel "stylesheet", href "/home/lib/base.css");
|
||||
;title: server error
|
||||
==
|
||||
@ -688,7 +686,7 @@
|
||||
%diff
|
||||
?> ?=([%of @ ^] tee)
|
||||
?. ?=(%json p.p.cuf)
|
||||
::~> %slog.`%*(. >[%backing p.p.cuf %q-p-cuf]< &3.+> (sell q.p.cuf))
|
||||
~> %slog.`%*(. >[%backing p.p.cuf %q-p-cuf]< &3.+> (sell q.p.cuf))
|
||||
(back tee %json p.cuf)
|
||||
(get-rush:(ire-ix p.tee) q.tee ((hard json) q.q.p.cuf))
|
||||
::
|
||||
@ -744,12 +742,6 @@
|
||||
=* cay p.q.sih
|
||||
?> ?=(%json p.cay) :: XX others
|
||||
((hard json) q.q.cay)
|
||||
::
|
||||
[%to ^]
|
||||
?: ?=(%| -.q.sih)
|
||||
(mean-json 500 ~ %cast-fail p.q.sih)
|
||||
~| tee
|
||||
(new-mess:(ire-ix p.tee) [(slav %p q.tee) r.tee] s.tee p.q.sih)
|
||||
::
|
||||
[%at ^]
|
||||
?. ?=([%& %js ^] q.sih)
|
||||
@ -772,7 +764,7 @@
|
||||
=- `silk`[%cast %mime %done ~ cay(q.q -)]
|
||||
?+ p.cay q.q.cay :: inject dependency long-poll
|
||||
%urb =| urb=[[%html ~] [[%head ~] marl] [[%body ~] manx marl] ~]
|
||||
.*(.(urb q.q.cay) !=((add-poll p.sih urb)))
|
||||
.*(.(urb q.q.cay) !=((inject p.sih urb)))
|
||||
==
|
||||
~| q.q.cay
|
||||
=+ ((hard ,[mit=mite rez=octs]) q.q.cay)
|
||||
@ -816,7 +808,7 @@
|
||||
|= [sas=@ud dep=@uvH mez=tang]
|
||||
^+ +>
|
||||
:: (back ha/~ dep %tang !>(mez)) ::tang->urb chain may be source of failure
|
||||
(give-html sas ~ (add-poll dep (render-tang mez)))
|
||||
(give-html sas ~ (inject dep (render-tang mez)))
|
||||
::
|
||||
++ give-html
|
||||
|= [sas=@ud cug=(list ,@t) max=manx]
|
||||
@ -1127,10 +1119,8 @@
|
||||
%mess
|
||||
:- %|
|
||||
=^ orx ..ya ?:(is-anon new-view:for-client [(need grab-oryx) ..ya])
|
||||
=+ [vew=(ire-ix (oryx-to-ixor orx)) cay=[%json !>(`json`s.hem)]]
|
||||
?: ?=(%json q.hem) ((teba new-mess.vew) p.hem r.hem cay)
|
||||
%+ back to/[(oryx-to-ixor orx) (scot %p p.p.hem) q.p.hem r.hem]
|
||||
[q.hem cay]
|
||||
=+ vew=(ire-ix (oryx-to-ixor orx))
|
||||
((teba new-mess.vew) p.hem r.hem q.hem %json !>(`json`s.hem))
|
||||
::
|
||||
%poll
|
||||
?: ?=([~ %js] p.pok) :: XX treat non-json cases?
|
||||
@ -1375,12 +1365,12 @@
|
||||
[+(p.eve) (~(put by q.eve) p.eve a)]
|
||||
::
|
||||
++ new-mess
|
||||
|= [a=dock b=wire c=cage] ^+ ..ix
|
||||
(hurl-note [a b] [%g %deal [him -.a] +.a %poke c])
|
||||
|= [a=dock b=wire c=mark d=cage] ^+ ..ix
|
||||
(hurl-note [a b] [%g %deal [him -.a] +.a %punk c d])
|
||||
::
|
||||
++ add-subs
|
||||
|= [a=dock %json b=wire c=path] ^+ ..ix
|
||||
(hurl-note [a b] [%g %deal [him -.a] +.a %peer c])
|
||||
(hurl-note [a b] [%g %deal [him -.a] +.a %peel %json c])
|
||||
::
|
||||
++ del-subs :: XX per path?
|
||||
|= [a=dock %json b=wire c=path] ^+ ..ix
|
||||
|
@ -6,7 +6,6 @@
|
||||
=> =~
|
||||
:: structures
|
||||
|%
|
||||
::
|
||||
++ gift gift-ford :: out result <-$
|
||||
++ heel path :: functional ending
|
||||
++ kiss kiss-ford :: in request ->$
|
||||
@ -57,7 +56,7 @@
|
||||
++ calx :: concrete cache line
|
||||
$% [%hood p=calm q=(pair beam cage) r=hood] :: compile
|
||||
[%bake p=calm q=(trel mark beam heel) r=(unit vase)]:: load
|
||||
[%lilt p=calm q=arch r=(jug mark mark)] :: translation graph
|
||||
[%lilt p=calm q=beak r=(jug mark mark)] :: translation graph
|
||||
[%slit p=calm q=[p=type q=type] r=type] :: slam type
|
||||
[%slim p=calm q=[p=type q=twig] r=(pair type nock)]:: mint
|
||||
[%slap p=calm q=[p=vase q=twig] r=vase] :: compute
|
||||
@ -221,6 +220,7 @@
|
||||
?- -.+.sih
|
||||
%writ
|
||||
?~ p.sih +>.$
|
||||
:: ~& writ/tea
|
||||
=+ [dap=(~(got by deh.bay) dep) bem=`beam`[bek sup]]
|
||||
=- ?~(dop con con(deh.bay (~(put by deh.bay) dep dop)))
|
||||
^- [dop=$|(~ _dap) con=_+>.$]
|
||||
@ -335,6 +335,11 @@
|
||||
%2 nuf
|
||||
%1 nuf
|
||||
%0
|
||||
:: ~& :- %clef-new
|
||||
:: ?+ sem `@tas`sem
|
||||
:: %hood [%hood (tope &1.q.q.hoc)]
|
||||
:: %bake [%bake `mark`&1.q.q.hoc (tope &2.q.q.hoc)]
|
||||
:: ==
|
||||
:- p=(came p.nuf `calx`[sem `calm`[now p.q.nuf] q.q.hoc q.q.nuf])
|
||||
q=q.nuf
|
||||
==
|
||||
@ -379,7 +384,7 @@
|
||||
%1 q.nuf
|
||||
%2 [%2 p=(grom `_p.q.nuf`p.q.hoc p.q.nuf) q=q.q.nuf]
|
||||
%0 [%0 p=(grom `_p.q.nuf`p.q.hoc p.q.nuf) q=q.q.nuf]
|
||||
== ==
|
||||
== ==
|
||||
::
|
||||
++ coup :: toon to bolt
|
||||
|= cof=cafe
|
||||
@ -533,13 +538,13 @@
|
||||
++ fade :: compile to hood
|
||||
|= [cof=cafe for=mark bem=beam]
|
||||
^- (bolt hood)
|
||||
%+ cool |.(leaf/"ford: fade {<[(tope bem)]>}")
|
||||
:: %+ cool |.(leaf/"ford: fade {<[(tope bem)]>}")
|
||||
%+ cope (cope (make cof [%bake for bem ~]) furl)
|
||||
|= [cof=cafe cay=cage]
|
||||
%+ (clef %hood) (fine cof bem(r [%ud 0]) cay)
|
||||
^- (burg (pair beam cage) hood)
|
||||
|= [cof=cafe bum=beam cay=cage]
|
||||
:: ~& fade/clef-miss/bem
|
||||
:: ~& fade/clef-miss/bem
|
||||
=+ rul=(fair bum)
|
||||
?. ?=(@ q.q.cay)
|
||||
(flaw cof ~)
|
||||
@ -551,7 +556,7 @@
|
||||
++ fang :: protocol door
|
||||
|= [cof=cafe for=mark]
|
||||
^- (bolt vase)
|
||||
%+ cope (make cof [%core bek /[for]/mar])
|
||||
%+ cope (make cof [%core (norm ska bek /[for]/mar)])
|
||||
;~(cope furl feel)
|
||||
::
|
||||
++ fair :: hood parsing rule
|
||||
@ -835,7 +840,9 @@
|
||||
|= [cof=cafe arc=arch]
|
||||
?^ q.arc
|
||||
%+ (flux some) cof
|
||||
|=([cof=cafe arg=heel] (cope (liar cof bem) (lake for)))
|
||||
|= [cof=cafe arg=heel] ^- (bolt vase)
|
||||
%+ cool |.(leaf/"ford: load {<for>} {<(tope bem)>}")
|
||||
(cope (liar cof bem) (lake for))
|
||||
?. (~(has by r.arc) %hook)
|
||||
(flue cof)
|
||||
%+ cope (lend cof bem(s [%hook s.bem]))
|
||||
@ -843,7 +850,8 @@
|
||||
?~ q.arc
|
||||
(flue cof)
|
||||
%+ (flux some) cof
|
||||
|= [cof=cafe arg=heel]
|
||||
|= [cof=cafe arg=heel] ^- (bolt vase)
|
||||
%+ cool |.(leaf/"ford: hook {<for>} {<(tope bem)>}")
|
||||
%+ cope (fade cof %hook bem)
|
||||
|= [cof=cafe hyd=hood]
|
||||
(cope (abut:(meow bem arg) cof hyd) (lake for))
|
||||
@ -908,7 +916,7 @@
|
||||
?~ von
|
||||
[p=*cafe q=[%1 [[%x bem ~] ~ ~]]]
|
||||
?~ u.von
|
||||
(flaw cof leaf/"lear: file unavailable" (smyt (tope bem)) ~)
|
||||
(flaw cof leaf/"file unavailable" (smyt (tope bem)) ~)
|
||||
(fine cof %& u.u.von)
|
||||
::
|
||||
++ lend :: load arch
|
||||
@ -917,7 +925,7 @@
|
||||
=+ von=(save ~ %cy bem)
|
||||
?~ von [p=cof q=[%1 [%y bem ~] ~ ~]]
|
||||
%+ flag (norm ska bem)
|
||||
(fine cof ((hard arch) q.q:(need u.von)))
|
||||
(fine cof ?>(?=([~ %arch ^] u.von) ((hard arch) q.q.u.u.von)))
|
||||
::
|
||||
++ liar :: load vase
|
||||
|= [cof=cafe bem=beam]
|
||||
@ -926,7 +934,7 @@
|
||||
?~ von
|
||||
[p=*cafe q=[%1 [[%x bem ~] ~ ~]]]
|
||||
?~ u.von
|
||||
(flaw cof leaf/"liar: file unavailable" (smyt (tope bem)) ~)
|
||||
(flaw cof leaf/"file not found" (smyt (tope bem)) ~)
|
||||
(fine cof q.u.u.von)
|
||||
::
|
||||
++ lily :: translation targets
|
||||
@ -937,13 +945,14 @@
|
||||
::
|
||||
++ lilt
|
||||
|= cof=cafe ^- (bolt (jug mark mark))
|
||||
%+ (clef %lilt) (fine cof bek)
|
||||
^- (burg beak (jug mark mark))
|
||||
|= [cof=cafe bek=beak]
|
||||
=. ^bek bek
|
||||
%+ cope (lend cof [bek /mar])
|
||||
|= [cof=cafe arc=arch]
|
||||
%+ (clef %lilt) (fine cof arc)
|
||||
|= [cof=cafe arc=arch]
|
||||
:: =- =+((cope - |=([cafe lil=(jug mark mark)] ~&(lil=lil (flue cof)))) +<)
|
||||
=+ all=(~(tap by r.arc))
|
||||
~! all
|
||||
=+ all=(~(tap by r.arc))
|
||||
|- ^- (bolt (jug mark mark))
|
||||
?~ all (flue cof)
|
||||
%+ cope $(cof cof, all t.all)
|
||||
@ -999,7 +1008,6 @@
|
||||
%+ cope ((~(got by mal) i.wuy) cof arg)
|
||||
|= [cof=cafe hoc=vase]
|
||||
(cope (lope cof i.wuy t.wuy hoc) (flux some))
|
||||
::
|
||||
++ lime :: load beam
|
||||
|= [cof=cafe for=mark bem=beam arg=heel]
|
||||
=+ [mob=bem mer=(flop arg)]
|
||||
@ -1069,7 +1077,7 @@
|
||||
++ mail :: cached mint
|
||||
|= [cof=cafe sut=type gen=twig]
|
||||
^- (bolt (pair type nock))
|
||||
%+ (clef %slim) (fine cof sut gen)
|
||||
%+ (clef %slim) (fine cof sut gen)
|
||||
|= [cof=cafe sut=type gen=twig]
|
||||
=+ puz=(mule |.((~(mint ut sut) [%noun gen])))
|
||||
?- -.puz
|
||||
@ -1088,7 +1096,6 @@
|
||||
++ make :: reduce silk
|
||||
|= [cof=cafe kas=silk]
|
||||
^- (bolt gage)
|
||||
:: ~& [%make (,@tas -.kas)]
|
||||
?- -.kas
|
||||
^
|
||||
%. [cof p.kas q.kas]
|
||||
@ -1103,17 +1110,17 @@
|
||||
==
|
||||
::
|
||||
%bake
|
||||
:: ~& > [p.kas (tope q.kas)]
|
||||
%+ cool |.(leaf/"ford: bake {<p.kas>} {<(tope q.kas)>}")
|
||||
:: ~& > [p.kas (tope q.kas)]
|
||||
:: %+ cool |.(leaf/"ford: bake {<p.kas>} {<(tope q.kas)>}")
|
||||
%+ cope (lima cof p.kas q.kas r.kas)
|
||||
|= [cof=cafe vux=(unit vase)]
|
||||
?~ vux
|
||||
(flaw cof leaf/"bake failed" (smyt (tope q.kas)) ~)
|
||||
(flaw cof leaf/"file not found" (smyt (tope q.kas)) ~)
|
||||
(fine cof [%& p.kas u.vux])
|
||||
::
|
||||
%boil
|
||||
^- (bolt gage)
|
||||
:: %+ cool |.(leaf/"ford: boil {<p.kas>} {<(tope q.kas)>} {<r.kas>}")
|
||||
%+ cool |.(leaf/"ford: boil {<p.kas>} {<(tope q.kas)>} {<r.kas>}")
|
||||
%+ cope (lamp cof q.kas)
|
||||
|= [cof=cafe bem=beam]
|
||||
%+ cope (lime cof p.kas bem r.kas)
|
||||
@ -1673,8 +1680,9 @@
|
||||
~
|
||||
::
|
||||
++ load :: highly forgiving
|
||||
:: |= old=axle
|
||||
:: ..^$(+>- old)
|
||||
|= old=axle
|
||||
=. pol.old (~(run by pol.old) |=(baby +<(jav ~)))
|
||||
..^$(+>- old)
|
||||
::=. old
|
||||
:: ?. ?=([%0 *] old) old :: remove at 1
|
||||
:: :- %1
|
||||
@ -1683,13 +1691,13 @@
|
||||
:: ?> ?=([n=[p=* q=[tad=* dym=* deh=* jav=*]] l=* r=*] +.old)
|
||||
:: :- [p.n.+.old [tad.q.n.+.old dym.q.n.+.old deh.q.n.+.old ~]]
|
||||
:: [$(+.old l.+.old) $(+.old r.+.old)]
|
||||
|= old=*
|
||||
=+ lox=((soft axle) old)
|
||||
^+ ..^$
|
||||
?~ lox
|
||||
~& %ford-reset
|
||||
..^$
|
||||
..^$(+>- u.lox)
|
||||
::|= old=*
|
||||
::=+ lox=((soft axle) old)
|
||||
::^+ ..^$
|
||||
::?~ lox
|
||||
:: ~& %ford-reset
|
||||
:: ..^$
|
||||
::..^$(+>- u.lox)
|
||||
::
|
||||
++ scry
|
||||
|= [fur=(unit (set monk)) ren=@tas who=ship syd=desk lot=coin tyl=path]
|
||||
|
@ -175,10 +175,12 @@
|
||||
++ mo-boon :: complete old boot
|
||||
|= [dap=dude byk=beak dep=@uvH gux=gage]
|
||||
^+ +>
|
||||
?. (~(has by bum) dap)
|
||||
=+ sut=(~(get by bum) dap)
|
||||
?~ sut
|
||||
~& [%gall-old-boon dap]
|
||||
+>
|
||||
=. +> (mo-bold byk dap dep)
|
||||
+>.$
|
||||
=. bum (~(put by bum) dap u.sut(byk byk))
|
||||
=. +>.$ (mo-bold byk dap dep)
|
||||
?- -.gux
|
||||
%tabl ~|(%made-tabl !!)
|
||||
%| (mo-give %onto %| p.gux)
|
||||
@ -216,9 +218,11 @@
|
||||
=^ num +>.$ (mo-bale him)
|
||||
=+ ^= roc ^- rook
|
||||
?- -.q.caz
|
||||
%peel !!
|
||||
%poke [%m p.p.q.caz q.q.p.q.caz]
|
||||
%pull [%u ~]
|
||||
%puff !!
|
||||
%punk !!
|
||||
%peer [%s p.q.caz]
|
||||
==
|
||||
%+ mo-pass
|
||||
@ -307,6 +311,25 @@
|
||||
?> ?=([%f %made *] sih)
|
||||
?> ?=([@ @ @ @ ~] t.pax)
|
||||
(mo-boon i.t.pax (mo-chew t.t.pax) +>.sih)
|
||||
::
|
||||
%pel :: translated peer
|
||||
?> ?=([@ @ ~] t.pax)
|
||||
=+ :* mar=i.t.pax
|
||||
dap=i.t.t.pax
|
||||
==
|
||||
?: ?=([%f %made *] sih)
|
||||
?- -.q.+.sih
|
||||
%tabl ~|(%made-tabl !!)
|
||||
%| ~& [%mo-cyst-fail p.q.+>.sih] :: XX better errors pls
|
||||
(mo-give %unto %quit ~) ::
|
||||
%& (mo-give %unto %diff p.q.+>.sih)
|
||||
==
|
||||
?> ?=([%g %unto *] sih)
|
||||
?. ?=(%diff -.+>.sih)
|
||||
(mo-give %unto +>.sih)
|
||||
%+ mo-pass
|
||||
[%sys pax]
|
||||
[%f %exec our (mo-beak dap) ~ %cast mar %done ~ `cage`+>+.sih]
|
||||
::
|
||||
%red :: diff ack
|
||||
?> ?=([@ @ @ ~] t.pax)
|
||||
@ -372,6 +395,14 @@
|
||||
==
|
||||
::
|
||||
%way :: outbound request
|
||||
?: ?=([%a %went *] sih) :: XX AWFUL
|
||||
~& %way-went-bug
|
||||
?> ?=([@ ~] t.pax)
|
||||
%- mo-awed
|
||||
:* p.+>.sih
|
||||
(?(%peer %poke %pull) i.t.pax)
|
||||
~
|
||||
==
|
||||
?> ?=([%a %woot *] sih)
|
||||
?> ?=([@ ~] t.pax)
|
||||
%- mo-awed
|
||||
@ -435,13 +466,13 @@
|
||||
^+ +>
|
||||
?. (~(has by bum) dap) +>
|
||||
=+ suf=(~(get by wub) dap)
|
||||
=+ neh=hen
|
||||
?~ suf +>.$
|
||||
|- ^+ +>.^$
|
||||
?: =(~ kys.u.suf)
|
||||
+>.^$(hen neh, wub (~(del by wub) dap))
|
||||
+>.^$(wub (~(del by wub) dap))
|
||||
=^ lep kys.u.suf [p q]:~(get to kys.u.suf)
|
||||
$(+>.^$ (mo-clip(hen p.lep) dap q.lep r.lep))
|
||||
$(moz :_(moz [p.lep %slip %g %deal [q.q.q.lep our] dap r.lep]))
|
||||
:: $(+>.^$ (mo-clip(hen p.lep) dap q.lep r.lep))
|
||||
::
|
||||
++ mo-beak :: build beak
|
||||
|= dap=dude
|
||||
@ -454,6 +485,14 @@
|
||||
%+ mo-pass
|
||||
[%sys %val (scot %p q.q.pry) dap ~]
|
||||
[%f %exec our (mo-beak dap) ~ %vale p.cub our q.cub]
|
||||
?: ?=(%punk -.cub)
|
||||
%+ mo-pass
|
||||
[%sys %val (scot %p q.q.pry) dap ~]
|
||||
[%f %exec our (mo-beak dap) ~ %cast p.cub %done ~ q.cub]
|
||||
?: ?=(%peel -.cub)
|
||||
%+ mo-pass
|
||||
[%sys %pel p.cub dap ~]
|
||||
[%g %deal [q.q.pry our] dap %peer q.cub]
|
||||
ap-abet:(ap-club:(ap-abed:ap dap pry) cub)
|
||||
::
|
||||
++ mo-club :: local action
|
||||
@ -580,9 +619,11 @@
|
||||
|= cub=club
|
||||
^+ +>
|
||||
?- -.cub
|
||||
%peel !!
|
||||
%poke (ap-poke +.cub)
|
||||
%peer (ap-peer +.cub)
|
||||
%puff !!
|
||||
%punk !!
|
||||
%pull ap-pull
|
||||
%pump ap-fall
|
||||
==
|
||||
@ -877,9 +918,9 @@
|
||||
^+ +>
|
||||
=+ cug=(ap-find /lame)
|
||||
?~ cug
|
||||
=. why (turn why |=(a=tank rose/[~ "! " ~]^[a]~))
|
||||
=. why [>%ap-lame< >wut< (turn why |=(a=tank rose/[~ "! " ~]^[a]~))]
|
||||
~& [%ap-lame dap]
|
||||
~> %slog.`%*(. >[%ap-lame wut %why]< |2.+> why)
|
||||
~> %slog.`%*(. >[%wh %y]< +> (flop why))
|
||||
+>.$
|
||||
=^ cam +>.$
|
||||
%+ ap-call q.u.cug
|
||||
@ -924,11 +965,11 @@
|
||||
|= [pax=path cuf=cuft]
|
||||
^+ +>
|
||||
?- -.cuf
|
||||
%coup (ap-punk q.q.pry %coup +.pax `!>(p.cuf))
|
||||
%coup (ap-take q.q.pry %coup +.pax `!>(p.cuf))
|
||||
%diff (ap-diff q.q.pry pax p.cuf)
|
||||
%doff !!
|
||||
%quit (ap-punk q.q.pry %quit +.pax ~)
|
||||
%reap (ap-punk q.q.pry %reap +.pax `!>(p.cuf))
|
||||
%quit (ap-take q.q.pry %quit +.pax ~)
|
||||
%reap (ap-take q.q.pry %reap +.pax `!>(p.cuf))
|
||||
==
|
||||
::
|
||||
++ ap-prep :: install
|
||||
@ -981,12 +1022,12 @@
|
||||
~& [%ap-kill dap ost]
|
||||
(ap-give:ap-pull %quit ~)
|
||||
::
|
||||
++ ap-punk :: non-diff gall take
|
||||
++ ap-take :: non-diff gall take
|
||||
|= [her=ship cog=term pax=path vux=(unit vase)]
|
||||
^+ +>
|
||||
=+ cug=(ap-find cog pax)
|
||||
?~ cug
|
||||
~& [%ap-punk-none cog pax]
|
||||
~& [%ap-take-none cog pax]
|
||||
+>.$
|
||||
=^ cam +>.$
|
||||
%+ ap-call q.u.cug
|
||||
@ -1093,7 +1134,7 @@
|
||||
(mo-come:(mo-abed:mo q.p.q.hic hen) p.p.q.hic q.q.hic)
|
||||
::
|
||||
%init
|
||||
~& [%gall-init p.q.hic]
|
||||
:: ~& [%gall-init p.q.hic]
|
||||
[~ ..^$(pol.all (~(put by pol.all) p.q.hic [hen ~ ~ ~]))]
|
||||
::
|
||||
%rote
|
||||
|
@ -155,7 +155,7 @@
|
||||
++ rule |=(tub=nail `edge`[p.tub ~ ~ tub]) :: parsing rule
|
||||
++ span ,@ta :: text-atom (ASCII)
|
||||
++ spot ,[p=path q=pint] :: range in file
|
||||
++ tang (list tank) :: general error
|
||||
++ tang (list tank) :: bottom-first error
|
||||
++ tank $% [%leaf p=tape] :: printing formats
|
||||
$: %palm :: backstep list
|
||||
p=[p=tape q=tape r=tape s=tape] ::
|
||||
@ -1852,7 +1852,7 @@
|
||||
|= [a=?(~ @u) b=tang] ^+ same :: .= ~&(%a 1)
|
||||
?~(b same ~>(%slog.[a i.b] $(b t.b))) :: ((slog `~[>%a<]) 1)
|
||||
::
|
||||
++ mean |=(a=tang (fear a |.(!!))) :: deify stack trace
|
||||
++ mean |=(a=tang (fear (flop a) |.(!!))) :: deify stack trace
|
||||
++ fear :: insert user mean
|
||||
|* [a=tang _|?(**)]
|
||||
^+ (+<+)
|
||||
@ -4023,7 +4023,7 @@
|
||||
[10 [b=* c=*] d=*]
|
||||
=+ ben=$(fol c.fol)
|
||||
?. ?=(%0 -.ben) ben
|
||||
?: ?=(?(%hunk %lose %mean %spot) b.fol)
|
||||
?: ?=(?(%hunk %hand %lose %mean %spot) b.fol)
|
||||
$(fol d.fol, tax [[b.fol p.ben] tax])
|
||||
$(fol d.fol)
|
||||
::
|
||||
@ -4064,6 +4064,7 @@
|
||||
?+ -.i.p.ton rex
|
||||
%hunk [(tank +.i.p.ton) rex]
|
||||
%lose [[%leaf (rip 3 (,@ +.i.p.ton))] rex]
|
||||
%hand :_(rex [%leaf (scow %p (mug +.i.p.ton))])
|
||||
%mean :_ rex
|
||||
?@ +.i.p.ton [%leaf (rip 3 (,@ +.i.p.ton))]
|
||||
=+ mac=(mack +.i.p.ton +<.i.p.ton)
|
||||
@ -4154,7 +4155,7 @@
|
||||
|* [hel=(list) hev=(list)]
|
||||
|- ^+ hev
|
||||
=+ ^= sev
|
||||
=+ [inx=0 sev=*(map ,@t (list ,@ud))]
|
||||
=+ [inx=0 sev=*(map ,_i.-.hev (list ,@ud))]
|
||||
|- ^+ sev
|
||||
?~ hev sev
|
||||
=+ guy=(~(get by sev) i.hev)
|
||||
@ -6442,7 +6443,7 @@
|
||||
:- %mean
|
||||
=+ fek=~(feck ap p.gen)
|
||||
?^ fek [%dtzz %tas u.fek]
|
||||
[%brdt [%cnhp [%cnzy %cain] [%zpgr p.gen] ~]]
|
||||
[%brdt [%cnhp [%cnzy %cain] [%zpgr [%tsgr [~ 3] p.gen]] ~]]
|
||||
q.gen
|
||||
::
|
||||
[%sgcb *] [%sggr [%mean [%brdt p.gen]] q.gen]
|
||||
@ -10083,7 +10084,6 @@
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:::::: :::::: Postface ::::::
|
||||
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
~& %post-start
|
||||
=+ pit=`vase`!>(.) ::
|
||||
=+ bud=pit :: becomes tang
|
||||
=+ vil=(viol p.bud) :: cached reflexives
|
||||
|
@ -2540,12 +2540,12 @@
|
||||
:::: %gall
|
||||
::
|
||||
++ club :: agent action
|
||||
$% :: [%peel p=mark q=path] :: translated peer
|
||||
$% [%peel p=mark q=path] :: translated peer
|
||||
[%peer p=path] :: subscribe
|
||||
[%poke p=cage] :: apply
|
||||
[%puff p=mark q=noun] :: unchecked poke
|
||||
[%pull ~] :: unsubscribe
|
||||
:: [%punk p=mark q=cage] :: translated poke
|
||||
[%punk p=mark q=cage] :: translated poke
|
||||
[%pump ~] :: pump yes/no
|
||||
== ::
|
||||
++ cuft :: internal gift
|
||||
|
@ -1,5 +1,5 @@
|
||||
:: :: ::
|
||||
:::: /hoon/drum/lib :: ::
|
||||
:::: /hoon/drum/lib :: ::
|
||||
:: :: ::
|
||||
/? 310 :: version
|
||||
!: :: ::
|
||||
@ -65,7 +65,7 @@
|
||||
?: =(%pawn myr)
|
||||
[[%base %dojo] ~]
|
||||
?: =(%earl myr) ~
|
||||
[[%home %dojo] [%home %talk] ~]
|
||||
[[%home %talk] [%home %dojo] ~]
|
||||
::
|
||||
++ deft-fish :: default connects
|
||||
|= our=ship
|
||||
@ -76,8 +76,8 @@
|
||||
[[our %dojo] ~]
|
||||
?: =(%earl myr)
|
||||
=+ dad=(sein our)
|
||||
[[dad %dojo] [dad %talk] ~]
|
||||
[[our %dojo] [our %talk] ~]
|
||||
[[dad %talk] [dad %dojo] ~]
|
||||
[[our %talk] [our %dojo] ~]
|
||||
::
|
||||
++ deft-mast :: default master
|
||||
|= our=ship
|
||||
@ -155,7 +155,7 @@
|
||||
(most ;~(plug com ace) sp-gill)
|
||||
%+ cook
|
||||
|= a=ship
|
||||
[[a %dojo] [a %talk] ~]
|
||||
[[a %talk] [a %dojo] ~]
|
||||
;~(pfix sig fed:ag)
|
||||
==
|
||||
::
|
||||
@ -222,7 +222,7 @@
|
||||
?~ saw +>
|
||||
=+ gyl=(drum-phat way)
|
||||
?: (se-aint gyl) +>.$
|
||||
~& [%drum-coup-fail src ost gyl u.saw]
|
||||
=. u.saw :_(u.saw >[%drum-coup-fail src ost gyl]<)
|
||||
(se-dump:(se-drop & gyl) u.saw)
|
||||
::
|
||||
++ take-onto ::
|
||||
@ -366,7 +366,7 @@
|
||||
|= tac=(list tank)
|
||||
^+ +>
|
||||
?. se-ably (se-talk tac)
|
||||
=+ wol=`wall`(zing (turn tac |=(a=tank (~(win re a) [0 edg]))))
|
||||
=+ wol=`wall`(zing (turn (flop tac) |=(a=tank (~(win re a) [0 edg]))))
|
||||
|- ^+ +>.^$
|
||||
?~ wol +>.^$
|
||||
$(wol t.wol, +>.^$ (se-blit %out (tuba i.wol)))
|
||||
@ -791,7 +791,7 @@
|
||||
::
|
||||
++ ta-tan :: print tanks
|
||||
|= tac=(list tank)
|
||||
=+ wol=`wall`(zing (turn tac |=(a=tank (~(win re a) [0 edg]))))
|
||||
=+ wol=`wall`(zing (turn (flop tac) |=(a=tank (~(win re a) [0 edg]))))
|
||||
|- ^+ +>.^$
|
||||
?~ wol +>.^$
|
||||
$(wol t.wol, +>+>.^$ (se-text i.wol))
|
||||
|
@ -138,7 +138,6 @@
|
||||
=< abet
|
||||
%- emil(bur ~)
|
||||
:~ [%cash /helm p.u.bur q.u.bur u.wil]
|
||||
~& [%unsyncing our %base (sein our) %kids]
|
||||
[%poke /helm [our %hood] %hood-unsync %base (sein our) %kids]
|
||||
==
|
||||
::
|
||||
|
@ -106,9 +106,7 @@
|
||||
::
|
||||
++ do-info
|
||||
|= [mez=tape pax=path tor=toro]
|
||||
=+ syd=q:(need (tome pax))
|
||||
=- abet:abet:(spam:(work syd) leaf/mez ~)
|
||||
(emit %info /kiln our tor)
|
||||
abet:(emit:(spam leaf/mez ~) %info /kiln our tor)
|
||||
::
|
||||
++ poke-rm |=(a=path (do-info "removed" a (fray a)))
|
||||
++ poke-cp
|
||||
@ -184,8 +182,9 @@
|
||||
==
|
||||
::
|
||||
++ start
|
||||
=. . %- spam
|
||||
[leaf/"activated sync from {<sud>} on {<her>} to {<syd>}" ~]
|
||||
:: XX remove feedback for demo
|
||||
:: =. . %- spam
|
||||
:: [leaf/"activated sync from {<sud>} on {<her>} to {<syd>}" ~]
|
||||
%- blab :_ ~
|
||||
:* ost %warp
|
||||
/kiln/sync/[syd]/(scot %p her)/[sud]
|
||||
|
@ -1,9 +0,0 @@
|
||||
|% ++ mean |=(a=tang (mean-wrap a |.(!!)))
|
||||
++ mean-wrap
|
||||
|* [a=tang _|?(**)]
|
||||
^+ (+<+)
|
||||
=> .(a `tang`a)
|
||||
?~ a (+<+)
|
||||
~> %mean.|.(i.a)
|
||||
$(a t.a)
|
||||
--
|
@ -1,10 +1,10 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct1/lib :: :: dependencies
|
||||
:::: /hoon/oct1/lib :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 :: arvo version
|
||||
/- *oct1 :: structures
|
||||
:: :: ::
|
||||
:::: :: :: semantics
|
||||
:::: :::::: semantics
|
||||
!: :: ::
|
||||
|% ::
|
||||
++ icon |=(? ?:(+< 'X' 'O')) :: display at
|
||||
|
@ -1,12 +1,12 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct2/lib :: :: dependencies
|
||||
:::: /hoon/oct2/lib :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 :: arvo version
|
||||
/- *oct2 :: structures
|
||||
:: :: ::
|
||||
:::: :: :: semantics
|
||||
:::: :::::: semantics
|
||||
!: :: ::
|
||||
|%
|
||||
|% ::
|
||||
++ icon |=(? ?:(+< 'X' 'O')) :: display at
|
||||
++ bo :: per board
|
||||
|_ bud=board ::
|
||||
|
@ -1,12 +1,12 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct3/lib :: :: dependencies
|
||||
:::: /hoon/oct3/lib :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 :: arvo version
|
||||
/- *oct3 :: structures
|
||||
:: :: ::
|
||||
:::: :: :: semantics
|
||||
:::: :::::: semantics
|
||||
!: :: ::
|
||||
|%
|
||||
|% ::
|
||||
++ icon |=(? ?:(+< 'X' 'O')) :: display at
|
||||
++ bo :: per board
|
||||
|_ bud=board ::
|
||||
|
@ -19,16 +19,14 @@
|
||||
::
|
||||
++ said :: app message
|
||||
|= [our=@p dap=term now=@da eny=@uvI mes=(list tank)]
|
||||
:: ~> %slog.`(sell (slap !>(.) tsgl/[cnzy/'envelope' cnzz//[`1]/thought])) :: XX fails
|
||||
:- %talk-command
|
||||
^- command
|
||||
:- %publish
|
||||
|- ^- (list thought)
|
||||
?~ mes ~
|
||||
((slog 0 mes) ~)
|
||||
:: :_ $(mes t.mes, eny (sham eny mes))
|
||||
:: ^- thought
|
||||
:: :+ (shaf %thot eny)
|
||||
:: [[[%& our (main our)] [*envelope %pending]] ~ ~]
|
||||
:: [now *bouquet [%app dap (crip ~(ram re i.mes))]]
|
||||
:_ $(mes t.mes, eny (sham eny mes))
|
||||
^- thought
|
||||
:+ (shaf %thot eny)
|
||||
[[[%& our (main our)] [*envelope %pending]] ~ ~]
|
||||
[now *bouquet [%app dap (crip ~(ram re i.mes))]]
|
||||
--
|
||||
|
16
base/mar/cloud-auth.hoon
Normal file
16
base/mar/cloud-auth.hoon
Normal file
@ -0,0 +1,16 @@
|
||||
:: this mark is used to receive incoming oauth2 tokens that we use to poke our %gall server
|
||||
::
|
||||
:::: /hook/door/do-auth/mar
|
||||
::
|
||||
/? 310
|
||||
!:
|
||||
|_ cod=cord
|
||||
::
|
||||
++ grab :: converter arm
|
||||
|%
|
||||
++ noun ,@t :: clam from noun
|
||||
++ json (cork (ot authcode/so platform/so ~):jo need) :: (need (so:jo jon))
|
||||
--
|
||||
--
|
||||
|
||||
|
16
base/mar/cloud-auth/door.hook
Normal file
16
base/mar/cloud-auth/door.hook
Normal file
@ -0,0 +1,16 @@
|
||||
:: this mark is used to receive incoming oauth2 tokens that we use to poke our %gall server
|
||||
::
|
||||
:::: /hook/door/do-auth/mar
|
||||
::
|
||||
/? 310
|
||||
!:
|
||||
|_ cod=cord
|
||||
::
|
||||
++ grab :: converter arm
|
||||
|%
|
||||
++ noun ,@t :: clam from noun
|
||||
++ json (cork (ot authcode/so platform/so ~):jo need) :: (need (so:jo jon))
|
||||
--
|
||||
--
|
||||
|
||||
|
9
base/mar/cloud-secret.hoon
Normal file
9
base/mar/cloud-secret.hoon
Normal file
@ -0,0 +1,9 @@
|
||||
!:
|
||||
|_ cod=cord
|
||||
::
|
||||
++ grab :: converter am
|
||||
|%
|
||||
++ noun ,@t :: clam from noun
|
||||
++ json (cork (ot secret/so platform/so ~):jo need) :: (need (so:jo jon))
|
||||
--
|
||||
--
|
9
base/mar/cloud-secret/door.hook
Normal file
9
base/mar/cloud-secret/door.hook
Normal file
@ -0,0 +1,9 @@
|
||||
!:
|
||||
|_ cod=cord
|
||||
::
|
||||
++ grab :: converter am
|
||||
|%
|
||||
++ noun ,@t :: clam from noun
|
||||
++ json (cork (ot secret/so platform/so ~):jo need) :: (need (so:jo jon))
|
||||
--
|
||||
--
|
@ -8,8 +8,34 @@
|
||||
++ grow :: convert to
|
||||
|%
|
||||
++ mime `^mime`[/text/hoon (taco own)] :: convert to %mime
|
||||
++ elem ;div:(pre:"{(trip own)}") :: convert to %html
|
||||
++ hymn ;html:(head:title:"Source" "+{elem}")
|
||||
++ elem :: convert to %html
|
||||
;div:pre(urb_codemirror ""):"{(trip own)}"
|
||||
:: =+ gen-id="src-{<`@ui`(mug own)>}"
|
||||
:: ;div
|
||||
:: ;textarea(id "{gen-id}"):"{(trip own)}"
|
||||
:: ;script:"""
|
||||
:: CodeMirror.fromTextArea(
|
||||
:: window[{<gen-id>}],
|
||||
:: \{lineNumbers:true, readOnly:true}
|
||||
:: )
|
||||
:: """
|
||||
:: ==
|
||||
++ hymn
|
||||
:: ;html:(head:title:"Source" "+{elem}")
|
||||
;html
|
||||
;head
|
||||
;title:"Source"
|
||||
;script@"//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.js";
|
||||
;script@"/{(trip &2:%)}/lib/syntax/hoon.js";
|
||||
;link(rel "stylesheet", href "//cdnjs.cloudflare.com/ajax/libs/".
|
||||
"codemirror/4.3.0/codemirror.min.css");
|
||||
;link/"/{(trip &2:%)}/lib/syntax/codemirror.css"(rel "stylesheet");
|
||||
==
|
||||
;body
|
||||
;textarea#src:"{(trip own)}"
|
||||
;script:'CodeMirror.fromTextArea(src, {lineNumbers:true, readOnly:true})'
|
||||
==
|
||||
==
|
||||
++ txt
|
||||
(lore (cat 3 own '\0a'))
|
||||
--
|
||||
|
@ -2,8 +2,8 @@
|
||||
:::: /hoon/httr/mar
|
||||
::
|
||||
/? 314
|
||||
!:
|
||||
|_ hit=httr
|
||||
::
|
||||
++ grow |% ++ wall (turn wain trip)
|
||||
++ wain (lore cord)
|
||||
++ json (need (poja cord))
|
||||
|
@ -28,7 +28,7 @@
|
||||
|= [wid=@u tan=tang]
|
||||
^- tape
|
||||
=+ rolt=|=(a=wall `tape`?~(a ~ ?~(t.a i.a :(weld i.a "\0a" $(a t.a)))))
|
||||
(rolt (turn tan |=(a=tank (rolt (wash 0^wid a)))))
|
||||
(rolt (turn (flop tan) |=(a=tank (rolt (wash 0^wid a)))))
|
||||
::
|
||||
--
|
||||
!:
|
||||
|
@ -91,7 +91,7 @@
|
||||
%lin (jobe say/[%b p.a] txt/[%s q.a] ~)
|
||||
%url (jobe url/[%s (crip (earf p.a))] ~)
|
||||
%exp (jobe code/[%s p.a] ~)
|
||||
%app (jobe txt/[%s p.a] ~)
|
||||
%app (jobe app/[%s p.a] txt/[%s q.a] ~)
|
||||
:: %inv (jobe ship/(jope p.a) party/[%s q.a] ~)
|
||||
==
|
||||
::
|
||||
|
@ -1,5 +1,5 @@
|
||||
::
|
||||
:::: /hoon/core/elem/mar
|
||||
:::: /hoon/core/tang/mar
|
||||
::
|
||||
/? 314
|
||||
!:
|
||||
@ -10,7 +10,7 @@
|
||||
++ elem
|
||||
=- ;pre:code:"{(trip (role (turn - crip)))}" :: XX
|
||||
^- wall %- zing ^- (list wall)
|
||||
(turn tan |=(a=tank (wash 0^160 a)))
|
||||
(turn (flop tan) |=(a=tank (wash 0^160 a)))
|
||||
--
|
||||
++ grab :: convert from
|
||||
|%
|
||||
|
@ -15,7 +15,7 @@
|
||||
=> v=.
|
||||
|%
|
||||
++ mime => v [/text/plain (taco (role txt))]
|
||||
++ elem => v ;div: {(trip (role txt))}
|
||||
++ elem => v ;pre: {(trip (role txt))}
|
||||
--
|
||||
++ grad
|
||||
|%
|
||||
|
@ -24,19 +24,18 @@ function HashToJSON() {
|
||||
DOControls = React.createClass({
|
||||
createDroplet: function(){
|
||||
urb.send({appl: "cloud",
|
||||
data: {
|
||||
action:'create-do',
|
||||
name:$('#name').val(),
|
||||
region:$('#region').val(),
|
||||
size:$('#size').val(),
|
||||
image:$('#image').val(),
|
||||
ssh:[], // $('#ssh').val()]
|
||||
backups:null,//$('#backups').val(),
|
||||
ipv6:null,//$('#ipv6').val(),
|
||||
priv_networking:null,//$('#priv-networking').val(),
|
||||
user_data:null//$('#user-data').val()
|
||||
},
|
||||
mark: "json"})
|
||||
mark: "json",
|
||||
data: {'create-do':{
|
||||
name:$('#name').val(),
|
||||
region:$('#region').val(),
|
||||
size:$('#size').val(),
|
||||
image:$('#image').val(),
|
||||
ssh:[], // $('#ssh').val()]
|
||||
backups:null,//$('#backups').val(),
|
||||
ipv6:null,//$('#ipv6').val(),
|
||||
priv_networking:null,//$('#priv-networking').val(),
|
||||
user_data:null//$('#user-data').val()
|
||||
}}})
|
||||
},
|
||||
|
||||
render: function(){
|
||||
@ -73,24 +72,25 @@ GCEControls = React.createClass({
|
||||
createDroplet: function(){
|
||||
urb.send({
|
||||
appl: 'cloud',
|
||||
data: {action:'create-gce',
|
||||
mark: 'json',
|
||||
data: {'create-gce':{
|
||||
// project:$('#project').val(),
|
||||
// zone:$('#zone').val(),
|
||||
// name:$('#gname').val(),
|
||||
// machine_type:$('#machine_type').val() /
|
||||
},
|
||||
mark: 'json'})
|
||||
}}})
|
||||
},
|
||||
|
||||
createDisk: function(){
|
||||
urb.send({
|
||||
appl: 'cloud',
|
||||
data: {action:'create-gce',
|
||||
mark: 'json',
|
||||
data: {'create-gce':{
|
||||
snap:$('#gsnap').val(),
|
||||
number:$('#number').val(),
|
||||
number:parseInt($('#number').val()),
|
||||
name:$('#gcpName').val(),
|
||||
instance_img:$('#instance_image').val()},
|
||||
mark: 'json'})
|
||||
instance_img:$('#instance_image').val()
|
||||
}}})
|
||||
},
|
||||
|
||||
render: function(){
|
||||
@ -118,30 +118,32 @@ GCEControls = React.createClass({
|
||||
})
|
||||
|
||||
Droplet = React.createClass({
|
||||
dropletAction:function(id, action){
|
||||
urb.send({
|
||||
appl:"cloud",
|
||||
data: {action:action,
|
||||
id:id}})
|
||||
dropletAction: function(act){
|
||||
return function(){
|
||||
var action = {act:{}, id:this.props.id, name:this.props.name}
|
||||
switch(act){
|
||||
case "snapshot":
|
||||
action.act[act] = this.refs.snapname.getDOMNode().value
|
||||
break; default:
|
||||
action.act[act] = null
|
||||
}
|
||||
urb.send({appl: "cloud", data: {action:action}})}
|
||||
},
|
||||
|
||||
render: function() {
|
||||
var $this = this //local var, else it always points at second
|
||||
var acts = ["start","stop","reboot","delete"]
|
||||
var acts = ["start","stop","reboot","delete"] //,"snapshot"]
|
||||
var buttons = [];
|
||||
var buttons = acts.map(function(act){
|
||||
return b({onClick:function(){
|
||||
$this.dropletAction($this.props.id, act)
|
||||
}}, act)
|
||||
})
|
||||
var buttons = acts.map(function(act){ return b({onClick:$this.dropletAction(act).bind($this)}, act)})
|
||||
kay = Object.keys(this.props)
|
||||
kay = kay.filter(function(b){return b!="children"}) // XX individually adress props
|
||||
return div({},
|
||||
return div({},[
|
||||
buttons,
|
||||
//input({ref:'snapname',placeholder:'Name of Snapshot'}),
|
||||
table({},
|
||||
tr({},kay.map(function(k){return th({},k)})),
|
||||
tr({},kay.map(function(k){return td({},JSON.stringify($this.props[k]))}))),
|
||||
hr())
|
||||
hr()])
|
||||
}
|
||||
})
|
||||
|
||||
@ -181,10 +183,16 @@ Page = recl({
|
||||
|
||||
|
||||
render: function(){
|
||||
var drops = [], imgs = []
|
||||
if(this.props.instances) drops = this.props.instances.map(Droplet)
|
||||
if(this.props.images) imgs = this.props.images.map(
|
||||
function(i){return div({},i.name)}
|
||||
)
|
||||
return (div({},
|
||||
DOControls({handleClick:this.handleClick,sendSecret:this.sendSecret}),
|
||||
GCEControls({handleClick:this.handleClick,sendSecret:this.sendSecret}),
|
||||
this.props.droplets.map(Droplet)
|
||||
drops,
|
||||
imgs
|
||||
))
|
||||
}
|
||||
})
|
||||
@ -194,6 +202,6 @@ authcode.gce = hash.access_token
|
||||
|
||||
mounted = React.render(Page({droplets:[]}), $("#container")[0])
|
||||
urb.bind("/", function(err,d) {
|
||||
|
||||
mounted.setProps({droplets:d.data})
|
||||
|
||||
mounted.setProps(d.data)
|
||||
return})
|
||||
|
@ -1,7 +1,7 @@
|
||||
urbit
|
||||
=====
|
||||
|
||||
is a general-purpose computing stack designed to live in the cloud.
|
||||
is a general-purpose computing stack designed to live in the cloud.
|
||||
|
||||
<list dataPreview="true"></list>
|
||||
|
||||
|
@ -707,7 +707,7 @@ odor and a value, and tries to cast the value to that odor.
|
||||
|= [* b=manx]
|
||||
b
|
||||
/@
|
||||
/elem/
|
||||
/psal/
|
||||
::
|
||||
^- manx
|
||||
;html
|
||||
@ -762,24 +762,24 @@ the computation below it. You can think of it sort of like setting an
|
||||
environment variable. Everything below uses our `++beam` `/%%/lib`.
|
||||
|
||||
If we take the next few lines and write them as pseudo code in wide form
|
||||
they might look something like this, `(/; [gate] (/@ /elem/))`. That
|
||||
they might look something like this, `(/; [gate] (/@ /psal/))`. That
|
||||
being the case, let's start at the bottom and move upwards since that's
|
||||
how our data flows. In depth documentation on individual `++horn` runes
|
||||
can be found in the [horn section of the rune library]().
|
||||
|
||||
`/elem/` loads our `elem` mark. Marks are like content types, and we
|
||||
keep them in `/main/mar/`. You can open `/main/mar/elem/door.hook` to
|
||||
`/psal/` loads our `psal` mark. Marks are like content types, and we
|
||||
keep them in `/main/mar/`. You can open `/main/mar/psal/door.hook` to
|
||||
see that we specify the ways in which a particular mark can be converted
|
||||
to produced well typed output. The general form of this is [`/mark/`]()
|
||||
where `mark` exists in the `/main/mar/` directory. A `elem` is a partial
|
||||
where `mark` exists in the `/main/mar/` directory. A `psal` is a partial
|
||||
`hymn`, where `hymn` is the hoon structure for `html`.
|
||||
|
||||
`/@` loads a list of files in numerical order from the previously
|
||||
specified `++beam` using our mark, `elem`. `/@` has a few close
|
||||
specified `++beam` using our mark, `psal`. `/@` has a few close
|
||||
relatives. `/&`, for example, reads files by `@da` or absolute date. You
|
||||
can see the rest in the [horn section of the library]().
|
||||
|
||||
`/;` takes the output from `/@` and `/elem/` and passes it to a twig. In
|
||||
`/;` takes the output from `/@` and `/psal/` and passes it to a twig. In
|
||||
this case, a gate. Our `/@` actually produces a [`++list`]() of
|
||||
pairs of `[@ manx]` where the `@` is the filename, and the `manx` is the
|
||||
converted contents. We use [`++turn`](), one of our `++list`
|
||||
|
@ -120,7 +120,7 @@ Retrieieves the %eyre FCGI, producing a [`++epic`](). Used primarily in
|
||||
|
||||
`but` is a [`++path`]().
|
||||
|
||||
~zod/main=> (fuel [[p=~zod q=%try r=[%ud p=2]] s=/elem] /web/'._.~-~~~~.gen~-~-_~~05vg0001v09f0n30fbh7dn6ab2jakmmspdq04nef5h70qbd5lh6atr4c5j2qrbldpp62q1df1in0sr1ding0c3qgt7kclj74qb65lm6atrkc5k2qpr5e1mmispdchin4p3fegmiqrjpdlo62p1dchsn4p39comn8pbcehgmsbbef5p7crrifr3o035dhgfrk2b5__')
|
||||
~zod/main=> (fuel [[p=~zod q=%try r=[%ud p=2]] s=/psal] /web/'._.~-~~~~.gen~-~-_~~05vg0001v09f0n30fbh7dn6ab2jakmmspdq04nef5h70qbd5lh6atr4c5j2qrbldpp62q1df1in0sr1ding0c3qgt7kclj74qb65lm6atrkc5k2qpr5e1mmispdchin4p3fegmiqrjpdlo62p1dchsn4p39comn8pbcehgmsbbef5p7crrifr3o035dhgfrk2b5__')
|
||||
[ qix={}
|
||||
ced
|
||||
[ hut=[p=%.y q=[~ 8.445] r=[%.n p=.0.0.0.0]]
|
||||
@ -130,7 +130,7 @@ Retrieieves the %eyre FCGI, producing a [`++epic`](). Used primarily in
|
||||
cip=[%.y p=.127.0.0.1]
|
||||
cum={}
|
||||
]
|
||||
bem=[[p=~zod q=%try r=[%ud p=2]] s=/elem]
|
||||
bem=[[p=~zod q=%try r=[%ud p=2]] s=/psal]
|
||||
but=/
|
||||
nyp=/gen
|
||||
]
|
||||
|
@ -25,7 +25,7 @@ stack made of thin layers, which is much easier to learn a layer at a
|
||||
time.
|
||||
|
||||
And unlike most fundamental theories of computing, there's really
|
||||
nothing smart or interesting about nock. Of course, in a strictly formal
|
||||
nothing smart or interesting about nock. Of course, in a strictly formal
|
||||
sense, all of computing is math. But that doesn't mean it needs to feel
|
||||
like math. nock is a simple mechanical device and it's meant to feel
|
||||
that way.
|
||||
|
14
base/pub/doc/talk.md
Normal file
14
base/pub/doc/talk.md
Normal file
@ -0,0 +1,14 @@
|
||||
<div class="short">
|
||||
|
||||
talk
|
||||
====
|
||||
|
||||
talk is our messaging application.
|
||||
|
||||
talk is in dire need of better documentation
|
||||
|
||||
</div>
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
This document should include <a href="./talk/help">the command reference</a> somehow.
|
32
base/pub/doc/talk/help.txt
Normal file
32
base/pub/doc/talk/help.txt
Normal file
@ -0,0 +1,32 @@
|
||||
!! actual helptext
|
||||
<-~michep-banlur: hello urbiters
|
||||
<-~michep-banlur: is there a list of ; commands for that chat somewhere?
|
||||
<-~michep-banlur: eh, i mean for this new chat. things changed a lot
|
||||
----------[5.990]
|
||||
<-~hidduc-posmeg: i'm not aware of a list
|
||||
<-~hidduc-posmeg: but i know of ;join
|
||||
<-~hidduc-posmeg: and ;create
|
||||
<-~michep-banlur: right, thanks
|
||||
<-~wictuc-folrex: welcome back, ~michep-banlur
|
||||
----------[5.995]
|
||||
<-~wictuc-folrex: there's four types of ; commands
|
||||
<-~wictuc-folrex: ;join ;create ;<number> and ;<target>
|
||||
<-~wictuc-folrex: where ;<number> "activates" a previous message
|
||||
<-~wictuc-folrex: and ;<target> sets where you send the message
|
||||
<-~wictuc-folrex: for example, ;~sampel-sipnym
|
||||
----------[6.000]
|
||||
<-~wictuc-folrex: would start private messaging ~sampel-sipnym
|
||||
<-~michep-banlur: ahh, that is th new bare ~ship-name
|
||||
<-~wictuc-folrex: yeah, although a target can also be a channel
|
||||
<-~wictuc-folrex: like ;/urbit-meta
|
||||
<-~wictuc-folrex: which means urbit-meta on ~doznec
|
||||
----------[6.005]
|
||||
<-~wictuc-folrex: you can also do ;~sampel-sipnym/channel-name
|
||||
<-~michep-banlur: right
|
||||
<-~wictuc-folrex: and, of course, just ;
|
||||
----------------| for /urbit-meta
|
||||
----------------| --bye ~modnut-migryd
|
||||
<-~wictuc-folrex: makes it "autotarget"
|
||||
<-~wictuc-folrex: which means, roughly, send to whatever channel the last
|
||||
----------[6.010]
|
||||
<-~wictuc-folrex: message was from
|
@ -1,16 +1,29 @@
|
||||
::
|
||||
::
|
||||
:::: /hook/hymn/fab/oct3/pub/
|
||||
::
|
||||
:: :: ::
|
||||
:::: /hook/hymn/fab/oct3/pub/ ::::::
|
||||
:: :: ::
|
||||
=+ dez=(trip &2:%)
|
||||
^- manx
|
||||
;html
|
||||
;head
|
||||
;meta(charset "utf-8");
|
||||
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js");
|
||||
;script(type "text/javascript", src "/~~/~/at/base/lib/urb.js");
|
||||
;link(type "text/css", rel "stylesheet", href "/{dez}/lib/base.css");
|
||||
;link(type "text/css", rel "stylesheet", href "/{dez}/pub/oct3/src/main.css");
|
||||
;script
|
||||
=type "text/javascript"
|
||||
=src "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js"
|
||||
==
|
||||
;script
|
||||
=type "text/javascript"
|
||||
=src "/~~/~/at/base/lib/urb.js"
|
||||
==
|
||||
;link
|
||||
=type "text/css"
|
||||
=rel "stylesheet"
|
||||
=href "/{dez}/lib/base.css"
|
||||
==
|
||||
;link
|
||||
=type "text/css"
|
||||
=rel "stylesheet"
|
||||
=href "/{dez}/pub/oct3/src/main.css")
|
||||
==
|
||||
;title: :oct3
|
||||
==
|
||||
;body
|
||||
|
@ -1,84 +1,84 @@
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau.woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-italic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-italic.woff");
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-medium.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-medium.woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-mediumitalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-mediumitalic.woff");
|
||||
font-weight: 500;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-bold.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-bold.woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-bolditalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-bolditalic.woff");
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-super.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-super.woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-superitalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-superitalic.woff");
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-extralight.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-extralight.woff");
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-light.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-light.woff");
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-regular.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-regular.woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-medium.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-medium.woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-bold.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-bold.woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-black.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-black.woff");
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
@ -1,84 +1,84 @@
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau.woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-italic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-italic.woff");
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-medium.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-medium.woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-mediumitalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-mediumitalic.woff");
|
||||
font-weight: 500;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-bold.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-bold.woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-bolditalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-bolditalic.woff");
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-super.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-super.woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-superitalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-superitalic.woff");
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-extralight.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-extralight.woff");
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-light.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-light.woff");
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-regular.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-regular.woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-medium.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-medium.woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-bold.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-bold.woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-black.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-black.woff");
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
@ -322,7 +322,7 @@ body {
|
||||
opacity: 1;
|
||||
}
|
||||
.sour-ctrl input {
|
||||
color: #fff;
|
||||
color: #555;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
font-size: 0.8rem;
|
||||
@ -343,7 +343,7 @@ body {
|
||||
font-weight: 400;
|
||||
font-size: 1.2rem;
|
||||
margin-left: 0.6rem;
|
||||
color: #fff;
|
||||
color: #555;
|
||||
}
|
||||
.sour-ctrl input:focus::-webkit-input-placeholder {
|
||||
color: transparent;
|
||||
@ -427,6 +427,7 @@ a {
|
||||
}
|
||||
.sig {
|
||||
font-size: 2rem;
|
||||
margin-left: 0.7rem;
|
||||
margin-right: 0.3rem;
|
||||
}
|
||||
.sig:before {
|
||||
@ -440,7 +441,7 @@ a {
|
||||
.type.public:before {
|
||||
content: "▒";
|
||||
font-size: 0.8rem;
|
||||
line-height: 0.8rem;
|
||||
line-height: 1.2rem;
|
||||
}
|
||||
.mess,
|
||||
.iden,
|
||||
@ -466,7 +467,6 @@ a {
|
||||
background-color: #fff;
|
||||
}
|
||||
.attr .iden {
|
||||
margin-left: 0.3rem;
|
||||
line-hieght: 1.4rem;
|
||||
}
|
||||
.audi,
|
||||
|
@ -263,7 +263,7 @@ body
|
||||
|
||||
// add source
|
||||
.sour-ctrl input
|
||||
color white
|
||||
color #555
|
||||
background-color transparent
|
||||
border none
|
||||
font-size .8rem
|
||||
@ -284,7 +284,7 @@ body
|
||||
font-weight 400
|
||||
font-size 1.2rem
|
||||
margin-left .6rem
|
||||
color white
|
||||
color #555
|
||||
|
||||
.sour-ctrl input:focus::-webkit-input-placeholder
|
||||
color transparent
|
||||
@ -377,6 +377,7 @@ a
|
||||
|
||||
.sig
|
||||
font-size 2rem
|
||||
margin-left .7rem
|
||||
margin-right .3rem
|
||||
|
||||
.sig:before
|
||||
@ -390,7 +391,7 @@ a
|
||||
.type.public:before
|
||||
content "▒"
|
||||
font-size .8rem
|
||||
line-height .8rem
|
||||
line-height 1.2rem
|
||||
|
||||
.mess
|
||||
.iden
|
||||
@ -416,7 +417,6 @@ a
|
||||
background-color white
|
||||
|
||||
.attr .iden
|
||||
margin-left .3rem
|
||||
line-hieght 1.4rem
|
||||
|
||||
.audi
|
||||
|
0
base/pub/talk/src/js/.main.js
Normal file
0
base/pub/talk/src/js/.main.js
Normal file
@ -33,6 +33,7 @@ module.exports = recl
|
||||
StationActions.setTyping @state.station,state
|
||||
|
||||
_blur: ->
|
||||
@$writing.text @$writing.text()
|
||||
MessageActions.setTyping false
|
||||
@typing false
|
||||
|
||||
@ -77,6 +78,15 @@ module.exports = recl
|
||||
_writingKeyUp: (e) ->
|
||||
if not window.urb.util.isURL @$writing.text()
|
||||
@$length.toggleClass('valid-false',(@$writing.text().length > 62))
|
||||
r = window.getSelection().getRangeAt(0).cloneRange()
|
||||
@$writing.text @$writing.text()
|
||||
setTimeout =>
|
||||
s = window.getSelection()
|
||||
s.removeAllRanges()
|
||||
s.addRange r
|
||||
console.log r
|
||||
,0
|
||||
|
||||
|
||||
_writingKeyDown: (e) ->
|
||||
if e.keyCode is 13
|
||||
|
@ -1,4 +1,4 @@
|
||||
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/MessageActions.coffee":[function(require,module,exports){
|
||||
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||||
var MessageDispatcher;
|
||||
|
||||
MessageDispatcher = require('../dispatcher/Dispatcher.coffee');
|
||||
@ -86,8 +86,7 @@ module.exports = {
|
||||
};
|
||||
|
||||
|
||||
|
||||
},{"../dispatcher/Dispatcher.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/dispatcher/Dispatcher.coffee"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/StationActions.coffee":[function(require,module,exports){
|
||||
},{"../dispatcher/Dispatcher.coffee":7}],2:[function(require,module,exports){
|
||||
var StationDispatcher;
|
||||
|
||||
StationDispatcher = require('../dispatcher/Dispatcher.coffee');
|
||||
@ -174,8 +173,7 @@ module.exports = {
|
||||
};
|
||||
|
||||
|
||||
|
||||
},{"../dispatcher/Dispatcher.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/dispatcher/Dispatcher.coffee"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/MemberComponent.coffee":[function(require,module,exports){
|
||||
},{"../dispatcher/Dispatcher.coffee":7}],3:[function(require,module,exports){
|
||||
var div, input, recl, ref, textarea;
|
||||
|
||||
recl = React.createClass;
|
||||
@ -203,8 +201,7 @@ module.exports = recl({
|
||||
});
|
||||
|
||||
|
||||
|
||||
},{}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/MessagesComponent.coffee":[function(require,module,exports){
|
||||
},{}],4:[function(require,module,exports){
|
||||
var Member, Message, MessageActions, MessageStore, StationActions, StationStore, a, br, div, input, moment, recl, ref, textarea;
|
||||
|
||||
moment = require('moment-timezone');
|
||||
@ -473,8 +470,7 @@ module.exports = recl({
|
||||
});
|
||||
|
||||
|
||||
|
||||
},{"../actions/MessageActions.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/MessageActions.coffee","../actions/StationActions.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/StationActions.coffee","../stores/MessageStore.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/stores/MessageStore.coffee","../stores/StationStore.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/stores/StationStore.coffee","./MemberComponent.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/MemberComponent.coffee","moment-timezone":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/index.js"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/StationComponent.coffee":[function(require,module,exports){
|
||||
},{"../actions/MessageActions.coffee":1,"../actions/StationActions.coffee":2,"../stores/MessageStore.coffee":19,"../stores/StationStore.coffee":20,"./MemberComponent.coffee":3,"moment-timezone":14}],5:[function(require,module,exports){
|
||||
var Member, StationActions, StationStore, a, div, h1, input, recl, ref, textarea;
|
||||
|
||||
recl = React.createClass;
|
||||
@ -660,8 +656,7 @@ module.exports = recl({
|
||||
});
|
||||
|
||||
|
||||
|
||||
},{"../actions/StationActions.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/StationActions.coffee","../stores/StationStore.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/stores/StationStore.coffee","./MemberComponent.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/MemberComponent.coffee"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/WritingComponent.coffee":[function(require,module,exports){
|
||||
},{"../actions/StationActions.coffee":2,"../stores/StationStore.coffee":20,"./MemberComponent.coffee":3}],6:[function(require,module,exports){
|
||||
var Member, MessageActions, MessageStore, StationActions, StationStore, br, div, input, recl, ref, textarea;
|
||||
|
||||
recl = React.createClass;
|
||||
@ -712,6 +707,7 @@ module.exports = recl({
|
||||
}
|
||||
},
|
||||
_blur: function() {
|
||||
this.$writing.text(this.$writing.text());
|
||||
MessageActions.setTyping(false);
|
||||
return this.typing(false);
|
||||
},
|
||||
@ -765,9 +761,21 @@ module.exports = recl({
|
||||
}
|
||||
},
|
||||
_writingKeyUp: function(e) {
|
||||
var r;
|
||||
if (!window.urb.util.isURL(this.$writing.text())) {
|
||||
return this.$length.toggleClass('valid-false', this.$writing.text().length > 62);
|
||||
this.$length.toggleClass('valid-false', this.$writing.text().length > 62);
|
||||
}
|
||||
r = window.getSelection().getRangeAt(0).cloneRange();
|
||||
this.$writing.text(this.$writing.text());
|
||||
return setTimeout((function(_this) {
|
||||
return function() {
|
||||
var s;
|
||||
s = window.getSelection();
|
||||
s.removeAllRanges();
|
||||
s.addRange(r);
|
||||
return console.log(r);
|
||||
};
|
||||
})(this), 0);
|
||||
},
|
||||
_writingKeyDown: function(e) {
|
||||
var txt;
|
||||
@ -936,8 +944,7 @@ module.exports = recl({
|
||||
});
|
||||
|
||||
|
||||
|
||||
},{"../actions/MessageActions.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/MessageActions.coffee","../actions/StationActions.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/StationActions.coffee","../stores/MessageStore.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/stores/MessageStore.coffee","../stores/StationStore.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/stores/StationStore.coffee","./MemberComponent.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/MemberComponent.coffee"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/dispatcher/Dispatcher.coffee":[function(require,module,exports){
|
||||
},{"../actions/MessageActions.coffee":1,"../actions/StationActions.coffee":2,"../stores/MessageStore.coffee":19,"../stores/StationStore.coffee":20,"./MemberComponent.coffee":3}],7:[function(require,module,exports){
|
||||
var Dispatcher;
|
||||
|
||||
Dispatcher = require('flux').Dispatcher;
|
||||
@ -958,8 +965,7 @@ module.exports = _.merge(new Dispatcher(), {
|
||||
});
|
||||
|
||||
|
||||
|
||||
},{"flux":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/flux/index.js"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/main.coffee":[function(require,module,exports){
|
||||
},{"flux":10}],8:[function(require,module,exports){
|
||||
$(function() {
|
||||
var $c, MessagesComponent, StationActions, StationComponent, WritingComponent, clean, rend;
|
||||
StationActions = require('./actions/StationActions.coffee');
|
||||
@ -989,8 +995,7 @@ $(function() {
|
||||
});
|
||||
|
||||
|
||||
|
||||
},{"./actions/StationActions.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/StationActions.coffee","./components/MessagesComponent.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/MessagesComponent.coffee","./components/StationComponent.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/StationComponent.coffee","./components/WritingComponent.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/components/WritingComponent.coffee","./move.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/move.coffee","./persistence/MessagePersistence.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/persistence/MessagePersistence.coffee","./persistence/StationPersistence.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/persistence/StationPersistence.coffee","./util.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/util.coffee"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/move.coffee":[function(require,module,exports){
|
||||
},{"./actions/StationActions.coffee":2,"./components/MessagesComponent.coffee":4,"./components/StationComponent.coffee":5,"./components/WritingComponent.coffee":6,"./move.coffee":9,"./persistence/MessagePersistence.coffee":17,"./persistence/StationPersistence.coffee":18,"./util.coffee":21}],9:[function(require,module,exports){
|
||||
var ldy, setSo, so;
|
||||
|
||||
so = {};
|
||||
@ -1090,8 +1095,7 @@ $(window).on('scroll', function(e) {
|
||||
$(window).on('scroll', window.util.checkScroll);
|
||||
|
||||
|
||||
|
||||
},{}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/flux/index.js":[function(require,module,exports){
|
||||
},{}],10:[function(require,module,exports){
|
||||
/**
|
||||
* Copyright (c) 2014-2015, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
@ -1103,7 +1107,7 @@ $(window).on('scroll', window.util.checkScroll);
|
||||
|
||||
module.exports.Dispatcher = require('./lib/Dispatcher')
|
||||
|
||||
},{"./lib/Dispatcher":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/flux/lib/Dispatcher.js"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/flux/lib/Dispatcher.js":[function(require,module,exports){
|
||||
},{"./lib/Dispatcher":11}],11:[function(require,module,exports){
|
||||
/*
|
||||
* Copyright (c) 2014, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
@ -1355,7 +1359,7 @@ var _prefix = 'ID_';
|
||||
|
||||
module.exports = Dispatcher;
|
||||
|
||||
},{"./invariant":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/flux/lib/invariant.js"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/flux/lib/invariant.js":[function(require,module,exports){
|
||||
},{"./invariant":12}],12:[function(require,module,exports){
|
||||
/**
|
||||
* Copyright (c) 2014, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
@ -1410,7 +1414,7 @@ var invariant = function(condition, format, a, b, c, d, e, f) {
|
||||
|
||||
module.exports = invariant;
|
||||
|
||||
},{}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/data/packed/latest.json":[function(require,module,exports){
|
||||
},{}],13:[function(require,module,exports){
|
||||
module.exports={
|
||||
"version": "2014j",
|
||||
"zones": [
|
||||
@ -2000,11 +2004,11 @@ module.exports={
|
||||
"Pacific/Pohnpei|Pacific/Ponape"
|
||||
]
|
||||
}
|
||||
},{}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/index.js":[function(require,module,exports){
|
||||
},{}],14:[function(require,module,exports){
|
||||
var moment = module.exports = require("./moment-timezone");
|
||||
moment.tz.load(require('./data/packed/latest.json'));
|
||||
|
||||
},{"./data/packed/latest.json":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/data/packed/latest.json","./moment-timezone":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/moment-timezone.js"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/moment-timezone.js":[function(require,module,exports){
|
||||
},{"./data/packed/latest.json":13,"./moment-timezone":15}],15:[function(require,module,exports){
|
||||
//! moment-timezone.js
|
||||
//! version : 0.2.5
|
||||
//! author : Tim Wood
|
||||
@ -2407,7 +2411,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
return moment;
|
||||
}));
|
||||
|
||||
},{"moment":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/node_modules/moment/moment.js"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/node_modules/moment/moment.js":[function(require,module,exports){
|
||||
},{"moment":16}],16:[function(require,module,exports){
|
||||
//! moment.js
|
||||
//! version : 2.10.3
|
||||
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
||||
@ -5519,7 +5523,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
return _moment;
|
||||
|
||||
}));
|
||||
},{}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/persistence/MessagePersistence.coffee":[function(require,module,exports){
|
||||
},{}],17:[function(require,module,exports){
|
||||
var MessageActions;
|
||||
|
||||
MessageActions = require('../actions/MessageActions.coffee');
|
||||
@ -5597,8 +5601,7 @@ module.exports = {
|
||||
};
|
||||
|
||||
|
||||
|
||||
},{"../actions/MessageActions.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/MessageActions.coffee"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/persistence/StationPersistence.coffee":[function(require,module,exports){
|
||||
},{"../actions/MessageActions.coffee":1}],18:[function(require,module,exports){
|
||||
var StationActions;
|
||||
|
||||
StationActions = require('../actions/StationActions.coffee');
|
||||
@ -5722,8 +5725,7 @@ module.exports = {
|
||||
};
|
||||
|
||||
|
||||
|
||||
},{"../actions/StationActions.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/actions/StationActions.coffee"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/stores/MessageStore.coffee":[function(require,module,exports){
|
||||
},{"../actions/StationActions.coffee":2}],19:[function(require,module,exports){
|
||||
var EventEmitter, MessageDispatcher, MessageStore, _fetching, _last, _listening, _messages, _station, _typing, moment;
|
||||
|
||||
moment = require('moment-timezone');
|
||||
@ -5868,8 +5870,7 @@ MessageStore.dispatchToken = MessageDispatcher.register(function(payload) {
|
||||
module.exports = MessageStore;
|
||||
|
||||
|
||||
|
||||
},{"../dispatcher/Dispatcher.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/dispatcher/Dispatcher.coffee","events":"/usr/local/lib/node_modules/watchify/node_modules/browserify/node_modules/events/events.js","moment-timezone":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/index.js"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/stores/StationStore.coffee":[function(require,module,exports){
|
||||
},{"../dispatcher/Dispatcher.coffee":7,"events":22,"moment-timezone":14}],20:[function(require,module,exports){
|
||||
var EventEmitter, StationDispatcher, StationStore, _audience, _config, _listening, _members, _station, _stations, _typing, _validAudience;
|
||||
|
||||
EventEmitter = require('events').EventEmitter;
|
||||
@ -6068,8 +6069,7 @@ StationStore.dispatchToken = StationDispatcher.register(function(payload) {
|
||||
module.exports = StationStore;
|
||||
|
||||
|
||||
|
||||
},{"../dispatcher/Dispatcher.coffee":"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/dispatcher/Dispatcher.coffee","events":"/usr/local/lib/node_modules/watchify/node_modules/browserify/node_modules/events/events.js"}],"/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/util.coffee":[function(require,module,exports){
|
||||
},{"../dispatcher/Dispatcher.coffee":7,"events":22}],21:[function(require,module,exports){
|
||||
if (!window.util) {
|
||||
window.util = {};
|
||||
}
|
||||
@ -6180,8 +6180,7 @@ _.merge(window.util, {
|
||||
});
|
||||
|
||||
|
||||
|
||||
},{}],"/usr/local/lib/node_modules/watchify/node_modules/browserify/node_modules/events/events.js":[function(require,module,exports){
|
||||
},{}],22:[function(require,module,exports){
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@ -6241,10 +6240,8 @@ EventEmitter.prototype.emit = function(type) {
|
||||
er = arguments[1];
|
||||
if (er instanceof Error) {
|
||||
throw er; // Unhandled 'error' event
|
||||
} else {
|
||||
throw TypeError('Uncaught, unspecified "error" event.');
|
||||
}
|
||||
return false;
|
||||
throw TypeError('Uncaught, unspecified "error" event.');
|
||||
}
|
||||
}
|
||||
|
||||
@ -6486,4 +6483,4 @@ function isUndefined(arg) {
|
||||
return arg === void 0;
|
||||
}
|
||||
|
||||
},{}]},{},["/Users/galen/Documents/src/urbit/urb/zod/base/pub/talk/src/js/main.coffee"]);
|
||||
},{}]},{},[8]);
|
||||
|
@ -4,42 +4,42 @@
|
||||
|
||||
@font-face
|
||||
font-family "bau"
|
||||
src url("http://storage.googleapis.com/urbit-extra/bau.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/bau.woff")
|
||||
font-weight 400
|
||||
font-style normal
|
||||
@font-face
|
||||
font-family "bau"
|
||||
src url("http://storage.googleapis.com/urbit-extra/bau-italic.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/bau-italic.woff")
|
||||
font-weight 400
|
||||
font-style italic
|
||||
@font-face
|
||||
font-family "bau"
|
||||
src url("http://storage.googleapis.com/urbit-extra/bau-medium.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/bau-medium.woff")
|
||||
font-weight 500
|
||||
font-style normal
|
||||
@font-face
|
||||
font-family "bau"
|
||||
src url("http://storage.googleapis.com/urbit-extra/bau-mediumitalic.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/bau-mediumitalic.woff")
|
||||
font-weight 500
|
||||
font-style italic
|
||||
@font-face
|
||||
font-family "bau"
|
||||
src url("http://storage.googleapis.com/urbit-extra/bau-bold.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/bau-bold.woff")
|
||||
font-weight 600
|
||||
font-style normal
|
||||
@font-face
|
||||
font-family "bau"
|
||||
src url("http://storage.googleapis.com/urbit-extra/bau-bolditalic.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/bau-bolditalic.woff")
|
||||
font-weight 600
|
||||
font-style italic
|
||||
@font-face
|
||||
font-family "bau"
|
||||
src url("http://storage.googleapis.com/urbit-extra/bau-super.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/bau-super.woff")
|
||||
font-weight 600
|
||||
font-style normal
|
||||
@font-face
|
||||
font-family "bau"
|
||||
src url("http://storage.googleapis.com/urbit-extra/bau-superitalic.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/bau-superitalic.woff")
|
||||
font-weight 600
|
||||
font-style italic
|
||||
|
||||
@ -49,21 +49,21 @@
|
||||
|
||||
@font-face
|
||||
font-family "scp"
|
||||
src url("http://storage.googleapis.com/urbit-extra/scp-extralight.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/scp-extralight.woff")
|
||||
font-weight 200
|
||||
font-style normal
|
||||
@font-face
|
||||
font-family "scp"
|
||||
src url("http://storage.googleapis.com/urbit-extra/scp-light.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/scp-light.woff")
|
||||
font-weight 300
|
||||
font-style normal
|
||||
@font-face
|
||||
font-family "scp"
|
||||
src url("http://storage.googleapis.com/urbit-extra/scp-regular.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/scp-regular.woff")
|
||||
font-weight 400
|
||||
font-style normal
|
||||
@font-face
|
||||
font-family "scp"
|
||||
src url("http://storage.googleapis.com/urbit-extra/scp-medium.woff")
|
||||
src url("https://storage.googleapis.com/urbit-extra/scp-medium.woff")
|
||||
font-weight 500
|
||||
font-style normal
|
@ -1,72 +1,72 @@
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau.woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-italic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-italic.woff");
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-medium.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-medium.woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-mediumitalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-mediumitalic.woff");
|
||||
font-weight: 500;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-bold.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-bold.woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-bolditalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-bolditalic.woff");
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-super.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-super.woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "bau";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/bau-superitalic.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/bau-superitalic.woff");
|
||||
font-weight: 600;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-extralight.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-extralight.woff");
|
||||
font-weight: 200;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-light.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-light.woff");
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-regular.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-regular.woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "scp";
|
||||
src: url("http://storage.googleapis.com/urbit-extra/scp-medium.woff");
|
||||
src: url("https://storage.googleapis.com/urbit-extra/scp-medium.woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
@ -357,6 +357,18 @@ li:before {
|
||||
.list h1 {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
#body .CodeMirror {
|
||||
font-size: 0.8rem;
|
||||
line-height: 1rem;
|
||||
}
|
||||
#body .CodeMirror .cm-header {
|
||||
font-weight: 200;
|
||||
}
|
||||
#body .CodeMirror-gutters {
|
||||
background-color: #fff;
|
||||
padding-right: 1rem;
|
||||
margin-left: -1rem;
|
||||
}
|
||||
@media only screen and (max-width: 1170px) {
|
||||
#nav,
|
||||
#nav > div,
|
||||
|
@ -282,4 +282,16 @@ li:before
|
||||
.list h1
|
||||
font-size .7rem
|
||||
|
||||
#body .CodeMirror
|
||||
font-size .8rem
|
||||
line-height 1rem
|
||||
|
||||
#body .CodeMirror .cm-header
|
||||
font-weight 200
|
||||
|
||||
#body .CodeMirror-gutters
|
||||
background-color #fff
|
||||
padding-right 1rem
|
||||
margin-left -1rem
|
||||
|
||||
@import 'mobile'
|
@ -1,4 +1,4 @@
|
||||
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||||
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/actions/TreeActions.coffee":[function(require,module,exports){
|
||||
var TreeDispatcher, TreePersistence;
|
||||
|
||||
TreeDispatcher = require('../dispatcher/Dispatcher.coffee');
|
||||
@ -72,7 +72,7 @@ module.exports = {
|
||||
|
||||
|
||||
|
||||
},{"../dispatcher/Dispatcher.coffee":8,"../persistence/TreePersistence.coffee":13}],2:[function(require,module,exports){
|
||||
},{"../dispatcher/Dispatcher.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/dispatcher/Dispatcher.coffee","../persistence/TreePersistence.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/persistence/TreePersistence.coffee"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/AnchorComponent.coffee":[function(require,module,exports){
|
||||
var TreeActions, TreeStore, a, div, recl, ref;
|
||||
|
||||
TreeStore = require('../stores/TreeStore.coffee');
|
||||
@ -295,7 +295,7 @@ module.exports = recl({
|
||||
|
||||
|
||||
|
||||
},{"../actions/TreeActions.coffee":1,"../stores/TreeStore.coffee":14}],3:[function(require,module,exports){
|
||||
},{"../actions/TreeActions.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/actions/TreeActions.coffee","../stores/TreeStore.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/stores/TreeStore.coffee"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/BodyComponent.coffee":[function(require,module,exports){
|
||||
var TreeActions, TreeStore, div, input, load, recl, ref, textarea;
|
||||
|
||||
TreeStore = require('../stores/TreeStore.coffee');
|
||||
@ -360,7 +360,7 @@ module.exports = recl({
|
||||
|
||||
|
||||
|
||||
},{"../actions/TreeActions.coffee":1,"../stores/TreeStore.coffee":14,"./LoadComponent.coffee":7}],4:[function(require,module,exports){
|
||||
},{"../actions/TreeActions.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/actions/TreeActions.coffee","../stores/TreeStore.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/stores/TreeStore.coffee","./LoadComponent.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/LoadComponent.coffee"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/CodeMirror.coffee":[function(require,module,exports){
|
||||
var div, recl, ref, textarea;
|
||||
|
||||
recl = React.createClass;
|
||||
@ -384,7 +384,7 @@ module.exports = recl({
|
||||
|
||||
|
||||
|
||||
},{}],5:[function(require,module,exports){
|
||||
},{}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/KidsComponent.coffee":[function(require,module,exports){
|
||||
var TreeActions, TreeStore, a, div, hr, li, recl, ref, ul;
|
||||
|
||||
TreeStore = require('../stores/TreeStore.coffee');
|
||||
@ -451,7 +451,7 @@ module.exports = recl({
|
||||
|
||||
|
||||
|
||||
},{"../actions/TreeActions.coffee":1,"../stores/TreeStore.coffee":14}],6:[function(require,module,exports){
|
||||
},{"../actions/TreeActions.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/actions/TreeActions.coffee","../stores/TreeStore.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/stores/TreeStore.coffee"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/ListComponent.coffee":[function(require,module,exports){
|
||||
var TreeActions, TreeStore, a, div, h1, li, load, recl, ref, ul;
|
||||
|
||||
TreeStore = require('../stores/TreeStore.coffee');
|
||||
@ -546,7 +546,7 @@ module.exports = recl({
|
||||
|
||||
|
||||
|
||||
},{"../actions/TreeActions.coffee":1,"../stores/TreeStore.coffee":14,"./LoadComponent.coffee":7}],7:[function(require,module,exports){
|
||||
},{"../actions/TreeActions.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/actions/TreeActions.coffee","../stores/TreeStore.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/stores/TreeStore.coffee","./LoadComponent.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/LoadComponent.coffee"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/LoadComponent.coffee":[function(require,module,exports){
|
||||
var div, input, recl, ref, textarea;
|
||||
|
||||
recl = React.createClass;
|
||||
@ -584,7 +584,7 @@ module.exports = recl({
|
||||
|
||||
|
||||
|
||||
},{}],8:[function(require,module,exports){
|
||||
},{}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/dispatcher/Dispatcher.coffee":[function(require,module,exports){
|
||||
var Dispatcher;
|
||||
|
||||
Dispatcher = require('flux').Dispatcher;
|
||||
@ -606,7 +606,7 @@ module.exports = _.extend(new Dispatcher(), {
|
||||
|
||||
|
||||
|
||||
},{"flux":10}],9:[function(require,module,exports){
|
||||
},{"flux":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/node_modules/flux/index.js"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/main.coffee":[function(require,module,exports){
|
||||
var rend;
|
||||
|
||||
rend = React.render;
|
||||
@ -766,7 +766,7 @@ $(function() {
|
||||
|
||||
|
||||
|
||||
},{"./actions/TreeActions.coffee":1,"./components/AnchorComponent.coffee":2,"./components/BodyComponent.coffee":3,"./components/CodeMirror.coffee":4,"./components/KidsComponent.coffee":5,"./components/ListComponent.coffee":6,"./persistence/TreePersistence.coffee":13}],10:[function(require,module,exports){
|
||||
},{"./actions/TreeActions.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/actions/TreeActions.coffee","./components/AnchorComponent.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/AnchorComponent.coffee","./components/BodyComponent.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/BodyComponent.coffee","./components/CodeMirror.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/CodeMirror.coffee","./components/KidsComponent.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/KidsComponent.coffee","./components/ListComponent.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/components/ListComponent.coffee","./persistence/TreePersistence.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/persistence/TreePersistence.coffee"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/node_modules/flux/index.js":[function(require,module,exports){
|
||||
/**
|
||||
* Copyright (c) 2014-2015, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
@ -778,7 +778,7 @@ $(function() {
|
||||
|
||||
module.exports.Dispatcher = require('./lib/Dispatcher')
|
||||
|
||||
},{"./lib/Dispatcher":11}],11:[function(require,module,exports){
|
||||
},{"./lib/Dispatcher":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/node_modules/flux/lib/Dispatcher.js"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/node_modules/flux/lib/Dispatcher.js":[function(require,module,exports){
|
||||
/*
|
||||
* Copyright (c) 2014, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
@ -1030,7 +1030,7 @@ var _prefix = 'ID_';
|
||||
|
||||
module.exports = Dispatcher;
|
||||
|
||||
},{"./invariant":12}],12:[function(require,module,exports){
|
||||
},{"./invariant":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/node_modules/flux/lib/invariant.js"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/node_modules/flux/lib/invariant.js":[function(require,module,exports){
|
||||
/**
|
||||
* Copyright (c) 2014, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
@ -1085,7 +1085,7 @@ var invariant = function(condition, format, a, b, c, d, e, f) {
|
||||
|
||||
module.exports = invariant;
|
||||
|
||||
},{}],13:[function(require,module,exports){
|
||||
},{}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/persistence/TreePersistence.coffee":[function(require,module,exports){
|
||||
var TreeActions;
|
||||
|
||||
TreeActions = require('../actions/TreeActions.coffee');
|
||||
@ -1107,7 +1107,7 @@ module.exports = {
|
||||
|
||||
|
||||
|
||||
},{"../actions/TreeActions.coffee":1}],14:[function(require,module,exports){
|
||||
},{"../actions/TreeActions.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/actions/TreeActions.coffee"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/stores/TreeStore.coffee":[function(require,module,exports){
|
||||
var EventEmitter, MessageDispatcher, TreeStore, _cont, _curr, _load, _snip, _tree;
|
||||
|
||||
EventEmitter = require('events').EventEmitter;
|
||||
@ -1321,7 +1321,7 @@ module.exports = TreeStore;
|
||||
|
||||
|
||||
|
||||
},{"../dispatcher/Dispatcher.coffee":8,"events":15}],15:[function(require,module,exports){
|
||||
},{"../dispatcher/Dispatcher.coffee":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/dispatcher/Dispatcher.coffee","events":"/usr/local/lib/node_modules/watchify/node_modules/browserify/node_modules/events/events.js"}],"/usr/local/lib/node_modules/watchify/node_modules/browserify/node_modules/events/events.js":[function(require,module,exports){
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
@ -1381,8 +1381,10 @@ EventEmitter.prototype.emit = function(type) {
|
||||
er = arguments[1];
|
||||
if (er instanceof Error) {
|
||||
throw er; // Unhandled 'error' event
|
||||
} else {
|
||||
throw TypeError('Uncaught, unspecified "error" event.');
|
||||
}
|
||||
throw TypeError('Uncaught, unspecified "error" event.');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1624,4 +1626,4 @@ function isUndefined(arg) {
|
||||
return arg === void 0;
|
||||
}
|
||||
|
||||
},{}]},{},[9]);
|
||||
},{}]},{},["/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/tree/src/js/main.coffee"]);
|
||||
|
@ -1,5 +1,5 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct1/sur :::::: dependencies
|
||||
:::: /hoon/oct1/sur :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 :: arvo version
|
||||
:: :: ::
|
||||
|
@ -1,7 +1,7 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct2/sur :::::: dependencies
|
||||
:::: /hoon/oct2/sur :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 ::
|
||||
/? 310 :: arvo version
|
||||
:: :: ::
|
||||
:::: :::::: semantics
|
||||
:: :: ::
|
||||
|
@ -1,7 +1,7 @@
|
||||
:: :: ::
|
||||
:::: /hoon/oct3/sur :::::: dependencies
|
||||
:::: /hoon/oct3/sur :::::: dependencies
|
||||
:: :: ::
|
||||
/? 310 ::
|
||||
/? 310 :: arvo version
|
||||
:: :: ::
|
||||
:::: :::::: semantics
|
||||
:: :: ::
|
||||
|
Loading…
Reference in New Issue
Block a user