From 7b3facfb7886a1e4d5997291f239c1f70b20376d Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 22 May 2024 20:09:13 +0300 Subject: [PATCH] Reorder alternatives to fail by default Order alternatives such that a language runtime that initializes objects to the first alternative will initialize fresh objects in a "fail closed" rather than a "fail open" state. --- schema-bundle.bin | 18 +++++++++--------- schemas/gatekeeper.prs | 6 +++--- schemas/protocol.prs | 2 +- schemas/service.prs | 4 ++-- schemas/stream.prs | 4 ++-- schemas/sturdy.prs | 2 +- schemas/timer.prs | 2 +- 7 files changed, 19 insertions(+), 19 deletions(-) diff --git a/schema-bundle.bin b/schema-bundle.bin index b207960..a6f2c5c 100644 --- a/schema-bundle.bin +++ b/schema-bundle.bin @@ -11,7 +11,7 @@ ByteString ByteString„„³service“³named³service“³refµ„³ServiceSelector„„„„“³named³protocol“³refµ„³ NoiseProtocol„„“³named³ preSharedKeys“³refµ„³NoisePreSharedKeys„„„„³ SessionItem“³orµµ± Initiator“³refµ„³ Initiator„„µ±Packet“³refµ„³Packet„„„„³ NoiseProtocol“³orµµ±present“³dict·³protocol“³named³protocol“³atom³String„„„„„µ±invalid“³dict·³protocol“³named³protocol³any„„„„µ±absent“³dict·„„„„„³ NoiseStepType“³lit³noise„³SecretKeyField“³orµµ±present“³dict·³ secretKey“³named³ secretKey“³atom³ ByteString„„„„„µ±invalid“³dict·³ secretKey“³named³ secretKey³any„„„„µ±absent“³dict·„„„„„³DefaultProtocol“³lit±!Noise_NK_25519_ChaChaPoly_BLAKE2s„³NoiseStepDetail“³refµ„³ServiceSelector„³ServiceSelector³any³NoiseServiceSpec“³andµ“³named³base“³refµ„³ NoiseSpec„„“³named³ secretKey“³refµ„³SecretKeyField„„„„³NoisePreSharedKeys“³orµµ±present“³dict·³ preSharedKeys“³named³ preSharedKeys“³seqof“³atom³ ByteString„„„„„„µ±invalid“³dict·³ preSharedKeys“³named³ preSharedKeys³any„„„„µ±absent“³dict·„„„„„³NoisePathStepDetail“³refµ„³ NoiseSpec„³NoiseDescriptionDetail“³refµ„³NoiseServiceSpec„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³timer„“³schema·³version°³ definitions·³SetTimer“³rec“³lit³ set-timer„“³tupleµ“³named³label³any„“³named³seconds“³atom³Double„„“³named³kind“³refµ„³ TimerKind„„„„„³ LaterThan“³rec“³lit³ -later-than„“³tupleµ“³named³seconds“³atom³Double„„„„„³ TimerKind“³orµµ±relative“³lit³relative„„µ±absolute“³lit³absolute„„µ±clear“³lit³clear„„„„³ TimerExpired“³rec“³lit³ timer-expired„“³tupleµ“³named³label³any„“³named³seconds“³atom³Double„„„„„„³ embeddedType€„„µ³trace„“³schema·³version°³ definitions·³Oid³any³Name“³orµµ± anonymous“³rec“³lit³ anonymous„“³tupleµ„„„„µ±named“³rec“³lit³named„“³tupleµ“³named³name³any„„„„„„„³Target“³rec“³lit³entity„“³tupleµ“³named³actor“³refµ„³ActorId„„“³named³facet“³refµ„³FacetId„„“³named³oid“³refµ„³Oid„„„„„³TaskId³any³TurnId³any³ActorId³any³FacetId³any³ TurnCause“³orµµ±turn“³rec“³lit³ caused-by„“³tupleµ“³named³id“³refµ„³TurnId„„„„„„µ±cleanup“³rec“³lit³cleanup„“³tupleµ„„„„µ±linkedTaskRelease“³rec“³lit³linked-task-release„“³tupleµ“³named³id“³refµ„³TaskId„„“³named³reason“³refµ„³LinkedTaskReleaseReason„„„„„„µ±periodicActivation“³rec“³lit³periodic-activation„“³tupleµ“³named³period“³atom³Double„„„„„„µ±delay“³rec“³lit³delay„“³tupleµ“³named³ causingTurn“³refµ„³TurnId„„“³named³amount“³atom³Double„„„„„„µ±external“³rec“³lit³external„“³tupleµ“³named³ description³any„„„„„„„³ TurnEvent“³orµµ±assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³AssertionDescription„„“³named³handle“³refµ³protocol„³Handle„„„„„„µ±retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ³protocol„³Handle„„„„„„µ±message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³AssertionDescription„„„„„„µ±sync“³rec“³lit³sync„“³tupleµ“³named³peer“³refµ„³Target„„„„„„µ± breakLink“³rec“³lit³ +later-than„“³tupleµ“³named³seconds“³atom³Double„„„„„³ TimerKind“³orµµ±clear“³lit³clear„„µ±relative“³lit³relative„„µ±absolute“³lit³absolute„„„„³ TimerExpired“³rec“³lit³ timer-expired„“³tupleµ“³named³label³any„“³named³seconds“³atom³Double„„„„„„³ embeddedType€„„µ³trace„“³schema·³version°³ definitions·³Oid³any³Name“³orµµ± anonymous“³rec“³lit³ anonymous„“³tupleµ„„„„µ±named“³rec“³lit³named„“³tupleµ“³named³name³any„„„„„„„³Target“³rec“³lit³entity„“³tupleµ“³named³actor“³refµ„³ActorId„„“³named³facet“³refµ„³FacetId„„“³named³oid“³refµ„³Oid„„„„„³TaskId³any³TurnId³any³ActorId³any³FacetId³any³ TurnCause“³orµµ±turn“³rec“³lit³ caused-by„“³tupleµ“³named³id“³refµ„³TurnId„„„„„„µ±cleanup“³rec“³lit³cleanup„“³tupleµ„„„„µ±linkedTaskRelease“³rec“³lit³linked-task-release„“³tupleµ“³named³id“³refµ„³TaskId„„“³named³reason“³refµ„³LinkedTaskReleaseReason„„„„„„µ±periodicActivation“³rec“³lit³periodic-activation„“³tupleµ“³named³period“³atom³Double„„„„„„µ±delay“³rec“³lit³delay„“³tupleµ“³named³ causingTurn“³refµ„³TurnId„„“³named³amount“³atom³Double„„„„„„µ±external“³rec“³lit³external„“³tupleµ“³named³ description³any„„„„„„„³ TurnEvent“³orµµ±assert“³rec“³lit³assert„“³tupleµ“³named³ assertion“³refµ„³AssertionDescription„„“³named³handle“³refµ³protocol„³Handle„„„„„„µ±retract“³rec“³lit³retract„“³tupleµ“³named³handle“³refµ³protocol„³Handle„„„„„„µ±message“³rec“³lit³message„“³tupleµ“³named³body“³refµ„³AssertionDescription„„„„„„µ±sync“³rec“³lit³sync„“³tupleµ“³named³peer“³refµ„³Target„„„„„„µ± breakLink“³rec“³lit³ break-link„“³tupleµ“³named³source“³refµ„³ActorId„„“³named³handle“³refµ³protocol„³Handle„„„„„„„„³ ExitStatus“³orµµ±ok“³lit³ok„„µ±Error“³refµ³protocol„³Error„„„„³ TraceEntry“³rec“³lit³trace„“³tupleµ“³named³ timestamp“³atom³Double„„“³named³actor“³refµ„³ActorId„„“³named³item“³refµ„³ActorActivation„„„„„³ActorActivation“³orµµ±start“³rec“³lit³start„“³tupleµ“³named³ actorName“³refµ„³Name„„„„„„µ±turn“³refµ„³TurnDescription„„µ±stop“³rec“³lit³stop„“³tupleµ“³named³status“³refµ„³ @@ -22,11 +22,11 @@ facet-stop transports“³seqof“³refµ„³StandardTransport„„„“³named³key“³atom³ ByteString„„“³named³service³any„“³named³sig“³atom³ ByteString„„“³named³oid³any„„“³named³caveats“³seqof“³refµ³sturdy„³Caveat„„„„„µ±general“³refµ³ -gatekeeper„³Route„„„„³StandardTransport“³orµµ±wsUrl“³atom³String„„µ±other³any„„„„³ embeddedType€„„µ³stream„“³schema·³version°³ definitions·³Mode“³orµµ±bytes“³lit³bytes„„µ±lines“³refµ„³LineMode„„µ±packet“³rec“³lit³packet„“³tupleµ“³named³size“³atom³ SignedInteger„„„„„„µ±object“³rec“³lit³object„“³tupleµ“³named³ description³any„„„„„„„³Sink“³orµµ±source“³rec“³lit³source„“³tupleµ“³named³ -controller“³embedded“³refµ„³Source„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±data“³rec“³lit³data„“³tupleµ“³named³payload³any„“³named³mode“³refµ„³Mode„„„„„„µ±eof“³rec“³lit³eof„“³tupleµ„„„„„„³Source“³orµµ±sink“³rec“³lit³sink„“³tupleµ“³named³ -controller“³embedded“³refµ„³Sink„„„„„„„µ± StreamError“³refµ„³ StreamError„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³sturdy„“³schema·³version°³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± +gatekeeper„³Route„„„„³StandardTransport“³orµµ±wsUrl“³atom³String„„µ±other³any„„„„³ embeddedType€„„µ³stream„“³schema·³version°³ definitions·³Mode“³orµµ±bytes“³lit³bytes„„µ±lines“³refµ„³LineMode„„µ±packet“³rec“³lit³packet„“³tupleµ“³named³size“³atom³ SignedInteger„„„„„„µ±object“³rec“³lit³object„“³tupleµ“³named³ description³any„„„„„„„³Sink“³orµµ± StreamError“³refµ„³ StreamError„„µ±source“³rec“³lit³source„“³tupleµ“³named³ +controller“³embedded“³refµ„³Source„„„„„„„µ±data“³rec“³lit³data„“³tupleµ“³named³payload³any„“³named³mode“³refµ„³Mode„„„„„„µ±eof“³rec“³lit³eof„“³tupleµ„„„„„„³Source“³orµµ± StreamError“³refµ„³ StreamError„„µ±sink“³rec“³lit³sink„“³tupleµ“³named³ +controller“³embedded“³refµ„³Sink„„„„„„„µ±credit“³rec“³lit³credit„“³tupleµ“³named³amount“³refµ„³ CreditAmount„„“³named³mode“³refµ„³Mode„„„„„„„„³LineMode“³orµµ±lf“³lit³lf„„µ±crlf“³lit³crlf„„„„³ StreamError“³rec“³lit³error„“³tupleµ“³named³message“³atom³String„„„„„³ CreditAmount“³orµµ±count“³atom³ SignedInteger„„µ± unbounded“³lit³ unbounded„„„„³StreamConnection“³rec“³lit³stream-connection„“³tupleµ“³named³source“³embedded“³refµ„³Source„„„“³named³sink“³embedded“³refµ„³Sink„„„“³named³spec³any„„„„³StreamListenerError“³rec“³lit³stream-listener-error„“³tupleµ“³named³spec³any„“³named³message“³atom³String„„„„„³StreamListenerReady“³rec“³lit³stream-listener-ready„“³tupleµ“³named³spec³any„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³sturdy„“³schema·³version°³ definitions·³Lit“³rec“³lit³lit„“³tupleµ“³named³value³any„„„„³Oid“³atom³ SignedInteger„³Alts“³rec“³lit³or„“³tupleµ“³named³ alternatives“³seqof“³refµ„³Rewrite„„„„„„³PAnd“³rec“³lit³and„“³tupleµ“³named³patterns“³seqof“³refµ„³Pattern„„„„„„³PNot“³rec“³lit³not„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³TRef“³rec“³lit³ref„“³tupleµ“³named³binding“³atom³ SignedInteger„„„„„³PAtom“³orµµ±Boolean“³lit³Boolean„„µ±Double“³lit³Double„„µ± SignedInteger“³lit³ SignedInteger„„µ±String“³lit³String„„µ± ByteString“³lit³ -ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„µ±Reject“³refµ„³Reject„„µ±unknown³any„„„³Reject“³rec“³lit³reject„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit°„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit°„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± +ByteString„„µ±Symbol“³lit³Symbol„„„„³PBind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Caveat“³orµµ±Reject“³refµ„³Reject„„µ±Rewrite“³refµ„³Rewrite„„µ±Alts“³refµ„³Alts„„µ±unknown³any„„„³Reject“³rec“³lit³reject„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„³Pattern“³orµµ±PDiscard“³refµ„³PDiscard„„µ±PAtom“³refµ„³PAtom„„µ± PEmbedded“³refµ„³ PEmbedded„„µ±PBind“³refµ„³PBind„„µ±PAnd“³refµ„³PAnd„„µ±PNot“³refµ„³PNot„„µ±Lit“³refµ„³Lit„„µ± PCompound“³refµ„³ PCompound„„„„³Rewrite“³rec“³lit³rewrite„“³tupleµ“³named³pattern“³refµ„³Pattern„„“³named³template“³refµ„³Template„„„„„³WireRef“³orµµ±mine“³tupleµ“³lit°„“³named³oid“³refµ„³Oid„„„„„µ±yours“³ tuplePrefixµ“³lit°„“³named³oid“³refµ„³Oid„„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„„³PDiscard“³rec“³lit³_„“³tupleµ„„„³Template“³orµµ± TAttenuate“³refµ„³ TAttenuate„„µ±TRef“³refµ„³TRef„„µ±Lit“³refµ„³Lit„„µ± TCompound“³refµ„³ TCompound„„„„³ PCompound“³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„„„„„„„„„³ PEmbedded“³lit³Embedded„³ SturdyRef“³rec“³lit³ref„“³tupleµ“³named³ parameters“³refµ„³ @@ -36,9 +36,9 @@ ByteString TAttenuate“³rec“³lit³ attenuate„“³tupleµ“³named³template“³refµ„³Template„„“³named³ attenuation“³seqof“³refµ„³Caveat„„„„„„³ CaveatsField“³orµµ±present“³dict·³caveats“³named³caveats“³seqof“³refµ„³Caveat„„„„„„µ±invalid“³dict·³caveats“³named³caveats³any„„„„µ±absent“³dict·„„„„„³SturdyStepType“³lit³ref„³SturdyStepDetail“³refµ„³ Parameters„³SturdyPathStepDetail“³refµ„³ Parameters„³SturdyDescriptionDetail“³dict·³key“³named³key“³atom³ -ByteString„„³oid“³named³oid³any„„„„³ 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„„„³ +ByteString„„³oid“³named³oid³any„„„„³ 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µµ±failed“³lit³failed„„µ±started“³lit³started„„µ±ready“³lit³ready„„µ±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·³Nop“³lit€„³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³S„“³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³A„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Turn“³refµ„³Turn„„µ±Error“³refµ„³Error„„µ± Extension“³refµ„³ Extension„„µ±Nop“³refµ„³Nop„„„„³Message“³rec“³lit³M„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³R„“³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“³refµ„³ Description„„“³named³target“³embedded³any„„“³named³observer“³refµ„³ BindObserver„„„„„³Step“³rec“³named³stepType“³atom³Symbol„„“³tupleµ“³named³detail³any„„„„³Bound“³orµµ±bound“³rec“³lit³bound„“³tupleµ“³named³pathStep“³refµ„³PathStep„„„„„„µ±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„„“³tupleµ“³named³detail³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„„“³tupleµ“³named³detail³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·³AnyAtom“³orµµ±bool“³atom³Boolean„„µ±double“³atom³Double„„µ±int“³atom³ SignedInteger„„µ±string“³atom³String„„µ±bytes“³atom³ +depends-on„“³tupleµ“³named³depender³any„“³named³dependee“³refµ„³ ServiceState„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„µ³protocol„“³schema·³version°³ definitions·³Nop“³lit€„³Oid“³atom³ SignedInteger„³Sync“³rec“³lit³S„“³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³A„“³tupleµ“³named³ assertion“³refµ„³ Assertion„„“³named³handle“³refµ„³Handle„„„„„³Handle“³atom³ SignedInteger„³Packet“³orµµ±Error“³refµ„³Error„„µ±Turn“³refµ„³Turn„„µ± Extension“³refµ„³ Extension„„µ±Nop“³refµ„³Nop„„„„³Message“³rec“³lit³M„“³tupleµ“³named³body“³refµ„³ Assertion„„„„„³Retract“³rec“³lit³R„“³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“³refµ„³ Description„„“³named³target“³embedded³any„„“³named³observer“³refµ„³ BindObserver„„„„„³Step“³rec“³named³stepType“³atom³Symbol„„“³tupleµ“³named³detail³any„„„„³Bound“³orµµ±Rejected“³refµ„³Rejected„„µ±bound“³rec“³lit³bound„“³tupleµ“³named³pathStep“³refµ„³PathStep„„„„„„„„³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„„“³tupleµ“³named³detail³any„„„„³Rejected“³rec“³lit³rejected„“³tupleµ“³named³detail³any„„„„³Resolved“³orµµ±Rejected“³refµ„³Rejected„„µ±accepted“³rec“³lit³accepted„“³tupleµ“³named³responderSession“³embedded³any„„„„„„„„³ Description“³rec“³named³stepType“³atom³Symbol„„“³tupleµ“³named³detail³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µµ±absent“³lit€„„µ±present“³embedded“³refµ„³Bound„„„„„³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·³AnyAtom“³orµµ±bool“³atom³Boolean„„µ±double“³atom³Double„„µ±int“³atom³ SignedInteger„„µ±string“³atom³String„„µ±bytes“³atom³ ByteString„„µ±symbol“³atom³Symbol„„µ±embedded“³embedded³any„„„„³Pattern“³orµµ±discard“³rec“³lit³_„“³tupleµ„„„„µ±bind“³rec“³lit³bind„“³tupleµ“³named³pattern“³refµ„³Pattern„„„„„„µ±lit“³rec“³lit³lit„“³tupleµ“³named³value“³refµ„³AnyAtom„„„„„„µ±group“³rec“³lit³group„“³tupleµ“³named³type“³refµ„³ GroupType„„“³named³entries“³dictof³any“³refµ„³Pattern„„„„„„„„„³ GroupType“³orµµ±rec“³rec“³lit³rec„“³tupleµ“³named³label³any„„„„„µ±arr“³rec“³lit³arr„“³tupleµ„„„„µ±dict“³rec“³lit³dict„“³tupleµ„„„„„„„³ embeddedType“³refµ³ EntityRef„³Cap„„„„„ \ No newline at end of file diff --git a/schemas/gatekeeper.prs b/schemas/gatekeeper.prs index 9ba662c..d228193 100644 --- a/schemas/gatekeeper.prs +++ b/schemas/gatekeeper.prs @@ -7,7 +7,7 @@ embeddedType EntityRef.Cap . # Assertion. Gatekeeper will attempt to resolve `step`, responding with a `Resolved` to # `observer`. Resolve = . -Resolved = / Rejected . +Resolved = Rejected / . Step = < @stepType symbol [@detail any]> . # --------------------------------------------------------------------------- @@ -46,8 +46,8 @@ Step = < @stepType symbol [@detail any]> . # Bind = . Description = < @stepType symbol [@detail any]> . -BindObserver = @present #:Bound / @absent #f . -Bound = / Rejected . +BindObserver = @absent #f / @present #:Bound . +Bound = Rejected / . # --------------------------------------------------------------------------- # Protocol at client-side dataspaces, for resolution utilities diff --git a/schemas/protocol.prs b/schemas/protocol.prs index a533fee..6af945c 100644 --- a/schemas/protocol.prs +++ b/schemas/protocol.prs @@ -1,6 +1,6 @@ version 1 . -Packet = Turn / Error / Extension / Nop . +Packet = Error / Turn / Extension / Nop . Extension = < @label any @fields [any ...]> . Nop = #f . diff --git a/schemas/service.prs b/schemas/service.prs index 00fecbb..359f78d 100644 --- a/schemas/service.prs +++ b/schemas/service.prs @@ -28,14 +28,14 @@ ServiceObject = . # Possible service states. State = +/ # The service has failed. + =failed / # The service has begun its startup routine, and may or may not be # ready to take requests from other parties. =started / # The service is ready to take requests from other parties. # (This state is special in that it is asserted *in addition* to `started`.) =ready -/ # The service has failed. - =failed / # The service has completed execution. =complete / # Extension or user-defined state diff --git a/schemas/stream.prs b/schemas/stream.prs index 90279b3..2dc5381 100644 --- a/schemas/stream.prs +++ b/schemas/stream.prs @@ -13,8 +13,8 @@ StreamError = . Source = # Assertions: - / / StreamError + / # Messages: / @@ -22,8 +22,8 @@ Source = Sink = # Assertions: - / / StreamError + / # Messages: / diff --git a/schemas/sturdy.prs b/schemas/sturdy.prs index 5e8b4eb..d7cb0d0 100644 --- a/schemas/sturdy.prs +++ b/schemas/sturdy.prs @@ -37,7 +37,7 @@ CaveatsField = @present { caveats: [Caveat ...] } / @invalid { caveats: any } / # embodies 1st-party caveats over assertion structure, but nothing else # can add 3rd-party caveats and richer predicates later -Caveat = Rewrite / Alts / Reject / @unknown any . +Caveat = Reject / Rewrite / Alts / @unknown any . Rewrite = . Reject = . Alts = . diff --git a/schemas/timer.prs b/schemas/timer.prs index 61d16e2..78363d4 100644 --- a/schemas/timer.prs +++ b/schemas/timer.prs @@ -2,6 +2,6 @@ version 1 . SetTimer = . TimerExpired = . -TimerKind = =relative / =absolute / =clear . +TimerKind = =clear / =relative / =absolute . LaterThan = .