From a3365a57666bcd8679677561bdac1984900d66c8 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sat, 11 Feb 2023 22:09:44 +0100 Subject: [PATCH] Upgrade to latest gatekeeper protocols --- package.json | 2 +- protocols/schemas/scene.prs | 2 +- src/index.ts | 21 +++++--- yarn.lock | 102 ++++++++++++++++++------------------ 4 files changed, 66 insertions(+), 61 deletions(-) diff --git a/package.json b/package.json index 7058751..d2a02af 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "vr experiments 3", "scripts": { "prepare": "yarn regenerate && yarn compile && yarn rollup", - "regenerate": "rm -rf ./src/gen && preserves-schema-ts --module sturdy=@syndicate-lang/core:Schemas.sturdy --module noise=@syndicate-lang/core:Schemas.noise --xref node_modules/@syndicate-lang/core/protocols/schemas --output ./src/gen ./protocols/schemas", + "regenerate": "rm -rf ./src/gen && preserves-schema-ts --module sturdy=@syndicate-lang/core:Schemas.sturdy --module gatekeeper=@syndicate-lang/core:Schemas.gatekeeper --xref node_modules/@syndicate-lang/core/protocols/schemas --output ./src/gen ./protocols/schemas", "regenerate:watch": "yarn regenerate --watch", "compile": "syndicate-tsc", "compile:watch": "syndicate-tsc -w --verbose --intermediate-directory src.ts", diff --git a/protocols/schemas/scene.prs b/protocols/schemas/scene.prs index 4c882ca..6411bc9 100644 --- a/protocols/schemas/scene.prs +++ b/protocols/schemas/scene.prs @@ -3,7 +3,7 @@ version 1 . Portal = . PortalDestination = / @local #!any -/ @remote noise.Route +/ @remote gatekeeper.Route . Gravity = . diff --git a/src/index.ts b/src/index.ts index 35b55a9..472e0e4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,6 +7,8 @@ import * as Shapes from './gen/shapes.js'; import * as SceneProtocol from './gen/scene.js'; import { md5 } from './md5.js'; import { setupLog, log } from './log.js'; +import G = Schemas.gatekeeper; +import T = Schemas.transportAddress; import { AbstractMesh, @@ -68,7 +70,7 @@ function spriteMain(env: Environment, runningEngine: RunningEngine, rootMesh: Me } async function enterScene( - routeField: Dataflow.Field>, + routeField: Dataflow.Field>, id: string, runningEngine: RunningEngine, ds: Ref, @@ -228,7 +230,7 @@ function bootApp(ds: Ref, runningEngine: RunningEngine) { const id = uuid(); const url = wsurl(); - const relayAddr = wsRelay.RelayAddress(Schemas.transportAddress.WebSocket(url)); + const relayAddr = T.WebSocket(url); field email: string = localStorage.getItem('userEmail') ?? id; const outerFacet = Turn.activeFacet; @@ -239,23 +241,26 @@ function bootApp(ds: Ref, runningEngine: RunningEngine) { localStorage.setItem('userEmail', emailInput.value); })); - field route: wsRelay.Noise.Route = wsRelay.Noise.Route({ + field route: G.Route = G.Route({ "transports": [fromJS(relayAddr)], - "steps": [], + "pathSteps": [], }); - during wsRelay.Resolved({ + during G.ResolvePath({ "route": route.value, - "addr": $addr: wsRelay.RelayAddress, - "resolved": $remoteDs_e: Embedded, + "control": $control_e: Embedded, + "resolved": G.Resolved.accepted($remoteDs_e: Embedded), }) => { + const control = control_e.embeddedValue; const remoteDs = remoteDs_e.embeddedValue; setupLog(remoteDs, id, Symbol.for('vr-demo')); log('connected'); on message wakeDetector.WakeEvent() => { - send message wsRelay.ForceRelayDisconnect(addr); + at control { + send message G.ForceDisconnect(); + } } react { diff --git a/yarn.lock b/yarn.lock index 46a1a7d..be78470 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,21 +3,21 @@ "@babylonjs/core@5": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@babylonjs/core/-/core-5.45.0.tgz#b2d1c84429f7eab77410b941ef53aee781831f16" - integrity sha512-AXC+0gfEznHhaJHt6cKpX/xWowvnH4Z/kNNgs3DiBf5GzdH4+4ZqN2AfV6l5lXi4v4pV5slbM004xysMGJrXyw== + version "5.46.0" + resolved "https://registry.yarnpkg.com/@babylonjs/core/-/core-5.46.0.tgz#e6d84906025a6f6f0b805a0f1fb382a36801aef1" + integrity sha512-6PCaBByAxeXjM+lX14K2Do1pVbsOeQPA4TCd/Ve+1Gcr2CFKsfPb7c7mtFB90fTlWkN6+tE3zRDeu1ZdvSVKPQ== -"@preserves/core@*", "@preserves/core@>=0.20.2", "@preserves/core@^0.20.5": - version "0.20.5" - resolved "https://registry.yarnpkg.com/@preserves/core/-/core-0.20.5.tgz#3b34693b1f5aff659639690725a703a95689f822" - integrity sha512-hnywtmY30swKSuHix3MbEoheyCh6plCERzmhnCQllrkhdT0hFm66iSr2PVjNsXAUNIwd3Rh3Vu2btgdjMK+Q9Q== +"@preserves/core@*", "@preserves/core@>=0.20.2", "@preserves/core@^0.20.6": + version "0.20.6" + resolved "https://registry.yarnpkg.com/@preserves/core/-/core-0.20.6.tgz#700feffdb25e21b2c817ab8816aefc6620534881" + integrity sha512-SC7NTpkw4Aajs57A7rgRtL8xLAktFFDDQ0OvAKtdc59oDNw606uu2OD6gVTm+R6oLqOCRDre47ndJNEaEHESIA== -"@preserves/schema@*", "@preserves/schema@>=0.21.2": - version "0.21.7" - resolved "https://registry.yarnpkg.com/@preserves/schema/-/schema-0.21.7.tgz#09e388b8c582c3dc95018ebdfe990381dddabfa8" - integrity sha512-q2gncEOOY3qqs+i+Op5yZx89cckqN601vbEcBDfnQge5PB9HrOrfMk68Wq4w/rpdQpRyVqWhZNxLlKsANjgoOw== +"@preserves/schema@*", "@preserves/schema@>=0.21.10": + version "0.21.10" + resolved "https://registry.yarnpkg.com/@preserves/schema/-/schema-0.21.10.tgz#b3a4f071660df65b3c287c58df0ed6fe37f3c301" + integrity sha512-j2duJsLku1P2ASqzdsMR4hKYeca6xNth4mBgfg65ZAmgxHRhVI/IusXasGESCiGEj2GI0SkNQcNPhqctAtx6FQ== dependencies: - "@preserves/core" "^0.20.5" + "@preserves/core" "^0.20.6" "@types/glob" "^7.1" "@types/minimatch" "^3.0" chalk "^4.1" @@ -56,59 +56,59 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@syndicate-lang/compiler@^0.11.6": - version "0.11.6" - resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.11.6.tgz#98f6016da98033ae7dac9daa0d601f625ea371a1" - integrity sha512-eIz9jqNz4lzf5s05ngefeX+NMS0c63ysL60rEB9bg+9IpWXYTBlZs0xQoy/3lw2igKZerUlOlOeu2kSkszBNDw== +"@syndicate-lang/compiler@^0.13.1": + version "0.13.1" + resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.13.1.tgz#68dccbe1ae7cfddac4a6905d7c8edefaac12deac" + integrity sha512-XGA5OlszRWC3esDxkUq1gPW6qvcTH5F9aZy3//tVAYwS+Qy7M9O1MVkBKJCXhws7fJIcIRKWv1G5s6iT/LbLAA== -"@syndicate-lang/core@*", "@syndicate-lang/core@^0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.12.0.tgz#dc30759789e322f1a4235ab7f7b0c6905e540a50" - integrity sha512-QwgQ+nh2krHsjVMPcSYL116bg/FgkJdMzlrd973TG2a+0PiapwevYetO72yK2Bw0PfRb0pjU2WN4UkwBYNvRJQ== +"@syndicate-lang/core@*", "@syndicate-lang/core@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.14.1.tgz#58277a9f8cb441622fec2506c0a1f2011c1070f1" + integrity sha512-Nu6JH82ylaXNOMQZSv5QnNaegOnEraiZjfrl44STnxGtjELZbvbfjqf8YvyCM0Nz6Q65Ow/mfjM+yhxGrgzfmg== dependencies: "@preserves/core" ">=0.20.2" - "@preserves/schema" ">=0.21.2" + "@preserves/schema" ">=0.21.10" + salty-crypto "0.3.1" "@syndicate-lang/html@*": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.11.14.tgz#c81ddbe5ad5c768fedac15cb850f49e78c6e0c24" - integrity sha512-CcBzG/AKXwfvZbl0Py6l3bmQg9bd3EXUaKrluxkBdeBVBV1aZBVrk+//GfEtiFT8/KbQcOa6mnmaqPpQ/eft2g== + version "0.14.1" + resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.14.1.tgz#d6865237ed4baf38e9288f5fe4d99c950a4cb823" + integrity sha512-Q50+PPzxh3fiqWfuHVZPrbcxYPJciCRdOJpB3xwRUf5OvXRgQ+8neIYH5VA15cQkB8p+q3of8CkAX5Htd7h5ZQ== dependencies: - "@syndicate-lang/core" "^0.12.0" + "@syndicate-lang/core" "^0.14.1" "@syndicate-lang/timer@*": - version "0.11.12" - resolved "https://registry.yarnpkg.com/@syndicate-lang/timer/-/timer-0.11.12.tgz#0dd2ddca9e254b79242a9b491019fb63c713c225" - integrity sha512-VpqKLf3kheKsdhNXcUJob/sQf0pWLdMNPUJ7HhWI/aieVNMb3FEGfgvnsiEpECQATO3/9QeF2fVwS4dygOqHmg== + version "0.14.1" + resolved "https://registry.yarnpkg.com/@syndicate-lang/timer/-/timer-0.14.1.tgz#3ca94f42a6d9556acc9adeebb84ea3eefd401ff1" + integrity sha512-bd8INj9j3jjFdBfgPK5sQvuxbKAwMrQin4ykya91ponzicD9IjFkYYeYH/FbFzMJCpK51N4FwATy8Iqh1HzMjA== dependencies: - "@syndicate-lang/core" "^0.12.0" + "@syndicate-lang/core" "^0.14.1" "@syndicate-lang/ts-plugin@*": - version "0.11.12" - resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.11.12.tgz#2c42b0ee9dfa36e048dc6cf92c0ca81e5bfc86c1" - integrity sha512-fdbUL3OgWvK6SzpTqLVSLxzI855/Bb5WdPE6PFwQp/OKHiU1e8sZ1OGzjMs6t886JA7xForX/q/xM2vpA4Z3RA== + version "0.14.1" + resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.14.1.tgz#9fc2b78fb771e4db2c1c0ee02ef6c419a59666b7" + integrity sha512-7Ebov50uYc96oRpNOMIJn7jOPGONdT7p1pHdty1Xj1wXCPFbo7NUGrgs6ZghJmhq1WzsCQ3L0VlUT4Rbbx2Rzg== dependencies: - "@syndicate-lang/compiler" "^0.11.6" - "@syndicate-lang/core" "^0.12.0" + "@syndicate-lang/compiler" "^0.13.1" + "@syndicate-lang/core" "^0.14.1" "@syndicate-lang/tsc@*": - version "0.11.12" - resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.11.12.tgz#125e2af9e2d529587ad28e1d168f57960d6a0a35" - integrity sha512-ICHsGamBdanY13C9PwWgfgwzOgi3Vt9fOAtmTRX1E2TR1dAC4AbeGPFelgjVYASo3HXzuwliznxdh8MxlDY6fg== + version "0.14.1" + resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.14.1.tgz#a4aa1867d0517f19afd3da1576411ba18bf153dd" + integrity sha512-Gi+5r9WBxrL/5B3XjtAInU0Ggc0N1tgQQTLA3ZyjcouCg3F0KOKFXJqzM6BdGZQoGJJe/pdqMmr85OUxJdOdrQ== dependencies: - "@syndicate-lang/compiler" "^0.11.6" - "@syndicate-lang/core" "^0.12.0" + "@syndicate-lang/compiler" "^0.13.1" + "@syndicate-lang/core" "^0.14.1" glob "^7.1.6" yargs "^16.2.0" "@syndicate-lang/ws-relay@*": - version "0.12.3" - resolved "https://registry.yarnpkg.com/@syndicate-lang/ws-relay/-/ws-relay-0.12.3.tgz#9a392ab60ebbf3e67c4c1e2256863d97092862ea" - integrity sha512-AKMAJeyTA4vOw2rUQuYGZG8+4OTJmBYOCHdLu7rlZrbZOtemDEjEYPnb/3grDJ98PlwaLOw61U7rI0AdjxjA1w== + version "0.14.1" + resolved "https://registry.yarnpkg.com/@syndicate-lang/ws-relay/-/ws-relay-0.14.1.tgz#c4916dc00f7fd1178c5a15ec11d51b5283a54b07" + integrity sha512-ogyHIh6lXWjjQqs+wsAhM/g3mwUqf4/2RXxlZPhKgoBVXAwEP8BDHMI/iB4sGIeisY97vK2t+GT+750tUt5gug== dependencies: "@preserves/core" ">=0.20.2" - "@preserves/schema" ">=0.21.2" - "@syndicate-lang/core" "^0.12.0" + "@syndicate-lang/core" "^0.14.1" salty-crypto "0.3" "@types/estree@0.0.39": @@ -140,9 +140,9 @@ integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/node@*": - version "18.11.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" - integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== + version "18.13.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" + integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== "@types/resolve@1.20.2": version "1.20.2" @@ -477,10 +477,10 @@ rollup@3.8: optionalDependencies: fsevents "~2.3.2" -salty-crypto@0.3: - version "0.3.0" - resolved "https://registry.yarnpkg.com/salty-crypto/-/salty-crypto-0.3.0.tgz#66d25ec5b58c3b04c7ac1dd0ce65c6e320de75e4" - integrity sha512-bfreqJ7xBF+tO/F/NXW9eIMoAfPLmo69XrDYdhmKKhXF95bzkRnG2AHbj564ZyJRHiYyV1MM9qcf7FfCFvhISQ== +salty-crypto@0.3, salty-crypto@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/salty-crypto/-/salty-crypto-0.3.1.tgz#1242cd948d8152aff104d0945980996b1602ba0e" + integrity sha512-dCbF8/UzMV8oXPmMCHWzSp7u8G6NA+pHbaFBVqVgLVBiyxuwVn9iPbyt9WXT0EoXfL9sKt7U1mV+bgsGw5cV7A== source-map-resolve@^0.6.0: version "0.6.0"