diff --git a/deno.lock b/deno.lock index 6a767d81b..d99faad78 100644 --- a/deno.lock +++ b/deno.lock @@ -1,23 +1,34 @@ { "version": "3", "redirects": { - "https://deno.land/std/async/mod.ts": "https://deno.land/std@0.211.0/async/mod.ts" + "https://deno.land/std/async/mod.ts": "https://deno.land/std@0.215.0/async/mod.ts" }, "remote": { "https://deno.land/std@0.168.0/_util/asserts.ts": "d0844e9b62510f89ce1f9878b046f6a57bf88f208a10304aab50efcb48365272", "https://deno.land/std@0.168.0/flags/mod.ts": "4f50ec6383c02684db35de38b3ffb2cd5b9fcfcc0b1147055d1980c49e82521c", - "https://deno.land/std@0.211.0/assert/assert.ts": "bec068b2fccdd434c138a555b19a2c2393b71dfaada02b7d568a01541e67cdc5", - "https://deno.land/std@0.211.0/assert/assertion_error.ts": "9f689a101ee586c4ce92f52fa7ddd362e86434ffdf1f848e45987dc7689976b8", - "https://deno.land/std@0.211.0/async/_util.ts": "64f8d0da48f908c651736317a36e97890ea9ea22a5e281c8acf9ee6cafbb6de9", - "https://deno.land/std@0.211.0/async/abortable.ts": "87bbc086dfdbb3556fe47d12038dc3919b4f717b3660abb21f800e020c159664", - "https://deno.land/std@0.211.0/async/deadline.ts": "65cf43eb30948f5122fa66a0d6c0fc166af23621632b6e440303efe164e8a0db", - "https://deno.land/std@0.211.0/async/debounce.ts": "214cee25fb32ee8df89775f0c81902aa52f2a6c1fa13afa3fddbb6ddccc1446d", - "https://deno.land/std@0.211.0/async/delay.ts": "eab3187eee39ccc8cc76d411fb21fb1801250ddb1090e486d5aec2ace5403391", - "https://deno.land/std@0.211.0/async/mod.ts": "02ba6a7d065481b6318d0783ad7243426e4f1bc4cdee0d1b6460bf73e9eab3e3", - "https://deno.land/std@0.211.0/async/mux_async_iterator.ts": "453c41f722d95a2ab103eb5fd420d369c8e9f95706805c84862c66d72782b8dc", - "https://deno.land/std@0.211.0/async/pool.ts": "2b972e3643444b73f6a8bcdd19799a2d0821b28a45fbe47fd333223eb84327f0", - "https://deno.land/std@0.211.0/async/retry.ts": "33d88ba1e116d762169af12ee3fd8f2ef784246531bb557dc000bd23fa53f52a", - "https://deno.land/std@0.211.0/async/tee.ts": "34373c58950b7ac5950632dc8c9908076abeefcc9032d6299fff92194c284fbd", + "https://deno.land/std@0.172.0/_util/asserts.ts": "178dfc49a464aee693a7e285567b3d0b555dc805ff490505a8aae34f9cfb1462", + "https://deno.land/std@0.172.0/_util/os.ts": "d932f56d41e4f6a6093d56044e29ce637f8dcc43c5a90af43504a889cf1775e3", + "https://deno.land/std@0.172.0/path/_constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0", + "https://deno.land/std@0.172.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b", + "https://deno.land/std@0.172.0/path/_util.ts": "86c2375a996c1931b2f2ac71fefd5ddf0cf0e579fa4ab12d3e4c552d4223b8d8", + "https://deno.land/std@0.172.0/path/common.ts": "ee7505ab01fd22de3963b64e46cff31f40de34f9f8de1fff6a1bd2fe79380000", + "https://deno.land/std@0.172.0/path/glob.ts": "d479e0a695621c94d3fd7fe7abd4f9499caf32a8de13f25073451c6ef420a4e1", + "https://deno.land/std@0.172.0/path/mod.ts": "4b83694ac500d7d31b0cdafc927080a53dc0c3027eb2895790fb155082b0d232", + "https://deno.land/std@0.172.0/path/posix.ts": "0874b341c2c6968ca38d323338b8b295ea1dae10fa872a768d812e2e7d634789", + "https://deno.land/std@0.172.0/path/separator.ts": "0fb679739d0d1d7bf45b68dacfb4ec7563597a902edbaf3c59b50d5bcadd93b1", + "https://deno.land/std@0.172.0/path/win32.ts": "672942919dd66ce1b8c224e77d3447e2ad8254eaff13fe6946420a9f78fa141e", + "https://deno.land/std@0.215.0/assert/assert.ts": "bec068b2fccdd434c138a555b19a2c2393b71dfaada02b7d568a01541e67cdc5", + "https://deno.land/std@0.215.0/assert/assertion_error.ts": "9f689a101ee586c4ce92f52fa7ddd362e86434ffdf1f848e45987dc7689976b8", + "https://deno.land/std@0.215.0/async/_util.ts": "64f8d0da48f908c651736317a36e97890ea9ea22a5e281c8acf9ee6cafbb6de9", + "https://deno.land/std@0.215.0/async/abortable.ts": "87bbc086dfdbb3556fe47d12038dc3919b4f717b3660abb21f800e020c159664", + "https://deno.land/std@0.215.0/async/deadline.ts": "65cf43eb30948f5122fa66a0d6c0fc166af23621632b6e440303efe164e8a0db", + "https://deno.land/std@0.215.0/async/debounce.ts": "025a8e1a7c73e477f0c88a48f826fcdb022b04812ad7fc2f54de756ab4ed7624", + "https://deno.land/std@0.215.0/async/delay.ts": "8e1d18fe8b28ff95885e2bc54eccec1713f57f756053576d8228e6ca110793ad", + "https://deno.land/std@0.215.0/async/mod.ts": "02ba6a7d065481b6318d0783ad7243426e4f1bc4cdee0d1b6460bf73e9eab3e3", + "https://deno.land/std@0.215.0/async/mux_async_iterator.ts": "33aa184f27fd2be1467dab3785dfdf525c8b8acd150a049331f0fdf927a17dda", + "https://deno.land/std@0.215.0/async/pool.ts": "2b972e3643444b73f6a8bcdd19799a2d0821b28a45fbe47fd333223eb84327f0", + "https://deno.land/std@0.215.0/async/retry.ts": "718335f89d1fbd2156109b05d2399a2b47c848a5a8f7237640538902526b38f7", + "https://deno.land/std@0.215.0/async/tee.ts": "34373c58950b7ac5950632dc8c9908076abeefcc9032d6299fff92194c284fbd", "https://deno.land/x/input@2.0.3/history.ts": "3cad3fee1e2f86d4202ca6ab49f1a5609aff2323ff762cc637e1da3edbef9608", "https://deno.land/x/input@2.0.3/index.ts": "f9539661733886f9497873a640a79be4f996ea2d40408b68e74691353f5a5539", "https://deno.land/x/input@2.0.3/printer.ts": "60339de0f3d98ca9ad2cb4e3b047d0b680e27ed7ceb987d82d96fc00f7ab04d1", @@ -27,18 +38,18 @@ "https://deno.land/x/reflect_metadata@v0.1.12/Reflect.ts": "eced7b7e642853c6fb9a209f96ddd1932ab1e0fc3c514705c87d56169c8fe260", "https://deno.land/x/reflect_metadata@v0.1.12/mod.ts": "8b5e3b20f1e604c118df433e84a409b1d5116e885001047134cc42ecf84fa2cd", "https://dev.cdn.unyt.org/unyt_core/VERSION.ts": "ca02332766074ec3a0dd1f6814c1f913e627076bc91d885025cf4681fbf12dcb", - "https://dev.cdn.unyt.org/unyt_core/compiler/binary_codes.ts": "e04ac5aea360036675c81127146e92d200fca75ae8f8dc53a3d40ca80f5fa31b", - "https://dev.cdn.unyt.org/unyt_core/compiler/compiler.ts": "209de9a6a20a2db8ab5cbf1cbdbb3549d5278c42ce78ef2707211936bc871018", + "https://dev.cdn.unyt.org/unyt_core/compiler/binary_codes.ts": "e88c1ac8145141eda3f14568efc1b984c5e769349c7153105419b342c3fe1f40", + "https://dev.cdn.unyt.org/unyt_core/compiler/compiler.ts": "5f4da46fd9f006387984d4ba27a56216c0e7de03ec867e777f248a4d19d33764", "https://dev.cdn.unyt.org/unyt_core/compiler/protocol_types.ts": "e4d4dc21ed2d4a67cb251d92f1aff319f0193952f5b963e7d9e625a3983843cc", "https://dev.cdn.unyt.org/unyt_core/compiler/tokens_regex.ts": "632e87ca07cc0d56cfa8a2a9b77248a296c775f04c6b235060407adbdcc343ee", "https://dev.cdn.unyt.org/unyt_core/compiler/unit_codes.ts": "0da02d162eed5583c30130eea7d3f013bc09e1c5e274d1b3c41566cb71ef22a1", "https://dev.cdn.unyt.org/unyt_core/datex.ts": "71bb6d0b4d50df4678bc156480f58cf0b65389199ab24d8c4d6aabfb1e2e2b2f", - "https://dev.cdn.unyt.org/unyt_core/datex_all.ts": "9438e875f40a9700e125dc1dbd4a8061e7b2219d97ecaf3e2f474c9d80a9d5fb", - "https://dev.cdn.unyt.org/unyt_core/datex_short.ts": "414039d0b1c67bcf29ece5c6bca7a73390c67dd978cfb77e4a10c433973c7ecb", - "https://dev.cdn.unyt.org/unyt_core/functions.ts": "0514c172d641cc6345f763e481ceab44aff6ede860b2300762c629ca4288a392", - "https://dev.cdn.unyt.org/unyt_core/init.ts": "10ccefd63b135580265a1e395679e3c1b306494ee7eeb791801728354f9b4ebd", - "https://dev.cdn.unyt.org/unyt_core/js_adapter/js_class_adapter.ts": "10eb3a7d087837e140985b9816810903da211a9b18b1f6aa8f2a801a3af785d1", - "https://dev.cdn.unyt.org/unyt_core/js_adapter/legacy_decorators.ts": "dc2adc54ac722042463e2354e538eb7983d77cca8cf4ff3d11bbce4c3afb962c", + "https://dev.cdn.unyt.org/unyt_core/datex_all.ts": "d2564abfde3f103e5e32d618b30aefc2a2709478637c4fa74340328a3300a9b7", + "https://dev.cdn.unyt.org/unyt_core/datex_short.ts": "51abe27bee751d6b5aeb2dee7452cef207475316f72400059fbfc4971ca30cb3", + "https://dev.cdn.unyt.org/unyt_core/functions.ts": "79449ef99ae6e54aaf4bb24f9643bd95211101b7ff6a7535c5228a840fc718ac", + "https://dev.cdn.unyt.org/unyt_core/init.ts": "7d356e9813b2f4529b5a9863dd28d0ab0e2a65e3a7e26ab0c7c6c5e5703abcca", + "https://dev.cdn.unyt.org/unyt_core/js_adapter/js_class_adapter.ts": "83806e6b2f6e4bf8f985cc25f6b0fd21146583d61ea37dd10fb5d2cc770bbd5d", + "https://dev.cdn.unyt.org/unyt_core/js_adapter/legacy_decorators.ts": "da078f676f0d599f644c9b5f99bf6c8c4718297618669495ed479f6ee75e905b", "https://dev.cdn.unyt.org/unyt_core/lib/localforage/drivers/indexeddb.js": "94a6cfe0f3bfbe677bae59127c991405d68c4c54ae4d3dbbdb56072a471ece02", "https://dev.cdn.unyt.org/unyt_core/lib/localforage/drivers/localstorage.js": "62f07f7063c3ff385f307b0cf84f8daf10e3896b623e720c39ee5daab68863d1", "https://dev.cdn.unyt.org/unyt_core/lib/localforage/drivers/websql.js": "5c69bdff0af1cbc3103feb76964490817e221091dc3ae573c8f9a94a78437609", @@ -58,81 +69,86 @@ "https://dev.cdn.unyt.org/unyt_core/lib/localforage/utils/serializer.js": "5960c40deb26d81ca4841c9fe829a5305ea09bfd3d9deb6c1d74875934923b03", "https://dev.cdn.unyt.org/unyt_core/lib/marked.js": "0a1fa6c8bbe5f691c8d5bed2041fdfb9e22494bd3caca2cbc076cb142c19b014", "https://dev.cdn.unyt.org/unyt_core/mod.ts": "446c7e5f0ab17fb04b93f125d0b619be9de1796e236dd5380c3089655a844d88", - "https://dev.cdn.unyt.org/unyt_core/network/blockchain_adapter.ts": "4916a1988cd191625f69f26ff0aa15f985fd0066f4e5ec7f9705cd1ae59b2fb2", - "https://dev.cdn.unyt.org/unyt_core/network/client.ts": "95c1de10729adca9eee8bcb95d3790e2731eee99d1e720a953be9b8656fc435b", + "https://dev.cdn.unyt.org/unyt_core/network/blockchain_adapter.ts": "91b5a6a5dff1c26783bbcb9a628c6e3577c877b64007fdf0166f5c081f5cdaf2", + "https://dev.cdn.unyt.org/unyt_core/network/communication-hub.ts": "0870bf392be43f76d128c6f3ef47330cf97bc0fe5c573a6b4e0ba3f0e76f56e5", + "https://dev.cdn.unyt.org/unyt_core/network/communication-interface.ts": "6f7893961d3ed7725df6bbefd01cf0195195d1f63b2a4fc242cfbcc8a8c7aeea", + "https://dev.cdn.unyt.org/unyt_core/network/communication-interfaces/local-loopback-interface.ts": "1f82bc942c0e2266a64827b8d8316562b2f7704de591c3f55153718967b4c45e", + "https://dev.cdn.unyt.org/unyt_core/network/communication-interfaces/websocket-client-interface.ts": "0552dbc5eaeaf042aeda9b0363dd9750925570bca91fdf0d49ab332ba724ba14", + "https://dev.cdn.unyt.org/unyt_core/network/communication-interfaces/websocket-interface.ts": "bec22b35dceb97e254ae6628e1bb36a25a5f4dc0c1872eaeb087f45eb3d8e674", "https://dev.cdn.unyt.org/unyt_core/network/datex-http-channel.ts": "9fdd46c55ae56b4e17300a3cf8139961687ba3fff4ad723e982cebd1cd6cc3a8", "https://dev.cdn.unyt.org/unyt_core/network/network_utils.ts": "ecf26e1ed96db973aa3c6fcb42db00645df9e5ebba9d39fa08113c9d834dd743", - "https://dev.cdn.unyt.org/unyt_core/network/supranet.ts": "ca596dfce347fd119f51b363cc3b143f2b2655f80a236b1673aa73b344844d6d", - "https://dev.cdn.unyt.org/unyt_core/network/unyt.ts": "82ba19e3e6e61798c7d1841a3b850eede6e7886dc17a1801f560991ec9e83465", + "https://dev.cdn.unyt.org/unyt_core/network/supranet.ts": "f8bf1873440b0446b99e6f10174c790446ec91766650d41394c30fce9382fe22", + "https://dev.cdn.unyt.org/unyt_core/network/unyt.ts": "c21d0e2d8f57d5ebbcbabc7e2a269802e1c0ff63c4d2a2c4653b4dca9ce1604a", "https://dev.cdn.unyt.org/unyt_core/runtime/cache_path.ts": "9ddd39ac5fe6b45e71189a4aad31b928a29552fc01134c4dca618001fe8d8d6e", "https://dev.cdn.unyt.org/unyt_core/runtime/cli.ts": "a4811ce51a337057420b590d80c943d38c42a5a086198029ae40bfc850b2fbdc", - "https://dev.cdn.unyt.org/unyt_core/runtime/constants.ts": "fdccc9bd5de927d614f82acf45ff45514ca93336bdf360875619e9bfd58087bd", - "https://dev.cdn.unyt.org/unyt_core/runtime/crypto.ts": "5b8837739e0ef7499a64def66e6a54bc8042bca3bbacca53213048653f2d23ea", + "https://dev.cdn.unyt.org/unyt_core/runtime/constants.ts": "3e19c703ead7de018bba03edf1b0f4a2d30ad274e7bc22630a3d7b2f743a755e", + "https://dev.cdn.unyt.org/unyt_core/runtime/crypto.ts": "204488df48e69258e24a66dda2a15f970cb7f9b3c0b934ac1fd02629507761f6", "https://dev.cdn.unyt.org/unyt_core/runtime/debugger.ts": "ad1b12229b5d8749107e12a5b6c157b4d65e675e53c3182dc4c01cee75efe9b7", "https://dev.cdn.unyt.org/unyt_core/runtime/display.ts": "40d5a5c19e32db7d16e11fc19acf786e3855d4823c506e1ac8567b9852a81753", - "https://dev.cdn.unyt.org/unyt_core/runtime/endpoint_config.ts": "60dc6e45deacfbee2dbf33ab136f80c8d09ae490bf3bb135a50e86b93208bc60", - "https://dev.cdn.unyt.org/unyt_core/runtime/io_handler.ts": "fae478283b6475f69e4e9c5c995848c5c1baae2c4e2146d6e92bc0cbb294c856", + "https://dev.cdn.unyt.org/unyt_core/runtime/endpoint_config.ts": "28111e1919110712601f0d1ff8c1a1f230b532c84658b3688a1847ddfcfc7751", + "https://dev.cdn.unyt.org/unyt_core/runtime/io_handler.ts": "bc4b8d4613e6786535b4115f3113b7c45dbc5a0a37a65a0351590b825970169e", "https://dev.cdn.unyt.org/unyt_core/runtime/js_interface.ts": "fb415b96be78be8bfdd894a158bb4be5ead140e57ef08e9feb8004ea4d2e5c71", - "https://dev.cdn.unyt.org/unyt_core/runtime/lazy-pointer.ts": "1472e91c04617afe1180e2d428fc81412768507b06e88e8837b68f9e30a74b87", + "https://dev.cdn.unyt.org/unyt_core/runtime/lazy-pointer.ts": "8649bf4d88eb56949b3db1d1ed33e36e22946e2d0d8ed8a8dfe1ba4ea56a0365", "https://dev.cdn.unyt.org/unyt_core/runtime/performance_measure.ts": "ec6a72315c9e0924abbb9c9667edd1dfc28245d8b2b743332a8f0997f2fc6b4d", - "https://dev.cdn.unyt.org/unyt_core/runtime/pointers.ts": "c3bf12794b302f687ee45cbaafe4eae1f5b6bc0d863fad9d6fa16b8f7f8d7056", - "https://dev.cdn.unyt.org/unyt_core/runtime/runtime.ts": "8e54ca8a6a8246d49205eb9c4ad7fb3f3ba0505b522caf9e433c61cbb07e7e89", - "https://dev.cdn.unyt.org/unyt_core/runtime/storage-locations/deno-kv.ts": "718b9031b55333b21adccbe9ee301aafddc331a5f48b2466c90b701208b75e08", - "https://dev.cdn.unyt.org/unyt_core/runtime/storage-locations/indexed-db.ts": "77b9023da18577a099b3e6c0dbe1adec51fa91a32dbec76dbeab4a78254d1df1", - "https://dev.cdn.unyt.org/unyt_core/runtime/storage-locations/local-storage-compat.ts": "274a6440296cf63823cbd3817d9b482d6e89bc219d60d63583fda03ccd17d93c", - "https://dev.cdn.unyt.org/unyt_core/runtime/storage-locations/local-storage.ts": "bfc667c2a4272f680439bc6a946dc3aa1382c8f6c633f2b730c10a05bec5be8f", - "https://dev.cdn.unyt.org/unyt_core/runtime/storage.ts": "8202a24733da2922ab76fb8394a9d54e3470e7a1d794602805f8430ffd4c4c88", + "https://dev.cdn.unyt.org/unyt_core/runtime/pointers.ts": "e32777117cb9abe834fb718d32f223623f17c9d54a116a6d4b303b6ecb647e56", + "https://dev.cdn.unyt.org/unyt_core/runtime/runtime.ts": "a6a9318d1ac071f476478b6ed933feacd26837920c65c2535bdea0ddcd78c095", + "https://dev.cdn.unyt.org/unyt_core/storage/storage-locations/deno-kv.ts": "0e2f640d92a8b5fa01bb50ee49e3a2f32c98a6371ae633f758cc5bb79f10c642", + "https://dev.cdn.unyt.org/unyt_core/storage/storage-locations/indexed-db.ts": "c2ce02d8b88bc5f01b28b926f702d105596e385b5a8cab23e107f84c549cb36f", + "https://dev.cdn.unyt.org/unyt_core/storage/storage-locations/local-storage-compat.ts": "d49a9ef4a95bf875c213964681362d896545116a3859141859222f342475eb79", + "https://dev.cdn.unyt.org/unyt_core/storage/storage-locations/local-storage.ts": "8abad8288c38090e2b615bb83b06300a397aba86d3481f8ef7f5468e0f87eb0c", + "https://dev.cdn.unyt.org/unyt_core/storage/storage.ts": "50a10efa0e4874e9e93a71fbf00215e231f7116fc690d865135504bba95516ab", "https://dev.cdn.unyt.org/unyt_core/types/abstract_types.ts": "04ad3192b3b0973fdf28f730dd6f16feb63b6d9ea0963e280d035889d8abb0c8", - "https://dev.cdn.unyt.org/unyt_core/types/addressing.ts": "c968cdc6608976dfb2b04dd99518589e6951c064bde173794c37a1134a4ac2d5", + "https://dev.cdn.unyt.org/unyt_core/types/addressing.ts": "b901473ecfe99b47936a33f067910e9668263fd07c56b607a1d68934a3ef208a", "https://dev.cdn.unyt.org/unyt_core/types/assertion.ts": "638eeadbb2189b3445bfb9eaeade19eb76e5fb2b8bc3eb8de9b8f025a75c2746", "https://dev.cdn.unyt.org/unyt_core/types/deferred.ts": "eb308e59468c7ca5bd3179e4aa86b5c73d7c4de60d1d656a6c244e3414e61e0d", "https://dev.cdn.unyt.org/unyt_core/types/error_codes.ts": "e4c8c23a07a5e71c70a6c2769de73f45547a4086152155b84ac080699bfb02ea", "https://dev.cdn.unyt.org/unyt_core/types/errors.ts": "2a847093e64705a8837be14f93f2810f4438953edc80a653a1b56f66aea8757d", - "https://dev.cdn.unyt.org/unyt_core/types/function-utils.ts": "5f39e59fb12b8eb1b29043e75b0ffcbb767b5f6fff8be2c5fdf06ceac99e444c", - "https://dev.cdn.unyt.org/unyt_core/types/function.ts": "321652d99464d139dc1dc6702e0b71a5b39af7f412da54b1710ed22934458365", + "https://dev.cdn.unyt.org/unyt_core/types/function-utils.ts": "223835d091bcde1891ef51bc342e31aa6942a022b7a023b1dca205d6eb74ecbb", + "https://dev.cdn.unyt.org/unyt_core/types/function.ts": "cd507b56670ad3aeff4ccf947748f6571b6833203be3db7c9a0e35ebde5da495", "https://dev.cdn.unyt.org/unyt_core/types/iterator.ts": "645a2ce155fa6dbbe3465a12e8c8871dffdc062f7261762ebf85896cfcdd3a73", - "https://dev.cdn.unyt.org/unyt_core/types/js-function.ts": "5233767790e04bc264f3616e80d7bec5d8a56ecb15d540d0b791fce700b6ab05", + "https://dev.cdn.unyt.org/unyt_core/types/js-function.ts": "869b071817fe1b943477f75ffb4b91f098c4166dcf073034f14b4f5cf35123f3", "https://dev.cdn.unyt.org/unyt_core/types/logic.ts": "45c9f157ac8e04cf7b5ce0ccff75d6d4f5548d8bb6ffa3737944af6f1aeaede5", "https://dev.cdn.unyt.org/unyt_core/types/markdown.ts": "7c762ad0c64eea3495f13371551424d971cc3d98eba09464f07f5ac3c1417fb6", - "https://dev.cdn.unyt.org/unyt_core/types/native_types.ts": "f0d428a843e0228ffe2c800cb73e005a33c82689b8de26447508370b0990ac14", + "https://dev.cdn.unyt.org/unyt_core/types/native_types.ts": "755e789956828afa344b4ed7846a36ff383cc8e1549fa79b822cec42b440569d", "https://dev.cdn.unyt.org/unyt_core/types/object.ts": "9711f523ae51ebf53f992837e921dbe7b572f4150a1379a6ac6d0b240ed978dd", "https://dev.cdn.unyt.org/unyt_core/types/quantity.ts": "f2ca8f563964d85a0cd7cd0b7fa060e974da10f697ea4273e6e4f7f3182d8043", "https://dev.cdn.unyt.org/unyt_core/types/reactive-methods/array.ts": "e8877a11e173e5cf73789d76e517106d2ce4573daac315020053790f3ebb21ce", "https://dev.cdn.unyt.org/unyt_core/types/reactive-methods/map.ts": "8081929ad6d509615dda1978af6625c1e74aa4d7bee089981ce8a296c0a65eff", "https://dev.cdn.unyt.org/unyt_core/types/scope.ts": "4bf20285be521b142c735cfedf779a68a4315940f4b4deeb4d1f2ca3d322d7eb", - "https://dev.cdn.unyt.org/unyt_core/types/storage_map.ts": "073a899311d2e2515a975d8c2ed999f5f952ce4104d5ca547c03fdc5778adae9", - "https://dev.cdn.unyt.org/unyt_core/types/storage_set.ts": "2b41e20cbcc39764e2126859fbe03cfd771683c690dc0774f1c6dce1d09fc0ae", + "https://dev.cdn.unyt.org/unyt_core/types/storage-map.ts": "82926abb38bd9183f3129be435d38d010c1192808f93edeacd25b14737bf6678", + "https://dev.cdn.unyt.org/unyt_core/types/storage-set.ts": "9b591d94c1d9ec1b02c87ef04a828eceb1d1ed7d8faef4acb5791c9c450ff934", "https://dev.cdn.unyt.org/unyt_core/types/stream.ts": "c3f324979ebc4bf29c9e071c75364bb109f30782d2267b2702b4e7b8a559fc9b", "https://dev.cdn.unyt.org/unyt_core/types/struct.ts": "1009e377570b57a8d0dc51ca98c562694c55d83b42636cb80ff96f30bfcf1649", "https://dev.cdn.unyt.org/unyt_core/types/task.ts": "b5073e9682ca9cb93b44646e0fbe7896f96cd369d151a94d2d11728e5d7e2da9", "https://dev.cdn.unyt.org/unyt_core/types/time.ts": "4ea90eafedad768e43dc6f8cdc20018fb2264fc19e6bf58bc1aecf35766d6e61", "https://dev.cdn.unyt.org/unyt_core/types/tuple.ts": "798c635102d46f4c29903f82fb50cd1f6c0449eb0090654ae08e59e9ae98a80e", - "https://dev.cdn.unyt.org/unyt_core/types/type.ts": "0e68785c4a2e33b22b05484a1ee260484d8ef3e3121e2a477758648e1a184021", + "https://dev.cdn.unyt.org/unyt_core/types/type.ts": "7588461efd1ced10535be45230288e62c3a7a12b957386c74185775c4310cb08", "https://dev.cdn.unyt.org/unyt_core/utils/_command_line_options.ts": "b6ac395803c34fc69c59a853769d44770bda4da6bad6904ae65fbdca6ccbe308", "https://dev.cdn.unyt.org/unyt_core/utils/ansi_compat.ts": "d220d4387c98d6bb1fb2422b7e40f5bbdcfcf7f198f087460ab27712020baed8", - "https://dev.cdn.unyt.org/unyt_core/utils/args.ts": "f752ba2a61bcd463f79c032d3245a7f286809063d4b8dbd98e1f95a34bb86345", - "https://dev.cdn.unyt.org/unyt_core/utils/auto_map.ts": "44fca794249889ecb52ae183d5deed19b4bb66268ceafc4563a0de035524f1e8", + "https://dev.cdn.unyt.org/unyt_core/utils/args.ts": "35d5e9750935fd60519180deb3c6e99f7f4fe639258b12a68ce2999e1aee9fbb", + "https://dev.cdn.unyt.org/unyt_core/utils/auto_map.ts": "030496a476b889b43fad9b12d3b04d7f9e87b901766f5615066726bdcb1dd93f", "https://dev.cdn.unyt.org/unyt_core/utils/caller_metadata.ts": "57f79bff64cfb24749cdebec41230a416a32e8d0e80c319096e653778e7a5fde", "https://dev.cdn.unyt.org/unyt_core/utils/constants.ts": "a7992c1dbb4d28a22c52d02281564f0236508217cc1b7a035ff0e95988fa83cb", "https://dev.cdn.unyt.org/unyt_core/utils/cookies.ts": "4875c1a2739c07ce9b6f4a72806fa67d2c414d1cb3b0cd8b3d71ce6df18b14ba", - "https://dev.cdn.unyt.org/unyt_core/utils/debug-cookie.ts": "7c455a36c1b35f08685295e063f027239df819cf926c4c6b95d9ead88310c0b1", - "https://dev.cdn.unyt.org/unyt_core/utils/eternals.ts": "843bb0e9d4de9b2ce61eaa28e96e9438191facafbc5b097dffded673ab195d4e", - "https://dev.cdn.unyt.org/unyt_core/utils/global_types.ts": "d807fe45733bc1fb7392e493bc436ed8df048cba8393078b56d3f36d2eeea08d", + "https://dev.cdn.unyt.org/unyt_core/utils/debug-cookie.ts": "81c2b9ec6a0503a967998273022f66f61a8eb160478c349843f4c80aaa201609", + "https://dev.cdn.unyt.org/unyt_core/utils/eternals.ts": "e765fdab5e147ae6d3508eb56069b227ca39a20e30e8eeeab82a88b568ef16c6", + "https://dev.cdn.unyt.org/unyt_core/utils/global_types.ts": "aede78063eb8d9897ecd0f214d95b8144ea45891eb9611ec1f2e533bce7f30c6", "https://dev.cdn.unyt.org/unyt_core/utils/global_values.ts": "d73efa6efa6b1d583e502c7a429c7ba313116a544082a0143d2caf98392ffaba", "https://dev.cdn.unyt.org/unyt_core/utils/isolated-scope.ts": "814e356590f2dd8b9aae3d602da64f05fd0b905a5fb4dd49d93d22252015c1d5", "https://dev.cdn.unyt.org/unyt_core/utils/iterable-handler.ts": "2f442e8a4646db3dc8b96b256e8518ae57a88f0f98cd091d59559254b0c0a035", "https://dev.cdn.unyt.org/unyt_core/utils/iterable-weak-map.ts": "0d01d06d3d6a5205cea478c468b0fce205aadf91b28f0194424f4a1e314552ff", "https://dev.cdn.unyt.org/unyt_core/utils/iterable-weak-set.ts": "f5e27d4031e5836e0ce46371cb48b138d8c83ca0e1cebb5f8ec1f67f8648e7b0", "https://dev.cdn.unyt.org/unyt_core/utils/local_files.ts": "f81613b5aecc4d4b1fbf6884d3acb7785cb656d72fe9e6cf81dbe3f0c8264993", - "https://dev.cdn.unyt.org/unyt_core/utils/logger.ts": "26d61dedbd246d2af4cb8d3f336ba2292f1d46ec5e882c869eb8069e3d1f6621", - "https://dev.cdn.unyt.org/unyt_core/utils/message_logger.ts": "2cefa6e7cbf63232ad80c3d620ff7f3e35eeaea15b57128373e28c0c526ac883", + "https://dev.cdn.unyt.org/unyt_core/utils/logger.ts": "18a8bdf121d136a76b4f08bf3436f636f9435f97f90300a7478fdd23438a8ef2", + "https://dev.cdn.unyt.org/unyt_core/utils/message_logger.ts": "68fdda4aff6c647a425c177b86a086500c16697a96baac7cd6c8a5b8643f47a5", "https://dev.cdn.unyt.org/unyt_core/utils/normalize-path.ts": "1f3fea7a349600fec02ea434fd18ef34476e59f977c09a00146702e71e92d342", "https://dev.cdn.unyt.org/unyt_core/utils/observers.ts": "df82f2dfbc0189d7f3f6d1f21461ac4a329a6dbbd7ec1bd72d3cd2f5afada9a6", + "https://dev.cdn.unyt.org/unyt_core/utils/path.ts": "1a6a91c4d36b2e8249bfc6f2341ca07e397cad256d96f2f8a285871dd3d47147", "https://dev.cdn.unyt.org/unyt_core/utils/persistent-listeners.ts": "8ab5b2750c8104caae00e275a33655868afbc76eee3807523d09f93315509898", "https://dev.cdn.unyt.org/unyt_core/utils/polyfills.ts": "1f47a967c5813e8a465ca985af8a5867884f8aadd8d763d361b548121fbc6ccf", "https://dev.cdn.unyt.org/unyt_core/utils/promises.ts": "b43d38724a2fd42d1d0a3cc479bc21f7a75ccee872f680c46f50e99839e17803", "https://dev.cdn.unyt.org/unyt_core/utils/sha256.ts": "52bfee6d3276da5fad865886a323198827c2c86e6491711f4875c5fa50be2248", - "https://dev.cdn.unyt.org/unyt_core/utils/utils.ts": "86fe78e869c00d17f88a38dbe1f22a7d0197ac981c77dd635d3950dfc5a41337", + "https://dev.cdn.unyt.org/unyt_core/utils/utils.ts": "4700b8f6dddbfb80d6465f437bf327c761f0b460fb59cbc92c129d2e35ef8714", "https://dev.cdn.unyt.org/unyt_core/utils/volatile-map.ts": "c60551a48b4900b8e29f0601c2d5cc9f9f0063b86e1d8a70c5a4369faa2b11cc", "https://dev.cdn.unyt.org/unyt_core/utils/weak-action.ts": "dcb656dd83627fa12515d691f84011bc0495844ae24d468fe87eac2561d09f76", "https://dev.cdn.unyt.org/unyt_core/wasm/adapter/pkg/datex_wasm.js": "e9416983fb275de1cd28849c3cb85ba3d3be05032e9246c73fe217e7a2d422c5" diff --git a/src/app/debugging/logs-backend.ts b/src/app/debugging/logs-backend.ts new file mode 100644 index 000000000..e9bd2d0ec --- /dev/null +++ b/src/app/debugging/logs-backend.ts @@ -0,0 +1,39 @@ +import { Datex } from "datex-core-legacy/mod.ts"; +import { LOG_LEVEL } from "datex-core-legacy/utils/logger.ts"; + +@endpoint export class DebugLogs { + @property static getLogs() { + + const timeout = 60; // 60 minutes + + const stream = $$(new Datex.Stream()); + Datex.Logger.logToStream(stream); + + // close stream after timeout + setTimeout(() => { + // \u0004 is the EOT character + stream.write(new TextEncoder().encode("\n[Stream was closed after " + timeout + " minutes]\n\u0004").buffer); + stream.close(); + }, timeout * 60 * 1000); + + return stream; + } + + @property static enableMessageLogger() { + enableMessageLogger() + } + + @property static disableMessageLogger() { + disableMessageLogger() + } + + @property static enableVerboseLogs() { + Datex.Logger.production_log_level = LOG_LEVEL.VERBOSE + Datex.Logger.development_log_level = LOG_LEVEL.VERBOSE + } + + @property static disableVerboseLogs() { + Datex.Logger.production_log_level = LOG_LEVEL.DEFAULT + Datex.Logger.development_log_level = LOG_LEVEL.DEFAULT + } +} \ No newline at end of file diff --git a/src/app/debugging/logs.tsx b/src/app/debugging/logs.tsx new file mode 100644 index 000000000..14d2161cd --- /dev/null +++ b/src/app/debugging/logs.tsx @@ -0,0 +1,62 @@ +import { DebugLogs } from "./logs-backend.ts"; +import { app } from "../app.ts" +import { convertANSIToHTML } from "../../utils/ansi-to-html.ts"; +import { unsafeHTML } from "../../html/unsafe-html.ts"; + +const messageLoggerEnabled = $$(false); +const verboseLogsEnabled = $$(false); + +const logsContainer =
+const component =
+
+ + + + +
+ + Backend Logs ({app.backend?.toString()}) + + {logsContainer} +
; + +effect(() => { + if (messageLoggerEnabled.val) DebugLogs.enableMessageLogger.to(app.backend!)(); + else DebugLogs.disableMessageLogger.to(app.backend!)(); +}); + +effect(() => { + if (verboseLogsEnabled.val) DebugLogs.enableVerboseLogs.to(app.backend!)(); + else DebugLogs.disableVerboseLogs.to(app.backend!)(); +}); + + +(document as any).body.appendChild(component); +(document as any).body.style.margin = "0"; + +const stream = await DebugLogs.getLogs.to(app.backend!)(); + +const reader = stream.getReader(); + +while (true) { + const val = await reader.read(); + const child = + {new Date().toLocaleTimeString()} + {unsafeHTML(convertANSIToHTML(val.value as string))} + ; + const scrollDown = Math.abs(logsContainer.scrollHeight - logsContainer.scrollTop - logsContainer.clientHeight) < 1; + logsContainer.appendChild(child); + setTimeout(() => { + if (scrollDown) { + logsContainer.scrollTo(0, logsContainer.scrollHeight); + } + }, 10); + if (val.done) break; +} + diff --git a/src/app/debugging/main.tsx b/src/app/debugging/main.tsx new file mode 100644 index 000000000..d338e3bbd --- /dev/null +++ b/src/app/debugging/main.tsx @@ -0,0 +1,9 @@ +(document as any).body.append( +
+

UIX Debugging Tools

+ +
+); \ No newline at end of file diff --git a/src/app/debugging/network-backend.ts b/src/app/debugging/network-backend.ts new file mode 100644 index 000000000..eea2e29a3 --- /dev/null +++ b/src/app/debugging/network-backend.ts @@ -0,0 +1,11 @@ +import {communicationHub} from "datex-core-legacy/network/communication-hub.ts"; + +@endpoint export class DebugNetwork { + @property static getComStatus() { + return communicationHub.handler.getStatus() + } + + @property static getEndpointSockets(endpoint: string) { + return communicationHub.handler.getEndpointSockets(endpoint) + } +} \ No newline at end of file diff --git a/src/app/debugging/network.tsx b/src/app/debugging/network.tsx new file mode 100644 index 000000000..db9531093 --- /dev/null +++ b/src/app/debugging/network.tsx @@ -0,0 +1,36 @@ +import { DebugNetwork } from "./network-backend.ts"; +import { convertANSIToHTML } from "../../utils/ansi-to-html.ts"; +import { app } from "../app.ts"; + +const endpoint = $$("") + +const status =
; +const endpointSockets =
+const container =
+ {status} +
+ + +
+ {endpointSockets} +
+ + +const getComStatus = DebugNetwork.getComStatus.to(app.backend!) +const getEndpointSockets = DebugNetwork.getEndpointSockets.to(app.backend!) + +async function updateContent() { + const content = await getComStatus(); + status.innerHTML = convertANSIToHTML(content) +} + +async function updateEndpointSockets() { + const content = await getEndpointSockets(endpoint.val); + endpointSockets.innerHTML = convertANSIToHTML(content) +} + + +updateContent(); +setInterval(updateContent, 3000); + +(document as any).body.append(container); \ No newline at end of file diff --git a/src/app/frontend-manager.ts b/src/app/frontend-manager.ts index 0bbc3aaf9..a25723bee 100644 --- a/src/app/frontend-manager.ts +++ b/src/app/frontend-manager.ts @@ -174,6 +174,9 @@ export class FrontendManager extends HTMLProvider { } #BLANK_PAGE_URL = 'uix/base/blank.ts'; + #LOGS_PAGE_URL = 'uix/app/debugging/logs.tsx'; + #NETWORK_PAGE_URL = 'uix/app/debugging/network.tsx'; + #DEBUG_LANDING_PAGE_URL = 'uix/app/debugging/main.tsx'; server!: Server transpiler!: Transpiler @@ -289,7 +292,7 @@ export class FrontendManager extends HTMLProvider { } }); - this.server.path("/@uix/window", (req, path)=>this.handleNewHTML(req, path)); + this.server.path("/@uix/window", (req, path)=>this.serveUIXPage(req, this.#BLANK_PAGE_URL)); if (this.app_options.installable || this.app_options.manifest) this.server.path("/@uix/manifest.json", (req, path)=>this.handleManifest(req, path)); this.server.path("/@uix/sw.js", (req, path)=>this.handleServiceWorker(req, path)); this.server.path("/@uix/sw.ts", (req, path)=>this.handleServiceWorker(req, path)); @@ -373,7 +376,20 @@ export class FrontendManager extends HTMLProvider { }); - + // debug mode enabled + if (this.app_options.debug_mode) { + await import("./debugging/logs-backend.ts") + await import("./debugging/network-backend.ts") + this.server.path("/@debug/logs", (req) => this.serveUIXPage(req, this.#LOGS_PAGE_URL)); + this.server.path("/@debug/network", (req) => this.serveUIXPage(req, this.#NETWORK_PAGE_URL)); + this.server.path(/^\/@debug($|\/.*)/, (req) => this.serveUIXPage(req, this.#DEBUG_LANDING_PAGE_URL)); + } + + else { + this.server.path(/^\/@debug($|\/.*)/, (req) => req.respondWith(this.server.getErrorResponse(500, "Debug mode not enabled"))) + } + + // handle datex-over-http this.server.path(/^\/@uix\/datex\/?$/, async (req, path)=>{ try { @@ -394,7 +410,7 @@ export class FrontendManager extends HTMLProvider { } catch (e) { console.log(e) - req.respondWith(await this.server.getErrorResponse(500, e?.message ?? e?.toString())); + req.respondWith(this.server.getErrorResponse(500, e?.message ?? e?.toString())); } }); @@ -978,16 +994,17 @@ if (!window.location.origin.endsWith(".unyt.app")) { } } - // html page for new empty pages (includes blank.ts) - private async handleNewHTML(requestEvent: Deno.RequestEvent, _path:string) { + private async serveUIXPage(requestEvent: Deno.RequestEvent, scriptPath: string) { await this.server.serveContent(requestEvent, "text/html", await generateHTMLPage({ provider: this, prerendered_content: "", render_method: RenderMethod.DYNAMIC, - js_files: [...this.#client_scripts, this.#BLANK_PAGE_URL], + js_files: [...this.#client_scripts, scriptPath], static_js_files: this.#static_client_scripts, global_css_files: ['uix/style/document.css'], - body_css_files: ['uix/style/body.css'] + body_css_files: ['uix/style/body.css'], + color_scheme: "dark", + force_enable_scripts: true })); } diff --git a/src/app/options.ts b/src/app/options.ts index 2c5e4abf0..f42ca956e 100644 --- a/src/app/options.ts +++ b/src/app/options.ts @@ -25,6 +25,7 @@ export type appOptions = { import_map?: {imports:Record} // prefer over import map path experimentalFeatures?: string|string[] + debug_mode?: boolean // enable debug interfaces available on /@debug/... } export interface normalizedAppOptions extends appOptions { @@ -61,6 +62,7 @@ export async function normalizeAppOptions(options:appOptions = {}, base_url?:str n_options.meta = options.meta; n_options.experimentalFeatures = options.experimentalFeatures ? (options.experimentalFeatures instanceof Array ? options.experimentalFeatures : [options.experimentalFeatures]) : []; + n_options.debug_mode = options.debug_mode ?? false; // import map or import map path if (options.import_map) n_options.import_map = new ImportMap(options.import_map); diff --git a/src/html/render.ts b/src/html/render.ts index 01e907169..f460cb4b7 100644 --- a/src/html/render.ts +++ b/src/html/render.ts @@ -617,7 +617,8 @@ export type HTMLPageOptions = { open_graph_meta_tags?:OpenGraphInformation, lang?: string, livePointers?: string[], - includeImportMap?: boolean + includeImportMap?: boolean, + force_enable_scripts?: boolean } @@ -633,6 +634,7 @@ export async function generateHTMLPage({ body_css_files, frontend_entrypoint, backend_entrypoint, + force_enable_scripts, open_graph_meta_tags, lang, livePointers, @@ -651,7 +653,7 @@ export async function generateHTMLPage({ let metaScripts = '' // use frontendRuntime if rendering DYNAMIC or HYDRATION, and entrypoints are loaded, otherwise just static content and standalone js - const useFrontendRuntime = (render_method == RenderMethod.DYNAMIC || render_method == RenderMethod.HYBRID || render_method == RenderMethod.PREVIEW) && !!(frontend_entrypoint || backend_entrypoint || provider.live); + const useFrontendRuntime = (render_method == RenderMethod.DYNAMIC || render_method == RenderMethod.HYBRID || render_method == RenderMethod.PREVIEW) && !!(frontend_entrypoint || backend_entrypoint || provider.live || force_enable_scripts); // js files if (useFrontendRuntime) {