From 8619342e5efc0c93f9a1e4da3388880a6063ce2f Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 8 Feb 2023 22:11:45 +0100 Subject: [PATCH] Refinements --- schema-bundle.bin | 4 ++-- schemas/gatekeeper.prs | 17 +++++++++++------ schemas/noise.prs | 6 +++--- schemas/sturdy.prs | 3 ++- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index 17f2200..dced317 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -31,6 +31,6 @@ TAttenuate ByteString„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³worker„“³schema·³version‘³ definitions·³Instance“³rec“³lit³Instance„“³tupleµ“³named³name“³atom³String„„“³named³argument³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³service„“³schema·³version‘³ definitions·³State“³orµµ±started“³lit³started„„µ±ready“³lit³ready„„µ±failed“³lit³failed„„µ±complete“³lit³complete„„µ± userDefined³any„„„³ RunService“³rec“³lit³ run-service„“³tupleµ“³named³ serviceName³any„„„„³ ServiceState“³rec“³lit³ service-state„“³tupleµ“³named³ serviceName³any„“³named³state“³refµ„³State„„„„„³ ServiceObject“³rec“³lit³service-object„“³tupleµ“³named³ serviceName³any„“³named³object³any„„„„³RequireService“³rec“³lit³require-service„“³tupleµ“³named³ serviceName³any„„„„³RestartService“³rec“³lit³restart-service„“³tupleµ“³named³ serviceName³any„„„„³ServiceDependency“³rec“³lit³ depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³ ServiceState„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³protocol„“³schema·³version‘³ definitions·³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³sync„“³tupleµ“³named³peer“³embedded“³lit„„„„„„³Turn“³seqof“³refµ„³ TurnEvent„„³Error“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„“³named³detail³any„„„„³Event“³orµµ±Assert“³refµ„³Assert„„µ±Retract“³refµ„³Retract„„µ±Message“³refµ„³Message„„µ±Sync“³refµ„³Sync„„„„³Assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„µ± Extension“³refµ„³ Extension„„„„³Message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ„³Handle„„„„„³ Assertion³any³ Extension“³rec“³named³label³any„“³named³fields“³seqof³any„„„³ TurnEvent“³tupleµ“³named³oid“³refµ„³Oid„„“³named³event“³refµ„³Event„„„„„³ embeddedType€„„µ³ dataspace„“³schema·³version‘³ definitions·³Observe“³rec“³lit³Observe„“³tupleµ“³named³pattern“³refµ³dataspacePatterns„³Pattern„„“³named³observer“³embedded³any„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³ -gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³ description³any„“³named³target“³embedded³any„„“³named³observer“³refµ„³ BindObserver„„„„„³Bound“³orµµ±bound“³rec“³lit³bound„“³tupleµ“³named³step³any„„„„„µ±Rejected“³refµ„³Rejected„„„„³Route“³rec“³lit³route„“³ tuplePrefixµ“³named³ -transports“³seqof³any„„„“³named³ pathSteps“³seqof³any„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³step³any„“³named³observer“³embedded“³refµ„³Resolved„„„„„„³PathStep“³rec“³lit³ path-step„“³tupleµ“³named³origin“³embedded“³refµ„³Resolve„„„“³named³pathStep³any„“³named³resolved“³refµ„³Resolved„„„„„³Rejected“³rec“³lit³rejected„“³tupleµ“³named³detail³any„„„„³Resolved“³orµµ±accepted“³rec“³lit³accepted„“³tupleµ“³named³responderSession“³embedded³any„„„„„„µ±Rejected“³refµ„³Rejected„„„„³ ResolvePath“³rec“³lit³ resolve-path„“³tupleµ“³named³route“³refµ„³Route„„“³named³addr³any„“³named³control“³embedded“³refµ„³TransportControl„„„“³named³resolved“³refµ„³Resolved„„„„„³ BindObserver“³orµµ±present“³embedded“³refµ„³Bound„„„µ±absent“³lit€„„„„³ForceDisconnect“³rec“³lit³force-disconnect„“³tupleµ„„„³TransportControl“³refµ„³ForceDisconnect„³TransportConnection“³rec“³lit³connect-transport„“³tupleµ“³named³addr³any„“³named³control“³embedded“³refµ„³TransportControl„„„“³named³resolved“³refµ„³Resolved„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³DLit“³rec“³lit³lit„“³tupleµ“³named³value“³refµ„³AnyAtom„„„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³AnyAtom“³orµµ±bool“³atom³Boolean„„µ±float“³atom³Float„„µ±double“³atom³Double„„µ±int“³atom³ SignedInteger„„µ±string“³atom³String„„µ±bytes“³atom³ +gatekeeper„“³schema·³version‘³ definitions·³Bind“³rec“³lit³bind„“³tupleµ“³named³ description“³refµ„³ Description„„“³named³target“³embedded³any„„“³named³observer“³refµ„³ BindObserver„„„„„³Step“³rec“³named³stepType“³atom³Symbol„„“³named³details“³seqof³any„„„³Bound“³orµµ±bound“³rec“³lit³bound„“³tupleµ“³named³step³any„„„„„µ±Rejected“³refµ„³Rejected„„„„³Route“³rec“³lit³route„“³ tuplePrefixµ“³named³ +transports“³seqof³any„„„“³named³ pathSteps“³seqof“³refµ„³PathStep„„„„„³Resolve“³rec“³lit³resolve„“³tupleµ“³named³step“³refµ„³Step„„“³named³observer“³embedded“³refµ„³Resolved„„„„„„³PathStep“³rec“³named³stepType“³atom³Symbol„„“³named³details“³seqof³any„„„³Rejected“³rec“³lit³rejected„“³tupleµ“³named³detail³any„„„„³Resolved“³orµµ±accepted“³rec“³lit³accepted„“³tupleµ“³named³responderSession“³embedded³any„„„„„„µ±Rejected“³refµ„³Rejected„„„„³ Description“³rec“³named³stepType“³atom³Symbol„„“³named³details“³seqof³any„„„³ ResolvePath“³rec“³lit³ resolve-path„“³tupleµ“³named³route“³refµ„³Route„„“³named³addr³any„“³named³control“³embedded“³refµ„³TransportControl„„„“³named³resolved“³refµ„³Resolved„„„„„³ BindObserver“³orµµ±present“³embedded“³refµ„³Bound„„„µ±absent“³lit€„„„„³ForceDisconnect“³rec“³lit³force-disconnect„“³tupleµ„„„³ResolvedPathStep“³rec“³lit³ path-step„“³tupleµ“³named³origin“³embedded“³refµ„³Resolve„„„“³named³pathStep“³refµ„³PathStep„„“³named³resolved“³refµ„³Resolved„„„„„³TransportControl“³refµ„³ForceDisconnect„³TransportConnection“³rec“³lit³connect-transport„“³tupleµ“³named³addr³any„“³named³control“³embedded“³refµ„³TransportControl„„„“³named³resolved“³refµ„³Resolved„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³transportAddress„“³schema·³version‘³ definitions·³Tcp“³rec“³lit³tcp„“³tupleµ“³named³host“³atom³String„„“³named³port“³atom³ SignedInteger„„„„„³Unix“³rec“³lit³unix„“³tupleµ“³named³path“³atom³String„„„„„³Stdio“³rec“³lit³stdio„“³tupleµ„„„³ WebSocket“³rec“³lit³ws„“³tupleµ“³named³url“³atom³String„„„„„„³ embeddedType€„„µ³dataspacePatterns„“³schema·³version‘³ definitions·³DLit“³rec“³lit³lit„“³tupleµ“³named³value“³refµ„³AnyAtom„„„„„³DBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³AnyAtom“³orµµ±bool“³atom³Boolean„„µ±float“³atom³Float„„µ±double“³atom³Double„„µ±int“³atom³ SignedInteger„„µ±string“³atom³String„„µ±bytes“³atom³ ByteString„„µ±symbol“³atom³Symbol„„µ±embedded“³embedded³any„„„„³Pattern“³orµµ±DDiscard“³refµ„³DDiscard„„µ±DBind“³refµ„³DBind„„µ±DLit“³refµ„³DLit„„µ± DCompound“³refµ„³ DCompound„„„„³DDiscard“³rec“³lit³_„“³tupleµ„„„³ DCompound“³orµµ±rec“³rec“³lit³rec„“³tupleµ“³named³label³any„“³named³fields“³seqof“³refµ„³Pattern„„„„„„„µ±arr“³rec“³lit³arr„“³tupleµ“³named³items“³seqof“³refµ„³Pattern„„„„„„„µ±dict“³rec“³lit³dict„“³tupleµ“³named³entries“³dictof³any“³refµ„³Pattern„„„„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/gatekeeper.prs b/schemas/gatekeeper.prs index 8aff22a..d93ea36 100644 --- a/schemas/gatekeeper.prs +++ b/schemas/gatekeeper.prs @@ -6,15 +6,17 @@ embeddedType EntityRef.Cap . ; Assertion. Gatekeeper will attempt to resolve `step`, responding with a `Resolved` to ; `observer`. -Resolve = . +Resolve = . Resolved = / Rejected . +Step = < @stepType symbol @details [any ...]> . ;--------------------------------------------------------------------------- ; Protocol at dataspaces *associated* with gatekeeper entities -; Assertion. Gatekeeper will compute an appropriate `step` from `description` pointing at -; `target`, and will respond with a `Bound` to `observer`, if supplied. -Bind = . +; Assertion. Gatekeeper will compute an appropriate Step from `description` pointing at +; `target`, and will respond with a `Bound` to `observer` (if supplied). +Bind = . +Description = < @stepType symbol @details [any ...]> . BindObserver = @present #!Bound / @absent #f . Bound = / Rejected . @@ -28,7 +30,8 @@ Bound = / Rejected . ResolvePath = . TransportConnection = . -PathStep = . +ResolvedPathStep = . +PathStep = < @stepType symbol @details [any ...]> . ; A `Route` describes a network path that can be followed to reach some target entity. ; @@ -42,9 +45,11 @@ PathStep = . ; this will be a `gatekeeper`, or a `noise` protocol endpoint, or both. Occasionally, it may ; even be the desired target entity. Subsequent `pathSteps` describe how to proceed from the ; initial entity to the target. -Route = . +Route = . TransportControl = ForceDisconnect . ForceDisconnect = . +;--------------------------------------------------------------------------- + Rejected = . diff --git a/schemas/noise.prs b/schemas/noise.prs index 5b52404..24219cb 100644 --- a/schemas/noise.prs +++ b/schemas/noise.prs @@ -5,13 +5,13 @@ version 1 . ;--------------------------------------------------------------------------- ; Binding and connection -; A `step` for use with `gatekeeper.Resolve`. +; A gatekeeper.Step for use with `gatekeeper.Resolve`. NoiseStep = . -; A `routeStep` for use in a `gatekeeper.Route`. +; A gatekeeper.PathStep for use in a `gatekeeper.Route`. NoiseRouteStep = . -; A `description` for use with `gatekeeper.Bind` etc. +; A gatekeeper.Description for use with `gatekeeper.Bind` etc. NoiseService = . ;--------------------------------------------------------------------------- diff --git a/schemas/sturdy.prs b/schemas/sturdy.prs index 04daab3..2381af0 100644 --- a/schemas/sturdy.prs +++ b/schemas/sturdy.prs @@ -1,8 +1,9 @@ version 1 . embeddedType EntityRef.Cap . -; `step` and `description` for use with `gatekeeper.Resolve` and `gatekeeper.Bind` etc. +; Serves as both gatekeeper.Step and gatekeeper.PathStep. SturdyStep = SturdyRef . +; A gatekeeper.Description. SturdyService = . ; The sequence of Caveats is run RIGHT-TO-LEFT.