diff --git a/.ghjk/deno.lock b/.ghjk/deno.lock index 0223fbf50..223d1d579 100644 --- a/.ghjk/deno.lock +++ b/.ghjk/deno.lock @@ -6,26 +6,21 @@ "jsr:@david/which@^0.4.1": "jsr:@david/which@0.4.1", "jsr:@std/assert@^0.221.0": "jsr:@std/assert@0.221.0", "jsr:@std/bytes@^0.221.0": "jsr:@std/bytes@0.221.0", - "jsr:@std/bytes@^1.0.2": "jsr:@std/bytes@1.0.2", - "jsr:@std/cli@^1.0.3": "jsr:@std/cli@1.0.5", - "jsr:@std/fmt": "jsr:@std/fmt@0.221.0", + "jsr:@std/bytes@^1.0.3": "jsr:@std/bytes@1.0.4", + "jsr:@std/cli@^1.0.3": "jsr:@std/cli@1.0.10", "jsr:@std/fmt@^0.221.0": "jsr:@std/fmt@0.221.0", - "jsr:@std/fmt@^1.0.0": "jsr:@std/fmt@1.0.2", - "jsr:@std/fs": "jsr:@std/fs@0.221.0", + "jsr:@std/fmt@^1.0.0": "jsr:@std/fmt@1.0.4", "jsr:@std/fs@0.221.0": "jsr:@std/fs@0.221.0", - "jsr:@std/fs@^1.0.1": "jsr:@std/fs@1.0.3", + "jsr:@std/fs@^1.0.1": "jsr:@std/fs@1.0.9", "jsr:@std/io@0.221.0": "jsr:@std/io@0.221.0", "jsr:@std/io@^0.221.0": "jsr:@std/io@0.221.0", - "jsr:@std/path": "jsr:@std/path@0.221.0", "jsr:@std/path@0.221.0": "jsr:@std/path@0.221.0", "jsr:@std/path@^0.221.0": "jsr:@std/path@0.221.0", - "jsr:@std/path@^1.0.2": "jsr:@std/path@1.0.4", - "jsr:@std/path@^1.0.4": "jsr:@std/path@1.0.4", - "jsr:@std/semver": "jsr:@std/semver@1.0.3", + "jsr:@std/path@^1.0.2": "jsr:@std/path@1.0.8", + "jsr:@std/path@^1.0.8": "jsr:@std/path@1.0.8", "jsr:@std/semver@^1.0.1": "jsr:@std/semver@1.0.3", - "jsr:@std/streams": "jsr:@std/streams@0.221.0", "jsr:@std/streams@0.221.0": "jsr:@std/streams@0.221.0", - "jsr:@std/streams@1": "jsr:@std/streams@1.0.4", + "jsr:@std/streams@1": "jsr:@std/streams@1.0.8", "npm:@noble/hashes@1.4.0": "npm:@noble/hashes@1.4.0", "npm:multiformats@13.1.0": "npm:multiformats@13.1.0", "npm:zod-validation-error@3.3.0": "npm:zod-validation-error@3.3.0_zod@3.23.8", @@ -52,17 +47,17 @@ "@std/bytes@0.221.0": { "integrity": "64a047011cf833890a4a2ab7293ac55a1b4f5a050624ebc6a0159c357de91966" }, - "@std/bytes@1.0.2": { - "integrity": "fbdee322bbd8c599a6af186a1603b3355e59a5fb1baa139f8f4c3c9a1b3e3d57" + "@std/bytes@1.0.4": { + "integrity": "11a0debe522707c95c7b7ef89b478c13fb1583a7cfb9a85674cd2cc2e3a28abc" }, - "@std/cli@1.0.5": { - "integrity": "c93cce26ffd26f617c15a12874e1bfeabc90b1eee86017c9639093734c2bf587" + "@std/cli@1.0.10": { + "integrity": "d047f6f4954a5c2827fe0963765ddd3d8b6cc7b7518682842645b95f571539dc" }, "@std/fmt@0.221.0": { "integrity": "379fed69bdd9731110f26b9085aeb740606b20428ce6af31ef6bd45ef8efa62a" }, - "@std/fmt@1.0.2": { - "integrity": "87e9dfcdd3ca7c066e0c3c657c1f987c82888eb8103a3a3baa62684ffeb0f7a7" + "@std/fmt@1.0.4": { + "integrity": "e14fe5bedee26f80877e6705a97a79c7eed599e81bb1669127ef9e8bc1e29a74" }, "@std/fs@0.221.0": { "integrity": "028044450299de8ed5a716ade4e6d524399f035513b85913794f4e81f07da286", @@ -71,10 +66,10 @@ "jsr:@std/path@^0.221.0" ] }, - "@std/fs@1.0.3": { - "integrity": "3cb839b1360b0a42d8b367c3093bfe4071798e6694fa44cf1963e04a8edba4fe", + "@std/fs@1.0.9": { + "integrity": "3eef7e3ed3d317b29432c7dcb3b20122820dbc574263f721cb0248ad91bad890", "dependencies": [ - "jsr:@std/path@^1.0.4" + "jsr:@std/path@^1.0.8" ] }, "@std/io@0.221.0": { @@ -90,8 +85,8 @@ "jsr:@std/assert@^0.221.0" ] }, - "@std/path@1.0.4": { - "integrity": "48dd5d8389bcfcd619338a01bdf862cb7799933390146a54ae59356a0acc7105" + "@std/path@1.0.8": { + "integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be" }, "@std/semver@1.0.3": { "integrity": "7c139c6076a080eeaa4252c78b95ca5302818d7eafab0470d34cafd9930c13c8" @@ -99,14 +94,13 @@ "@std/streams@0.221.0": { "integrity": "47f2f74634b47449277c0ee79fe878da4424b66bd8975c032e3afdca88986e61", "dependencies": [ - "jsr:@std/bytes@^0.221.0", "jsr:@std/io@^0.221.0" ] }, - "@std/streams@1.0.4": { - "integrity": "a1a5b01c74ca1d2dcaacfe1d4bbb91392e765946d82a3471bd95539adc6da83a", + "@std/streams@1.0.8": { + "integrity": "b41332d93d2cf6a82fe4ac2153b930adf1a859392931e2a19d9fabfb6f154fb3", "dependencies": [ - "jsr:@std/bytes@^1.0.2" + "jsr:@std/bytes@^1.0.3" ] } }, @@ -132,6 +126,18 @@ } }, "redirects": { + "https://esm.sh/core-util-is@~1.0.0?target=denonext": "https://esm.sh/core-util-is@1.0.3?target=denonext", + "https://esm.sh/immediate@~3.0.5?target=denonext": "https://esm.sh/immediate@3.0.6?target=denonext", + "https://esm.sh/isarray@~1.0.0?target=denonext": "https://esm.sh/isarray@1.0.0?target=denonext", + "https://esm.sh/lie@~3.3.0?target=denonext": "https://esm.sh/lie@3.3.0?target=denonext", + "https://esm.sh/pako@~1.0.2?target=denonext": "https://esm.sh/pako@1.0.11?target=denonext", + "https://esm.sh/process-nextick-args@~2.0.0?target=denonext": "https://esm.sh/process-nextick-args@2.0.1?target=denonext", + "https://esm.sh/readable-stream@~2.3.6?target=denonext": "https://esm.sh/readable-stream@2.3.8?target=denonext", + "https://esm.sh/safe-buffer@~5.1.0?target=denonext": "https://esm.sh/safe-buffer@5.1.2?target=denonext", + "https://esm.sh/safe-buffer@~5.1.1?target=denonext": "https://esm.sh/safe-buffer@5.1.2?target=denonext", + "https://esm.sh/set-immediate-shim@~1.0.1?target=denonext": "https://esm.sh/set-immediate-shim@1.0.1?target=denonext", + "https://esm.sh/string_decoder@~1.1.1?target=denonext": "https://esm.sh/string_decoder@1.1.1?target=denonext", + "https://esm.sh/util-deprecate@~1.0.1?target=denonext": "https://esm.sh/util-deprecate@1.0.2?target=denonext", "https://github.com/levibostian/deno-udd/raw/ignore-prerelease/mod.ts": "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/mod.ts" }, "remote": { @@ -557,98 +563,36 @@ "https://deno.land/x/ts_morph@18.0.0/common/typescript.js": "d5c598b6a2db2202d0428fca5fd79fc9a301a71880831a805d778797d2413c59", "https://deno.land/x/wasmbuild@0.15.0/cache.ts": "89eea5f3ce6035a1164b3e655c95f21300498920575ade23161421f5b01967f4", "https://deno.land/x/wasmbuild@0.15.0/loader.ts": "d98d195a715f823151cbc8baa3f32127337628379a02d9eb2a3c5902dbccfc02", - "https://esm.sh/jszip@3.7.1": "f3872a819b015715edb05f81d973b5cd05d3d213d8eb28293ca5471fe7a71773", - "https://esm.sh/v135/jszip@3.7.1/denonext/jszip.mjs": "d31d7f9e0de9c6db3c07ca93f7301b756273d4dccb41b600461978fc313504c9", + "https://esm.sh/core-util-is@1.0.3/denonext/core-util-is.mjs": "cfcf1ae63d56751cbe4b3b90b90b7eea577c5380c4adc272ddea4b7db2bdbbf2", + "https://esm.sh/core-util-is@1.0.3?target=denonext": "6c72958f8a1c8f42016b48c984a0f3d799ea1e0cd321f499fec0bf8db916c17f", + "https://esm.sh/immediate@3.0.6/denonext/immediate.mjs": "7148ba33cb905f7aca49affbacfa6a8257cd6b89e8c3c7c728d2d0387b4cce29", + "https://esm.sh/immediate@3.0.6?target=denonext": "fba8d9ddb37f19ff27c0b1c5b4486ab82805114b14959379d92ca05d6351c5d3", + "https://esm.sh/isarray@1.0.0/denonext/isarray.mjs": "0f26133cd58fc8580f99bbfd81f6290718328dc2a683c313c36f6b1e8c174edc", + "https://esm.sh/isarray@1.0.0?target=denonext": "00e227f6d016cb5a5f832f6f2de91dd8ab092c7ac830c551bfcf0f63284d89e6", + "https://esm.sh/jszip@3.7.1": "5161d6a228d844791a60ab58360bd3b76c4d3921b4a725616cd7403203519249", + "https://esm.sh/jszip@3.7.1/denonext/jszip.mjs": "c012f515eb73de7f7576f4a4756c206b0a98cb7ef698ee7f5bb85a1f07eb3eba", + "https://esm.sh/lie@3.3.0/denonext/lie.mjs": "20db2fef139e87d467b7cf24a9e53053e96460fefedde5910f925b1d0ddc0cba", + "https://esm.sh/lie@3.3.0?target=denonext": "74a2c724bd2fef30c46c612632dfd2ee37394f1a4540eb112e0df2ef98df0434", + "https://esm.sh/pako@1.0.11/denonext/pako.mjs": "c74e4cf6d33272fd034f6b17390a1bf1122d8bb28f861b6e82d9a1536b3f3105", + "https://esm.sh/pako@1.0.11?target=denonext": "bc43f66ed245d58d468bf9867b3e9080c5b0590b4c14038ea308954490e0b2ea", + "https://esm.sh/process-nextick-args@2.0.1/denonext/process-nextick-args.mjs": "adffdd507c6571957aaab9d3f0a2aa54febdda1b4d546a57967fd2299505339e", + "https://esm.sh/process-nextick-args@2.0.1?target=denonext": "b80260031d83086964facc0efc6e2cc8fd878d9ce14dfcf6999e508a4d8d13d0", + "https://esm.sh/readable-stream@2.3.8/denonext/readable-stream.mjs": "738c1c2f90f84663b7bf1a4151d280079e6eab3ae3b2a5b5c759af02364b5ea4", + "https://esm.sh/readable-stream@2.3.8?target=denonext": "a8d158c470101e7518fdf293728d4cb8b2ab2cac73140940c8a9ee5542194e13", + "https://esm.sh/safe-buffer@5.1.2/denonext/safe-buffer.mjs": "848e2c2dafb98ea738399526e4396607872d1118acf8eb56eecd2a5f3be75568", + "https://esm.sh/safe-buffer@5.1.2?target=denonext": "3126988c629e3dc2d6126b26f654aceae10ad989622a21cb2a73ee72603f7df8", + "https://esm.sh/set-immediate-shim@1.0.1/denonext/set-immediate-shim.mjs": "a0fc9b90f281a6541c474dbf55184ef3a9360248f53cb3fa9479480cd24cdd40", + "https://esm.sh/set-immediate-shim@1.0.1?target=denonext": "8d30997d25a26dbcd4d79b613e6f400af85194f8e18e8e7014bc5fe3c9ffd429", + "https://esm.sh/string_decoder@1.1.1/denonext/string_decoder.mjs": "494e5a7fae95d5326e8aee93b4adfde75e389eea7a54bc1feea8549e786da032", + "https://esm.sh/string_decoder@1.1.1?target=denonext": "092c97b62b99368a40fa044c402188472658bc71529415f73c16f66c05aaf6bf", + "https://esm.sh/util-deprecate@1.0.2/denonext/util-deprecate.mjs": "083639894972cb68837eef26346c43bdd01357977149e0a4493f76192a4008b8", + "https://esm.sh/util-deprecate@1.0.2?target=denonext": "859f4df8ba771a4c33143185d3db6a7edb824fab1ed4f9a4b96ac0e6bc3ef1a4", "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/deps.ts": "2b20d8c142749898e0ad5e4adfdc554dbe1411e8e5ef093687767650a1073ff8", "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/mod.ts": "3ef8bb10b88541586bae7d92c32f469627d3a6a799fa8a897ac819b2f7dd95e8", "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/progress.ts": "bb8eb122f5ac32efc073e05e2c13cceea61458b0e49ac05bddc3a49124dc39e3", "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/registry.ts": "fd8e1b05f14cb988fee7a72a51e68131a920f7d4b72f949d9b86794b3c699671", "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/search.ts": "52f9a539ca76893c47d01f8c6d401487ea286d54d1305b079b8727598e4c847a", "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/semver.ts": "c051a906405dd72b55434eb0f390f678881379d57847abe4ec60d8a02af4f6f2", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/deps/cli.ts": "aac025f9372ad413b9c2663dc7f61affd597820d9448f010a510d541df3b56ea", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/deps/common.ts": "f775710b66a9099b98651cd3831906466e9b83ef98f2e5c080fd59ee801c28d4", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/deps/ports.ts": "3c60d1f7ab626ffdd81b37f4e83a780910936480da8fe24f4ccceaefa207d339", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/files/deno/mod.ts": "1b8204c3df18b908408b2148b48af788e669d0debbeb8ba119418ab1ddf1ab8f", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/files/deno/worker.ts": "8ded400d70a0bd40e281ceb1ffcdc82578443caf9c481b9eee77166472784282", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/host/mod.ts": "cc25d1f82e54e6a27eef4571145c3f34c4c8ad9148b3aa48bd3b53d1e078d95d", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/host/types.ts": "f450d9b9c0eced2650262d02455aa6f794de0edd6b052aade256882148e5697f", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/install/mod.ts": "aa54eb3e119f28d33e61645c89669da292ee00376068ead8f45be2807e7a9989", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/install/utils.ts": "d4634d4fc0e963f540402b4ca7eb5dcba340eaa0d8fceb43af57d722ad267115", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/main.ts": "ecd5e83be2d8f351058ad44424cad1f36dd2e3d76f6e8409afc47682a9eff01a", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/envs/inter.ts": "84805fa208754a08f185dca7a5236de3760bbc1d0df96af86ea5fd7778f827a2", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/envs/mod.ts": "5f37b9f155808f8d6d51e1f16f58c07914d8c7d8070bc5c2fb5076ab748798a7", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/envs/posix.ts": "09e410e3fea9c303a5148ff2a22697474320442b9fea0bd3fc932d6828fe820f", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/envs/reducer.ts": "50517084caaf73ce6618141ee4d97795060a0d3169651da7abd7251a3204465a", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/envs/types.ts": "ab9715cf02e9d73f553ae757db347863be23e1e9daf94d18aab716fc27b3dbc1", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/mod.ts": "fc1cb9176c6557b44ae9c6536fa51c6c4f80ac01fc476d15b0a217e70cb0d176", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/ambient.ts": "823ec8d98702a60e6bfcdbeb64b69dc9f5039e73a1f10e87cd51210c1aaf52d5", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/base.ts": "8ef8a8de372420bddcd63a1b363937f43d898059e99478a58621e8432bcd5891", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/db.ts": "a309d1058f66079a481141c3f1733d928b9af8a37b7ce911b1228f70fd24df0f", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/ghrel.ts": "ebbc30a5c31244131d937eadca73fbc099c9e7bdf0ad4f668766d4388ede143c", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/inter.ts": "b3999e73d73d7f928a8de86e5e2261fe6b1450ceedfb54f24537bf0803532ed0", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/mod.ts": "78db7040e724f84c95b1a0fdeaf0cfc53382482e8905cd352189756b953556cc", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/reducers.ts": "d04e813652101f67f946242df68429ed5540e499fbdb7776b8be5703f16754c8", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/sync.ts": "a7a297f6b098360d56af168692f3cff96f8ceeb5189e5baa249e094f8d9c42ef", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/types.ts": "f4dbd1a3f4b7f539b3a85418617d25adbf710b54144161880d48f6c4ec032eee", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/types/platform.ts": "0ecffeda71919293f9ffdb6c564ddea4f23bc85c4e640b08ea78225d34387fdc", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/utils.ts": "6b14b331cce66bd46e7aec51f02424327d819150f16d3f72a6b0aaf7aee43c09", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/ports/worker.ts": "6b76ba1efb2e47a82582fc48bcc6264fe153a166beffccde1a9a3a185024c337", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/std.ts": "419d6b04680f73f7b252257ab287d68c1571cee4347301c53278e2b53df21c4a", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/tasks/deno.ts": "2b9f33253ac1257eb79a4981cd221509aa9ecf8a3c36d7bd8be1cd6c1150100b", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/tasks/exec.ts": "6adcfe13f8d2da5d65331fd1601d4f950d9fc6f164bc9592204e5b08c23c5c30", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/tasks/inter.ts": "63e8f2860f7e3b4d95b6f61ca56aeb8567e4f265aa9c22cace6c8075edd6210f", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/tasks/mod.ts": "334b18d7c110cc05483be96353e342425c0033b7410c271a8a47d2b18308c73e", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/tasks/types.ts": "072a34bd0749428bad4d612cc86abe463d4d4f74dc56cf0a48a1f41650e2399b", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/modules/types.ts": "c0f212b686a2721d076e9aeb127596c7cbc939758e2cc32fd1d165a8fb320a87", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/port.ts": "c039a010dee7dfd978478cf4c5e2256c643135e10f33c30a09f8db9915e9d89d", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/setup_logger.ts": "f8a206bda0595497d6f4718032d4a959000b32ef3346d4b507777eec6a169458", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/utils/logger.ts": "fcbafb35ae4b812412b9b301ce6d06b8b9798f94ebebe3f92677e25e4b19af3c", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/utils/mod.ts": "25bfdd222d6afec5b3f0a7e647e3d9b12abed6d222b49a4b2e95c6bbe266f533", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/utils/unarchive.ts": "f6d0e9e75f470eeef5aecd0089169f4350fc30ebfdc05466bb7b30042294d6d3", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/utils/url.ts": "e1ada6fd30fc796b8918c88456ea1b5bbd87a07d0a0538b092b91fd2bb9b7623", - "https://raw.githubusercontent.com/metatypedev/ghjk/0.2.0/utils/worker.ts": "ac4caf72a36d2e4af4f4e92f2e0a95f9fc2324b568640f24c7c2ff6dc0c11d62", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/deps/cli.ts": "aac025f9372ad413b9c2663dc7f61affd597820d9448f010a510d541df3b56ea", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/deps/common.ts": "f775710b66a9099b98651cd3831906466e9b83ef98f2e5c080fd59ee801c28d4", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/deps/ports.ts": "3c60d1f7ab626ffdd81b37f4e83a780910936480da8fe24f4ccceaefa207d339", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/files/deno/mod.ts": "1b8204c3df18b908408b2148b48af788e669d0debbeb8ba119418ab1ddf1ab8f", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/files/deno/worker.ts": "8ded400d70a0bd40e281ceb1ffcdc82578443caf9c481b9eee77166472784282", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/host/mod.ts": "cc25d1f82e54e6a27eef4571145c3f34c4c8ad9148b3aa48bd3b53d1e078d95d", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/host/types.ts": "f450d9b9c0eced2650262d02455aa6f794de0edd6b052aade256882148e5697f", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/install/mod.ts": "aa54eb3e119f28d33e61645c89669da292ee00376068ead8f45be2807e7a9989", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/install/utils.ts": "d4634d4fc0e963f540402b4ca7eb5dcba340eaa0d8fceb43af57d722ad267115", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/main.ts": "ecd5e83be2d8f351058ad44424cad1f36dd2e3d76f6e8409afc47682a9eff01a", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/envs/inter.ts": "84805fa208754a08f185dca7a5236de3760bbc1d0df96af86ea5fd7778f827a2", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/envs/mod.ts": "5f37b9f155808f8d6d51e1f16f58c07914d8c7d8070bc5c2fb5076ab748798a7", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/envs/posix.ts": "09e410e3fea9c303a5148ff2a22697474320442b9fea0bd3fc932d6828fe820f", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/envs/reducer.ts": "50517084caaf73ce6618141ee4d97795060a0d3169651da7abd7251a3204465a", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/envs/types.ts": "ab9715cf02e9d73f553ae757db347863be23e1e9daf94d18aab716fc27b3dbc1", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/mod.ts": "fc1cb9176c6557b44ae9c6536fa51c6c4f80ac01fc476d15b0a217e70cb0d176", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/ambient.ts": "823ec8d98702a60e6bfcdbeb64b69dc9f5039e73a1f10e87cd51210c1aaf52d5", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/base.ts": "8ef8a8de372420bddcd63a1b363937f43d898059e99478a58621e8432bcd5891", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/db.ts": "a309d1058f66079a481141c3f1733d928b9af8a37b7ce911b1228f70fd24df0f", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/ghrel.ts": "ebbc30a5c31244131d937eadca73fbc099c9e7bdf0ad4f668766d4388ede143c", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/inter.ts": "b3999e73d73d7f928a8de86e5e2261fe6b1450ceedfb54f24537bf0803532ed0", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/mod.ts": "78db7040e724f84c95b1a0fdeaf0cfc53382482e8905cd352189756b953556cc", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/reducers.ts": "d04e813652101f67f946242df68429ed5540e499fbdb7776b8be5703f16754c8", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/sync.ts": "a7a297f6b098360d56af168692f3cff96f8ceeb5189e5baa249e094f8d9c42ef", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/types.ts": "f4dbd1a3f4b7f539b3a85418617d25adbf710b54144161880d48f6c4ec032eee", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/types/platform.ts": "0ecffeda71919293f9ffdb6c564ddea4f23bc85c4e640b08ea78225d34387fdc", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/utils.ts": "6b14b331cce66bd46e7aec51f02424327d819150f16d3f72a6b0aaf7aee43c09", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/ports/worker.ts": "6b76ba1efb2e47a82582fc48bcc6264fe153a166beffccde1a9a3a185024c337", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/std.ts": "419d6b04680f73f7b252257ab287d68c1571cee4347301c53278e2b53df21c4a", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/tasks/deno.ts": "2b9f33253ac1257eb79a4981cd221509aa9ecf8a3c36d7bd8be1cd6c1150100b", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/tasks/exec.ts": "6adcfe13f8d2da5d65331fd1601d4f950d9fc6f164bc9592204e5b08c23c5c30", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/tasks/inter.ts": "63e8f2860f7e3b4d95b6f61ca56aeb8567e4f265aa9c22cace6c8075edd6210f", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/tasks/mod.ts": "334b18d7c110cc05483be96353e342425c0033b7410c271a8a47d2b18308c73e", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/tasks/types.ts": "072a34bd0749428bad4d612cc86abe463d4d4f74dc56cf0a48a1f41650e2399b", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/modules/types.ts": "c0f212b686a2721d076e9aeb127596c7cbc939758e2cc32fd1d165a8fb320a87", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/port.ts": "c039a010dee7dfd978478cf4c5e2256c643135e10f33c30a09f8db9915e9d89d", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/setup_logger.ts": "f8a206bda0595497d6f4718032d4a959000b32ef3346d4b507777eec6a169458", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/utils/logger.ts": "fcbafb35ae4b812412b9b301ce6d06b8b9798f94ebebe3f92677e25e4b19af3c", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/utils/mod.ts": "25bfdd222d6afec5b3f0a7e647e3d9b12abed6d222b49a4b2e95c6bbe266f533", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/utils/unarchive.ts": "f6d0e9e75f470eeef5aecd0089169f4350fc30ebfdc05466bb7b30042294d6d3", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/utils/url.ts": "e1ada6fd30fc796b8918c88456ea1b5bbd87a07d0a0538b092b91fd2bb9b7623", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.0/utils/worker.ts": "ac4caf72a36d2e4af4f4e92f2e0a95f9fc2324b568640f24c7c2ff6dc0c11d62", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/deps/cli.ts": "aac025f9372ad413b9c2663dc7f61affd597820d9448f010a510d541df3b56ea", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/deps/common.ts": "f775710b66a9099b98651cd3831906466e9b83ef98f2e5c080fd59ee801c28d4", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/deps/ports.ts": "3c60d1f7ab626ffdd81b37f4e83a780910936480da8fe24f4ccceaefa207d339", diff --git a/deno.lock b/deno.lock index f325caf56..0438c272c 100644 --- a/deno.lock +++ b/deno.lock @@ -4,68 +4,49 @@ "specifiers": { "jsr:@david/dax@0.41.0": "jsr:@david/dax@0.41.0", "jsr:@david/which@^0.4.1": "jsr:@david/which@0.4.1", - "jsr:@std/archive@^0.225.0": "jsr:@std/archive@0.225.4", "jsr:@std/assert@^0.221.0": "jsr:@std/assert@0.221.0", - "jsr:@std/assert@^1.0.6": "jsr:@std/assert@1.0.9", - "jsr:@std/assert@^1.0.9": "jsr:@std/assert@1.0.9", - "jsr:@std/async@1.0.9": "jsr:@std/async@1.0.9", + "jsr:@std/assert@^1.0.10": "jsr:@std/assert@1.0.10", + "jsr:@std/assert@^1.0.6": "jsr:@std/assert@1.0.10", "jsr:@std/async@^1.0.3": "jsr:@std/async@1.0.9", "jsr:@std/bytes@^0.221.0": "jsr:@std/bytes@0.221.0", "jsr:@std/bytes@^1.0.2": "jsr:@std/bytes@1.0.4", - "jsr:@std/bytes@^1.0.2-rc.3": "jsr:@std/bytes@1.0.4", "jsr:@std/bytes@^1.0.3": "jsr:@std/bytes@1.0.4", - "jsr:@std/cli@^1.0.3": "jsr:@std/cli@1.0.8", - "jsr:@std/cli@^1.0.4": "jsr:@std/cli@1.0.8", + "jsr:@std/cli@^1.0.3": "jsr:@std/cli@1.0.10", + "jsr:@std/cli@^1.0.4": "jsr:@std/cli@1.0.10", "jsr:@std/collections@^1.0.5": "jsr:@std/collections@1.0.9", "jsr:@std/crypto@^1.0.2": "jsr:@std/crypto@1.0.3", "jsr:@std/crypto@^1.0.3": "jsr:@std/crypto@1.0.3", - "jsr:@std/encoding@^1.0.2": "jsr:@std/encoding@1.0.5", + "jsr:@std/encoding@^1.0.2": "jsr:@std/encoding@1.0.6", "jsr:@std/fmt@^0.221.0": "jsr:@std/fmt@0.221.0", - "jsr:@std/fmt@^1.0.0": "jsr:@std/fmt@1.0.3", - "jsr:@std/fmt@^1.0.2": "jsr:@std/fmt@1.0.2", - "jsr:@std/fmt@^1.0.3": "jsr:@std/fmt@1.0.3", + "jsr:@std/fmt@^1.0.0": "jsr:@std/fmt@1.0.4", + "jsr:@std/fmt@^1.0.4": "jsr:@std/fmt@1.0.4", "jsr:@std/fs@0.221.0": "jsr:@std/fs@0.221.0", - "jsr:@std/fs@^1.0.1": "jsr:@std/fs@1.0.6", - "jsr:@std/fs@^1.0.3": "jsr:@std/fs@1.0.3", - "jsr:@std/fs@^1.0.6": "jsr:@std/fs@1.0.6", + "jsr:@std/fs@^1.0.1": "jsr:@std/fs@1.0.9", + "jsr:@std/fs@^1.0.9": "jsr:@std/fs@1.0.9", "jsr:@std/http@^1.0.3": "jsr:@std/http@1.0.12", "jsr:@std/internal@^1.0.5": "jsr:@std/internal@1.0.5", "jsr:@std/io@0.221.0": "jsr:@std/io@0.221.0", "jsr:@std/io@^0.221.0": "jsr:@std/io@0.221.0", - "jsr:@std/io@^0.224.5": "jsr:@std/io@0.224.7", - "jsr:@std/io@^0.224.7": "jsr:@std/io@0.224.7", - "jsr:@std/io@^0.224.9": "jsr:@std/io@0.224.9", "jsr:@std/io@^0.225.0": "jsr:@std/io@0.225.0", - "jsr:@std/log@^0.224.5": "jsr:@std/log@0.224.11", + "jsr:@std/log@^0.224.5": "jsr:@std/log@0.224.13", "jsr:@std/path@0.221.0": "jsr:@std/path@0.221.0", "jsr:@std/path@^0.221.0": "jsr:@std/path@0.221.0", "jsr:@std/path@^1.0.2": "jsr:@std/path@1.0.8", - "jsr:@std/path@^1.0.4": "jsr:@std/path@1.0.4", "jsr:@std/path@^1.0.8": "jsr:@std/path@1.0.8", "jsr:@std/semver@^1.0.1": "jsr:@std/semver@1.0.3", "jsr:@std/streams@0.221.0": "jsr:@std/streams@0.221.0", "jsr:@std/streams@1": "jsr:@std/streams@1.0.8", - "jsr:@std/streams@^1.0.2": "jsr:@std/streams@1.0.8", - "jsr:@std/testing@^1.0.1": "jsr:@std/testing@1.0.6", + "jsr:@std/testing@^1.0.1": "jsr:@std/testing@1.0.9", "jsr:@std/uuid@^1.0.1": "jsr:@std/uuid@1.0.4", "jsr:@std/yaml@^1.0.4": "jsr:@std/yaml@1.0.5", "npm:@noble/hashes@1.4.0": "npm:@noble/hashes@1.4.0", "npm:@sentry/node@7.70.0": "npm:@sentry/node@7.70.0", - "npm:@sinonjs/fake-timers@13.0.5": "npm:@sinonjs/fake-timers@13.0.5", "npm:@types/node": "npm:@types/node@18.16.19", - "npm:ajv": "npm:ajv@8.17.1", - "npm:ajv-formats": "npm:ajv-formats@3.0.1", "npm:chance@1.1.11": "npm:chance@1.1.11", "npm:graphql@16.8.1": "npm:graphql@16.8.1", - "npm:js-yaml": "npm:js-yaml@3.14.1", - "npm:json-schema-faker@0.5.3": "npm:json-schema-faker@0.5.3", "npm:lodash@4.17.21": "npm:lodash@4.17.21", - "npm:marked": "npm:marked@15.0.3", - "npm:mathjs@11.11.1": "npm:mathjs@11.11.1", "npm:multiformats@13.1.0": "npm:multiformats@13.1.0", - "npm:pg@8.12.0": "npm:pg@8.12.0", "npm:validator@13.12.0": "npm:validator@13.12.0", - "npm:yaml": "npm:yaml@2.6.1", "npm:zod-validation-error@3.3.0": "npm:zod-validation-error@3.3.0_zod@3.23.8", "npm:zod@3.23.8": "npm:zod@3.23.8" }, @@ -84,20 +65,11 @@ "@david/which@0.4.1": { "integrity": "896a682b111f92ab866cc70c5b4afab2f5899d2f9bde31ed00203b9c250f225e" }, - "@std/archive@0.225.4": { - "integrity": "59fe5d1834cbb6a2a7913b102d41c11d51475328d5b843bea75b94a40b44a115", - "dependencies": [ - "jsr:@std/io@^0.224.9" - ] - }, "@std/assert@0.221.0": { "integrity": "a5f1aa6e7909dbea271754fd4ab3f4e687aeff4873b4cef9a320af813adb489a" }, - "@std/assert@1.0.6": { - "integrity": "1904c05806a25d94fe791d6d883b685c9e2dcd60e4f9fc30f4fc5cf010c72207" - }, - "@std/assert@1.0.9": { - "integrity": "a9f0c611a869cc791b26f523eec54c7e187aab7932c2c8e8bea0622d13680dcd", + "@std/assert@1.0.10": { + "integrity": "59b5cbac5bd55459a19045d95cc7c2ff787b4f8527c0dd195078ff6f9481fbb3", "dependencies": [ "jsr:@std/internal@^1.0.5" ] @@ -108,20 +80,11 @@ "@std/bytes@0.221.0": { "integrity": "64a047011cf833890a4a2ab7293ac55a1b4f5a050624ebc6a0159c357de91966" }, - "@std/bytes@1.0.2": { - "integrity": "fbdee322bbd8c599a6af186a1603b3355e59a5fb1baa139f8f4c3c9a1b3e3d57" - }, "@std/bytes@1.0.4": { "integrity": "11a0debe522707c95c7b7ef89b478c13fb1583a7cfb9a85674cd2cc2e3a28abc" }, - "@std/cli@1.0.5": { - "integrity": "c93cce26ffd26f617c15a12874e1bfeabc90b1eee86017c9639093734c2bf587" - }, - "@std/cli@1.0.8": { - "integrity": "3762d8dc9a373715c08d871c38d45e637b25266f013a1d0bbe560bca409de94e" - }, - "@std/collections@1.0.5": { - "integrity": "ab9eac23b57a0c0b89ba45134e61561f69f3d001f37235a248ed40be260c0c10" + "@std/cli@1.0.10": { + "integrity": "d047f6f4954a5c2827fe0963765ddd3d8b6cc7b7518682842645b95f571539dc" }, "@std/collections@1.0.9": { "integrity": "4f58104ead08a04a2199374247f07befe50ba01d9cca8cbb23ab9a0419921e71" @@ -129,20 +92,14 @@ "@std/crypto@1.0.3": { "integrity": "a2a32f51ddef632d299e3879cd027c630dcd4d1d9a5285d6e6788072f4e51e7f" }, - "@std/encoding@1.0.4": { - "integrity": "2266cd516b32369e3dc5695717c96bf88343a1f761d6e6187a02a2bbe2af86ae" - }, - "@std/encoding@1.0.5": { - "integrity": "ecf363d4fc25bd85bd915ff6733a7e79b67e0e7806334af15f4645c569fefc04" + "@std/encoding@1.0.6": { + "integrity": "ca87122c196e8831737d9547acf001766618e78cd8c33920776c7f5885546069" }, "@std/fmt@0.221.0": { "integrity": "379fed69bdd9731110f26b9085aeb740606b20428ce6af31ef6bd45ef8efa62a" }, - "@std/fmt@1.0.2": { - "integrity": "87e9dfcdd3ca7c066e0c3c657c1f987c82888eb8103a3a3baa62684ffeb0f7a7" - }, - "@std/fmt@1.0.3": { - "integrity": "97765c16aa32245ff4e2204ecf7d8562496a3cb8592340a80e7e554e0bb9149f" + "@std/fmt@1.0.4": { + "integrity": "e14fe5bedee26f80877e6705a97a79c7eed599e81bb1669127ef9e8bc1e29a74" }, "@std/fs@0.221.0": { "integrity": "028044450299de8ed5a716ade4e6d524399f035513b85913794f4e81f07da286", @@ -151,14 +108,8 @@ "jsr:@std/path@^0.221.0" ] }, - "@std/fs@1.0.3": { - "integrity": "3cb839b1360b0a42d8b367c3093bfe4071798e6694fa44cf1963e04a8edba4fe", - "dependencies": [ - "jsr:@std/path@^1.0.4" - ] - }, - "@std/fs@1.0.6": { - "integrity": "42b56e1e41b75583a21d5a37f6a6a27de9f510bcd36c0c85791d685ca0b85fa2", + "@std/fs@1.0.9": { + "integrity": "3eef7e3ed3d317b29432c7dcb3b20122820dbc574263f721cb0248ad91bad890", "dependencies": [ "jsr:@std/path@^1.0.8" ] @@ -166,9 +117,6 @@ "@std/http@1.0.12": { "integrity": "85246d8bfe9c8e2538518725b158bdc31f616e0869255f4a8d9e3de919cab2aa" }, - "@std/http@1.0.5": { - "integrity": "afa1cf4f0c19e224534df3288a84de4fdfffe8a26308dfe3794166e4fafe0f3d" - }, "@std/internal@1.0.5": { "integrity": "54a546004f769c1ac9e025abd15a76b6671ddc9687e2313b67376125650dc7ba" }, @@ -179,46 +127,23 @@ "jsr:@std/bytes@^0.221.0" ] }, - "@std/io@0.224.7": { - "integrity": "a70848793c44a7c100926571a8c9be68ba85487bfcd4d0540d86deabe1123dc9", - "dependencies": [ - "jsr:@std/bytes@^1.0.2" - ] - }, - "@std/io@0.224.9": { - "integrity": "4414664b6926f665102e73c969cfda06d2c4c59bd5d0c603fd4f1b1c840d6ee3", - "dependencies": [ - "jsr:@std/bytes@^1.0.2" - ] - }, "@std/io@0.225.0": { "integrity": "c1db7c5e5a231629b32d64b9a53139445b2ca640d828c26bf23e1c55f8c079b3" }, - "@std/log@0.224.11": { - "integrity": "df5e5a6d6ab8bcea016a17982cd2435f65234d6618bf631925587c0b2eae2a4e", + "@std/log@0.224.13": { + "integrity": "f04d82f676c9eb4306194ca166d296d9f1456fe4b7edf2a404a0d55c94d31df7", "dependencies": [ - "jsr:@std/fmt@^1.0.3", - "jsr:@std/fs@^1.0.6", + "jsr:@std/fmt@^1.0.4", + "jsr:@std/fs@^1.0.9", "jsr:@std/io@^0.225.0" ] }, - "@std/log@0.224.7": { - "integrity": "021941e5cd16de60cb11599c9b36f892aea95987fe66c753922808da27909e18", - "dependencies": [ - "jsr:@std/fmt@^1.0.2", - "jsr:@std/fs@^1.0.3", - "jsr:@std/io@^0.224.7" - ] - }, "@std/path@0.221.0": { "integrity": "0a36f6b17314ef653a3a1649740cc8db51b25a133ecfe838f20b79a56ebe0095", "dependencies": [ "jsr:@std/assert@^0.221.0" ] }, - "@std/path@1.0.4": { - "integrity": "48dd5d8389bcfcd619338a01bdf862cb7799933390146a54ae59356a0acc7105" - }, "@std/path@1.0.8": { "integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be" }, @@ -231,34 +156,21 @@ "jsr:@std/io@^0.221.0" ] }, - "@std/streams@1.0.1": { - "integrity": "b07008b83fd7ae08965920d0fd700e07caf233bdd81e0ef1c8cca6c4140da364", - "dependencies": [ - "jsr:@std/bytes@^1.0.2-rc.3" - ] - }, "@std/streams@1.0.8": { "integrity": "b41332d93d2cf6a82fe4ac2153b930adf1a859392931e2a19d9fabfb6f154fb3", "dependencies": [ "jsr:@std/bytes@^1.0.3" ] }, - "@std/testing@1.0.6": { - "integrity": "9192ded2d34065f4c959fdc1921fe836770abb9194410c2cc8a0fff4eff5c893", + "@std/testing@1.0.9": { + "integrity": "9bdd4ac07cb13e7594ac30e90f6ceef7254ac83a9aeaa089be0008f33aab5cd4", "dependencies": [ - "jsr:@std/assert@^1.0.9", - "jsr:@std/fs@^1.0.6", + "jsr:@std/assert@^1.0.10", + "jsr:@std/fs@^1.0.9", "jsr:@std/internal@^1.0.5", "jsr:@std/path@^1.0.8" ] }, - "@std/uuid@1.0.3": { - "integrity": "843b5adb6ab387344751c4255629dba484ca4a3e998c3566d709404855cd62b7", - "dependencies": [ - "jsr:@std/bytes@^1.0.2", - "jsr:@std/crypto@^1.0.3" - ] - }, "@std/uuid@1.0.4": { "integrity": "f4233149cc8b4753cc3763fd83a7c4101699491f55c7be78dc7b30281946d7a0", "dependencies": [ @@ -271,12 +183,6 @@ } }, "npm": { - "@babel/runtime@7.25.9": { - "integrity": "sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg==", - "dependencies": { - "regenerator-runtime": "regenerator-runtime@0.14.1" - } - }, "@noble/hashes@1.4.0": { "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "dependencies": {} @@ -287,7 +193,7 @@ "@sentry/core": "@sentry/core@7.70.0", "@sentry/types": "@sentry/types@7.70.0", "@sentry/utils": "@sentry/utils@7.70.0", - "tslib": "tslib@2.7.0" + "tslib": "tslib@2.8.1" } }, "@sentry/core@7.70.0": { @@ -295,7 +201,7 @@ "dependencies": { "@sentry/types": "@sentry/types@7.70.0", "@sentry/utils": "@sentry/utils@7.70.0", - "tslib": "tslib@2.7.0" + "tslib": "tslib@2.8.1" } }, "@sentry/node@7.70.0": { @@ -308,7 +214,7 @@ "cookie": "cookie@0.5.0", "https-proxy-agent": "https-proxy-agent@5.0.1", "lru_map": "lru_map@0.3.3", - "tslib": "tslib@2.7.0" + "tslib": "tslib@2.8.1" } }, "@sentry/types@7.70.0": { @@ -319,19 +225,7 @@ "integrity": "sha512-0cChMH0lsGp+5I3D4wOHWwjFN19HVrGUs7iWTLTO5St3EaVbdeLbI1vFXHxMxvopbwgpeZafbreHw/loIdZKpw==", "dependencies": { "@sentry/types": "@sentry/types@7.70.0", - "tslib": "tslib@2.7.0" - } - }, - "@sinonjs/commons@3.0.1": { - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dependencies": { - "type-detect": "type-detect@4.0.8" - } - }, - "@sinonjs/fake-timers@13.0.5": { - "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", - "dependencies": { - "@sinonjs/commons": "@sinonjs/commons@3.0.1" + "tslib": "tslib@2.8.1" } }, "@types/node@18.16.19": { @@ -341,78 +235,23 @@ "agent-base@6.0.2": { "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { - "debug": "debug@4.3.6" + "debug": "debug@4.4.0" } }, - "ajv-formats@3.0.1": { - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dependencies": {} - }, - "ajv@8.17.1": { - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dependencies": { - "fast-deep-equal": "fast-deep-equal@3.1.3", - "fast-uri": "fast-uri@3.0.4", - "json-schema-traverse": "json-schema-traverse@1.0.0", - "require-from-string": "require-from-string@2.0.2" - } - }, - "argparse@1.0.10": { - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "sprintf-js@1.0.3" - } - }, - "call-me-maybe@1.0.2": { - "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", - "dependencies": {} - }, "chance@1.1.11": { "integrity": "sha512-kqTg3WWywappJPqtgrdvbA380VoXO2eu9VCV895JgbyHsaErXdyHK9LOZ911OvAk6L0obK7kDk9CGs8+oBawVA==", "dependencies": {} }, - "complex.js@2.3.0": { - "integrity": "sha512-wWHzifVdUPbPBhh+ObvpVGIzrAQjTvmnnEJKBfLW5YbyAB6OXQ0r+Q92fByMIrSSlxUuCujqxriJSR6R/kVxPA==", - "dependencies": {} - }, "cookie@0.5.0": { "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dependencies": {} }, - "debug@4.3.6": { - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "debug@4.4.0": { + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dependencies": { - "ms": "ms@2.1.2" + "ms": "ms@2.1.3" } }, - "decimal.js@10.4.3": { - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dependencies": {} - }, - "escape-latex@1.2.0": { - "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==", - "dependencies": {} - }, - "esprima@4.0.1": { - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dependencies": {} - }, - "fast-deep-equal@3.1.3": { - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dependencies": {} - }, - "fast-uri@3.0.4": { - "integrity": "sha512-G3iTQw1DizJQ5eEqj1CbFCWhq+pzum7qepkxU7rS1FGZDqjYKcrguo9XDRbV7EgPnn8CgaPigTq+NEjyioeYZQ==", - "dependencies": {} - }, - "format-util@1.0.5": { - "integrity": "sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==", - "dependencies": {} - }, - "fraction.js@4.3.4": { - "integrity": "sha512-pwiTgt0Q7t+GHZA4yaLjObx4vXmmdcS0iSJ19o8d/goUGgItX9UZWKWNnLHehxviD8wU2IWRsnR8cD5+yOJP2Q==", - "dependencies": {} - }, "graphql@16.8.1": { "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", "dependencies": {} @@ -421,43 +260,9 @@ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dependencies": { "agent-base": "agent-base@6.0.2", - "debug": "debug@4.3.6" - } - }, - "javascript-natural-sort@0.7.1": { - "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==", - "dependencies": {} - }, - "js-yaml@3.14.1": { - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "argparse@1.0.10", - "esprima": "esprima@4.0.1" - } - }, - "json-schema-faker@0.5.3": { - "integrity": "sha512-BeIrR0+YSrTbAR9dOMnjbFl1MvHyXnq+Wpdw1FpWZDHWKLzK229hZ5huyPcmzFUfVq1ODwf40WdGVoE266UBUg==", - "dependencies": { - "json-schema-ref-parser": "json-schema-ref-parser@6.1.0", - "jsonpath-plus": "jsonpath-plus@7.2.0" + "debug": "debug@4.4.0" } }, - "json-schema-ref-parser@6.1.0": { - "integrity": "sha512-pXe9H1m6IgIpXmE5JSb8epilNTGsmTb2iPohAXpOdhqGFbQjNeHHsZxU+C8w6T81GZxSPFLeUoqDJmzxx5IGuw==", - "dependencies": { - "call-me-maybe": "call-me-maybe@1.0.2", - "js-yaml": "js-yaml@3.14.1", - "ono": "ono@4.0.11" - } - }, - "json-schema-traverse@1.0.0": { - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dependencies": {} - }, - "jsonpath-plus@7.2.0": { - "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==", - "dependencies": {} - }, "lodash@4.17.21": { "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dependencies": {} @@ -466,153 +271,22 @@ "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", "dependencies": {} }, - "marked@15.0.3": { - "integrity": "sha512-Ai0cepvl2NHnTcO9jYDtcOEtVBNVYR31XnEA3BndO7f5As1wzpcOceSUM8FDkNLJNIODcLpDTWay/qQhqbuMvg==", - "dependencies": {} - }, - "mathjs@11.11.1": { - "integrity": "sha512-uWrwMrhU31TCqHKmm1yFz0C352njGUVr/I1UnpMOxI/VBTTbCktx/mREUXx5Vyg11xrFdg/F3wnMM7Ql/csVsQ==", - "dependencies": { - "@babel/runtime": "@babel/runtime@7.25.9", - "complex.js": "complex.js@2.3.0", - "decimal.js": "decimal.js@10.4.3", - "escape-latex": "escape-latex@1.2.0", - "fraction.js": "fraction.js@4.3.4", - "javascript-natural-sort": "javascript-natural-sort@0.7.1", - "seedrandom": "seedrandom@3.0.5", - "tiny-emitter": "tiny-emitter@2.1.0", - "typed-function": "typed-function@4.2.1" - } - }, - "ms@2.1.2": { - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "ms@2.1.3": { + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dependencies": {} }, "multiformats@13.1.0": { "integrity": "sha512-HzdtdBwxsIkzpeXzhQ5mAhhuxcHbjEHH+JQoxt7hG/2HGFjjwyolLo7hbaexcnhoEuV4e0TNJ8kkpMjiEYY4VQ==", "dependencies": {} }, - "ono@4.0.11": { - "integrity": "sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==", - "dependencies": { - "format-util": "format-util@1.0.5" - } - }, - "pg-cloudflare@1.1.1": { - "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", - "dependencies": {} - }, - "pg-connection-string@2.7.0": { - "integrity": "sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==", - "dependencies": {} - }, - "pg-int8@1.0.1": { - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "dependencies": {} - }, - "pg-pool@3.7.0_pg@8.12.0": { - "integrity": "sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==", - "dependencies": { - "pg": "pg@8.12.0" - } - }, - "pg-protocol@1.7.0": { - "integrity": "sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==", - "dependencies": {} - }, - "pg-types@2.2.0": { - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "dependencies": { - "pg-int8": "pg-int8@1.0.1", - "postgres-array": "postgres-array@2.0.0", - "postgres-bytea": "postgres-bytea@1.0.0", - "postgres-date": "postgres-date@1.0.7", - "postgres-interval": "postgres-interval@1.2.0" - } - }, - "pg@8.12.0": { - "integrity": "sha512-A+LHUSnwnxrnL/tZ+OLfqR1SxLN3c/pgDztZ47Rpbsd4jUytsTtwQo/TLPRzPJMp/1pbhYVhH9cuSZLAajNfjQ==", - "dependencies": { - "pg-cloudflare": "pg-cloudflare@1.1.1", - "pg-connection-string": "pg-connection-string@2.7.0", - "pg-pool": "pg-pool@3.7.0_pg@8.12.0", - "pg-protocol": "pg-protocol@1.7.0", - "pg-types": "pg-types@2.2.0", - "pgpass": "pgpass@1.0.5" - } - }, - "pgpass@1.0.5": { - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "dependencies": { - "split2": "split2@4.2.0" - } - }, - "postgres-array@2.0.0": { - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "dependencies": {} - }, - "postgres-bytea@1.0.0": { - "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", - "dependencies": {} - }, - "postgres-date@1.0.7": { - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "dependencies": {} - }, - "postgres-interval@1.2.0": { - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "dependencies": { - "xtend": "xtend@4.0.2" - } - }, - "regenerator-runtime@0.14.1": { - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dependencies": {} - }, - "require-from-string@2.0.2": { - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dependencies": {} - }, - "seedrandom@3.0.5": { - "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", - "dependencies": {} - }, - "split2@4.2.0": { - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dependencies": {} - }, - "sprintf-js@1.0.3": { - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dependencies": {} - }, - "tiny-emitter@2.1.0": { - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", - "dependencies": {} - }, - "tslib@2.7.0": { - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "dependencies": {} - }, - "type-detect@4.0.8": { - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dependencies": {} - }, - "typed-function@4.2.1": { - "integrity": "sha512-EGjWssW7Tsk4DGfE+5yluuljS1OGYWiI1J6e8puZz9nTMM51Oug8CD5Zo4gWMsOhq5BI+1bF+rWTm4Vbj3ivRA==", + "tslib@2.8.1": { + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dependencies": {} }, "validator@13.12.0": { "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", "dependencies": {} }, - "xtend@4.0.2": { - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dependencies": {} - }, - "yaml@2.6.1": { - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", - "dependencies": {} - }, "zod-validation-error@3.3.0_zod@3.23.8": { "integrity": "sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==", "dependencies": { @@ -626,13 +300,26 @@ } }, "redirects": { - "https://cdn.pika.dev/big.js/^5.2.2": "https://cdn.skypack.dev/big.js@^5.2.2", - "https://deno.land/x/marked/mod.ts": "https://deno.land/x/marked@1.0.2/mod.ts", + "https://esm.sh/@types/core-util-is@~1.0.1/index.d.ts": "https://esm.sh/@types/core-util-is@1.0.1/index.d.ts", + "https://esm.sh/@types/immediate@~3.2.2/index.d.ts": "https://esm.sh/@types/immediate@3.2.2/index.d.ts", + "https://esm.sh/@types/pako@~1.0.7/index.d.ts": "https://esm.sh/@types/pako@1.0.7/index.d.ts", + "https://esm.sh/@types/readable-stream@~2.3.15/index.d.ts": "https://esm.sh/@types/readable-stream@2.3.15/index.d.ts", + "https://esm.sh/@types/util-deprecate@~1.0.4/index.d.ts": "https://esm.sh/@types/util-deprecate@1.0.4/index.d.ts", + "https://esm.sh/core-util-is@~1.0.0?target=denonext": "https://esm.sh/core-util-is@1.0.3?target=denonext", + "https://esm.sh/immediate@~3.0.5?target=denonext": "https://esm.sh/immediate@3.0.6?target=denonext", + "https://esm.sh/isarray@~1.0.0?target=denonext": "https://esm.sh/isarray@1.0.0?target=denonext", + "https://esm.sh/lie@~3.3.0?target=denonext": "https://esm.sh/lie@3.3.0?target=denonext", + "https://esm.sh/pako@~1.0.2?target=denonext": "https://esm.sh/pako@1.0.11?target=denonext", + "https://esm.sh/process-nextick-args@~2.0.0?target=denonext": "https://esm.sh/process-nextick-args@2.0.1?target=denonext", + "https://esm.sh/readable-stream@~2.3.6?target=denonext": "https://esm.sh/readable-stream@2.3.8?target=denonext", + "https://esm.sh/safe-buffer@~5.1.0?target=denonext": "https://esm.sh/safe-buffer@5.1.2?target=denonext", + "https://esm.sh/safe-buffer@~5.1.1?target=denonext": "https://esm.sh/safe-buffer@5.1.2?target=denonext", + "https://esm.sh/set-immediate-shim@~1.0.1?target=denonext": "https://esm.sh/set-immediate-shim@1.0.1?target=denonext", + "https://esm.sh/string_decoder@~1.1.1?target=denonext": "https://esm.sh/string_decoder@1.1.1?target=denonext", + "https://esm.sh/util-deprecate@~1.0.1?target=denonext": "https://esm.sh/util-deprecate@1.0.2?target=denonext", "https://github.com/levibostian/deno-udd/raw/ignore-prerelease/mod.ts": "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/mod.ts" }, "remote": { - "https://cdn.skypack.dev/-/big.js@v5.2.2-sUR8fKsGHRxsJyqyvOSP/dist=es2019,mode=imports/optimized/bigjs.js": "b6d8e6af0c1f7bdc7e8cd0890819ecee2dcbb0776ec4089eae281de8ebd7b2bd", - "https://cdn.skypack.dev/big.js@^5.2.2": "f74e8935c06af6664d64a5534d1d6db1ab66649df8164696117ab5a1cd10714e", "https://deno.land/std@0.116.0/_util/assert.ts": "2f868145a042a11d5ad0a3c748dcf580add8a0dbc0e876eaa0026303a5488f58", "https://deno.land/std@0.116.0/_util/os.ts": "dfb186cc4e968c770ab6cc3288bd65f4871be03b93beecae57d657232ecffcac", "https://deno.land/std@0.116.0/fs/walk.ts": "31464d75099aa3fc7764212576a8772dfabb2692783e6eabb910f874a26eac54", @@ -1093,14 +780,6 @@ "https://deno.land/x/cliffy@v1.0.0-rc.4/table/table.ts": "298671e72e61f1ab18b42ae36643181993f79e29b39dc411fdc6ffd53aa04684", "https://deno.land/x/code_block_writer@12.0.0/mod.ts": "2c3448060e47c9d08604c8f40dee34343f553f33edcdfebbf648442be33205e5", "https://deno.land/x/code_block_writer@12.0.0/utils/string_utils.ts": "60cb4ec8bd335bf241ef785ccec51e809d576ff8e8d29da43d2273b69ce2a6ff", - "https://deno.land/x/color_util@1.0.1/colors/cmykcolor.ts": "f717cee02bdec255c7c2879b55033da7547d46c1fbb8ada7980d49bd2c1554ee", - "https://deno.land/x/color_util@1.0.1/colors/hexcolor.ts": "3b75112b8d693f157d3e6367f9ec44779f3ccef7c7b5f8e0859897f51eb05c4f", - "https://deno.land/x/color_util@1.0.1/colors/hsbcolor.ts": "bdfe171f7e6de43625ea4a33bce2b25dec410fa67f34af71821a6c73f4e23351", - "https://deno.land/x/color_util@1.0.1/colors/hslcolor.ts": "2c61e987dc49822444adbd62249e33cc6fd6a0a33a20fcb287240cf96e6ef41f", - "https://deno.land/x/color_util@1.0.1/colors/hwbcolor.ts": "d1e9558d89c6fbd1b6a7f9bb86fc9c93e114a8e0eb614aee83cbc8201a67f15a", - "https://deno.land/x/color_util@1.0.1/colors/mod.ts": "31099d332b123efc9d3ae0016173daba7cb8242440bf198851a34b339c69a555", - "https://deno.land/x/color_util@1.0.1/colors/rgbcolor.ts": "384ceac5fd708cb6515df2a371de6bf1eea58376003c7015d82819c7809a1b26", - "https://deno.land/x/color_util@1.0.1/mod.ts": "d79c71f1c6583c56cdf56963d020928fdef05d8060d59601fe4f46f7ee1488fd", "https://deno.land/x/compress@v0.4.5/deps.ts": "096395daebc7ed8a18f0484e4ffcc3a7f70e50946735f7df9611a7fcfd8272cc", "https://deno.land/x/convert_bytes@v2.1.1/mod.ts": "036bd2d9519c8ad44bd5a15d4e42123dc16843f793b3c81ca1fca905b21dd7df", "https://deno.land/x/convert_bytes@v2.1.1/src/unit.ts": "ebfa749b09d2f6cf16a3a6cae5ab6042ae66667b9780071cbb933fcbdcff9731", @@ -1151,9 +830,6 @@ "https://deno.land/x/dnt@0.38.1/lib/utils.ts": "878b7ac7003a10c16e6061aa49dbef9b42bd43174853ebffc9b67ea47eeb11d8", "https://deno.land/x/dnt@0.38.1/mod.ts": "b13349fe77847cf58e26b40bcd58797a8cec5d71b31a1ca567071329c8489de1", "https://deno.land/x/dnt@0.38.1/transform.ts": "f68743a14cf9bf53bfc9c81073871d69d447a7f9e3453e0447ca2fb78926bb1d", - "https://deno.land/x/download@v1.0.1/download.ts": "b42f26df5f5816573ad57c8877cf8755947a0795fa51036e5c123c84ff08022b", - "https://deno.land/x/download@v1.0.1/mod.ts": "5449293b77155a9371b67e484d327ba3f9a6f56fc9ab733f19b045a4a2369fec", - "https://deno.land/x/download@v1.0.1/types.ts": "9bbae77a97fcc13a5abddceb2048ab76f3b2fccf71ed99a542dbc225c27d9329", "https://deno.land/x/foras@v2.1.4/src/deno/mod.ts": "c350ea5f32938e6dcb694df3761615f316d730dafc57440e9afd5f36f8e309fd", "https://deno.land/x/foras@v2.1.4/src/deno/mods/mod.ts": "cc099bbce378f3cdaa94303e8aff2611e207442e5ac2d5161aba636bb4a95b46", "https://deno.land/x/foras@v2.1.4/wasm/pkg/foras.js": "06f8875b456918b9671d52133f64f3047f1c95540feda87fdd4a55ba3d30091d", @@ -1163,33 +839,6 @@ "https://deno.land/x/jszip@0.11.0/mod.ts": "5661ddc18e9ac9c07e3c5d2483bc912a7022b6af0d784bb7b05035973e640ba1", "https://deno.land/x/jszip@0.11.0/types.ts": "1528d1279fbb64dd118c371331c641a3a5eff2b594336fb38a7659cf4c53b2d1", "https://deno.land/x/levenshtein@v1.0.1/mod.ts": "6b632d4a9bb11ba6d5d02a770c7fc9b0a4125f30bd9c668632ff85e7f05ff4f6", - "https://deno.land/x/marked@1.0.2/mod.ts": "57e4fd38be13ae9efd001704eea481570fce83fe502f4fb64aba140fd7fd75cb", - "https://deno.land/x/math@v1.1.0/abs.ts": "d64fe603ae4bb57037f06a1a5004285b99ed016dab6bfcded07c8155efce24b7", - "https://deno.land/x/math@v1.1.0/big/mod.ts": "ba561f56a24ecc9f03542693ed0c81166ed0c921f8017d220ec70c963e935509", - "https://deno.land/x/math@v1.1.0/div.ts": "5dda45b8bb5c1f778f2cfb28cbee648c5c7aa818f915acce336651fd13994f07", - "https://deno.land/x/math@v1.1.0/eq.ts": "145727b71b5bdd993c5d44fd9c9089419dac508527ef3812c590aabcd943236c", - "https://deno.land/x/math@v1.1.0/gt.ts": "6e493f3cc2ecd9be244bb67dde28b1d5ec4d4218747fc9efd6f551a52093aaf7", - "https://deno.land/x/math@v1.1.0/gte.ts": "4eddc58c2b79315974c328d92b512e133796d785e1f570f9e8d232e32d620e66", - "https://deno.land/x/math@v1.1.0/lt.ts": "999e4d118c9a5e8e653bd34a32ef532634a68e0dd4ba6a200ad35cc7fd9ceb31", - "https://deno.land/x/math@v1.1.0/lte.ts": "637c12db7307d33024054d9671f4f932a42dbaad4c60559c47be17c94f39eb1e", - "https://deno.land/x/math@v1.1.0/matrix/eye.ts": "b7b060fc60a6f4ae4e3caa82e5a094cd622bd8519f67ad81e305b197a9d19d1c", - "https://deno.land/x/math@v1.1.0/matrix/identity.ts": "00246e8133f2fac4a1481af7390907cc4cf3e8415a00d29a1e0beb47bdd81074", - "https://deno.land/x/math@v1.1.0/matrix/matrix.ts": "2b80cd4fb8aa0ab9eca31cf6eb1037a2885f37ae7f84e1b7f050fa831089e937", - "https://deno.land/x/math@v1.1.0/matrix/mod.ts": "123212ccd86007864c3400ca3deaa998c7e9453b77538094d06edc1add50f199", - "https://deno.land/x/math@v1.1.0/max.ts": "bf646a3553e8800de240fad977eabbef365c388d33f79ef6fb5f015d8d7ff104", - "https://deno.land/x/math@v1.1.0/min.ts": "9a617f3b2c76045f9169324787399cb709eba81fae8dbd4ff540336ea82eb470", - "https://deno.land/x/math@v1.1.0/minus.ts": "e64bfe637c5d5c790f40dd6681b206dc9996303daacb6cd1533e7dc1969acda6", - "https://deno.land/x/math@v1.1.0/mod.ts": "85f6d29ba8faaae2fb24c4ac3f5772474f1452ee27068714521a7c9aabfd1ee6", - "https://deno.land/x/math@v1.1.0/modulo.ts": "c83ebdc4f4c9ddabf64ade595802502f2333220b1f59010457f4064e4bb94e6c", - "https://deno.land/x/math@v1.1.0/plus.ts": "8d500d86c8f27acc9a754f636c530abe17bdb8f240aea2ece4b29e86ca121f40", - "https://deno.land/x/math@v1.1.0/pow.ts": "47120d27e42fce01572340e724de26039beef6daae25133029af6df6fa7dec4c", - "https://deno.land/x/math@v1.1.0/round.ts": "1b54a5d440f9a0d44d4ff8ba000f59b4895c37a1b2c2aaf5ec59a5fe8081e308", - "https://deno.land/x/math@v1.1.0/sqrt.ts": "50d94b4d1d9077f887eec904d73cf5439c1ef4b724d1949414ba5ec7fb9343b3", - "https://deno.land/x/math@v1.1.0/sum.ts": "6a0fddf3b50a965c79d96edc7fe2e146d4a95915fce90928fb4068abe9d8f059", - "https://deno.land/x/math@v1.1.0/times.ts": "7359e88b8456fc121bdb800543712d637e0ca260777aa1bb0d43724fe576222e", - "https://deno.land/x/math@v1.1.0/to_exponential.ts": "9038215c1cfd430acb835ca5e9c967f1a9da8d0658f7eeab8852662b201596d4", - "https://deno.land/x/math@v1.1.0/to_fixed.ts": "3702a47b14950a9d37f13147e1340b5a3f5f07183d480af59fcdf9d10bb6084e", - "https://deno.land/x/math@v1.1.0/to_precision.ts": "b7fb70b79649c9fd48f3747d285a5086e457487986c0f395a8275302e13a9b5e", "https://deno.land/x/monads@v0.5.10/either/either.ts": "89f539c7d50bd0ee8d9b902f37ef16687c19b62cc9dd23454029c97fbfc15cc6", "https://deno.land/x/monads@v0.5.10/index.ts": "f0e90b8c1dd767efca137d682ac1a19b2dbae4d1990b8a79a40b4e054c69b3d6", "https://deno.land/x/monads@v0.5.10/mod.ts": "f1b16a34d47e58fdf9f1f54c49d2fe6df67b3d2e077e21638f25fbe080eee6cf", @@ -1206,8 +855,6 @@ "https://deno.land/x/oauth2_client@v1.0.2/src/refresh_token_grant.ts": "22cb1598e48fb037b4111a446573f7b48a3b361b58de58af17ba097221b12b54", "https://deno.land/x/oauth2_client@v1.0.2/src/resource_owner_password_credentials.ts": "bd3df99d32eeebffb411c4a2d3c3d057395515fb41690a8d91460dd74b9bf466", "https://deno.land/x/oauth2_client@v1.0.2/src/types.ts": "3327c2e81bc483e91843fb103595dd304393c3ac2a530d1c89200b6a5cf75e13", - "https://deno.land/x/outdent@v0.8.0/mod.ts": "72630e680dcc36d5ae556fbff6900b12706c81a6fd592345fc98bcc0878fb3ca", - "https://deno.land/x/outdent@v0.8.0/src/index.ts": "6dc3df4108d5d6fedcdb974844d321037ca81eaaa16be6073235ff3268841a22", "https://deno.land/x/redis@v0.32.1/backoff.ts": "33e4a6e245f8743fbae0ce583993a671a3ac2ecee433a3e7f0bd77b5dd541d84", "https://deno.land/x/redis@v0.32.1/command.ts": "aa2312d4093ec7c72d61d32a71d3d13a33cc6302ca78c8f026e1994e76541e6e", "https://deno.land/x/redis@v0.32.1/connection.ts": "45a3328ca49c021c9192c48510dba9808b29de4d8e65e424d7a6a1e2d782fd74", @@ -1252,20 +899,33 @@ "https://deno.land/x/zod@v3.22.2/locales/en.ts": "a7a25cd23563ccb5e0eed214d9b31846305ddbcdb9c5c8f508b108943366ab4c", "https://deno.land/x/zod@v3.22.2/mod.ts": "64e55237cb4410e17d968cd08975566059f27638ebb0b86048031b987ba251c4", "https://deno.land/x/zod@v3.22.2/types.ts": "18cbe3d895f42977c43fa9411da214b06d0d682cf2f4c9dd26cc8c3737740d40", - "https://esm.sh/@aws-sdk/client-s3@3.626.0?pin=v135": "f10ef6e0231103f0be679550cf7f5ae8ca7d238ac3fa01e30cc14daf1d6d40e3", "https://esm.sh/@aws-sdk/client-s3@3.700.0?pin=v135": "c4e66ce2669ce810cd7f060e52e9702a37f02fc0912f69b1dc020a29b4d6e70f", - "https://esm.sh/@aws-sdk/lib-storage@3.626.0?pin=v135": "ff6d1c100467d3c4ff6515cb4d0b36fceef2a944ff8474412ff248ceb58ce7e6", "https://esm.sh/@aws-sdk/lib-storage@3.700.0?pin=v135": "20499413966c9d494f4bff63361359e095f174c4a41ee79da3a0fbeb62dc947f", - "https://esm.sh/@aws-sdk/s3-request-presigner@3.645.0?pin=v135": "03cf57cb951aece8cb946fb31f910b5d96fcb54aadc15973cee8fa079a9783a1", "https://esm.sh/@aws-sdk/s3-request-presigner@3.700.0?pin=v135": "806a2f5f0c65996434f031fbeb3983ee271239e9b22c70cf3624b79b2667cdce", - "https://esm.sh/ajv-formats@3.0.1": "d4eb830ffcadb8a7d19140b3bbd4e78c79bd700deb22e9ce2319437291eedef0", - "https://esm.sh/ajv@8.12.0": "cc1a73af661466c7f4e6a94d93ece78542d700f2165bdb16a531e9db8856c5aa", - "https://esm.sh/ajv@8.12.0?pin=v131": "f8dc3d8e4d6d69f48381749333cc388e54177f66601125b43246c3e43d3145d6", - "https://esm.sh/jszip@3.7.1": "f3872a819b015715edb05f81d973b5cd05d3d213d8eb28293ca5471fe7a71773", - "https://esm.sh/v131/ajv@8.12.0/denonext/ajv.mjs": "6ec3e0f3d7a95672c96274f6aece644b6b5541e8c2409aed36b59853529a01cf", - "https://esm.sh/v131/fast-deep-equal@3.1.3/denonext/fast-deep-equal.mjs": "6313b3e05436550e1c0aeb2a282206b9b8d9213b4c6f247964dd7bb4835fb9e5", - "https://esm.sh/v131/json-schema-traverse@1.0.0/denonext/json-schema-traverse.mjs": "c5da8353bc014e49ebbb1a2c0162d29969a14c325da19644e511f96ba670cc45", - "https://esm.sh/v131/uri-js@4.4.1/denonext/uri-js.mjs": "901d462f9db207376b39ec603d841d87e6b9e9568ce97dfaab12aa77d0f99f74", + "https://esm.sh/core-util-is@1.0.3/denonext/core-util-is.mjs": "cfcf1ae63d56751cbe4b3b90b90b7eea577c5380c4adc272ddea4b7db2bdbbf2", + "https://esm.sh/core-util-is@1.0.3?target=denonext": "6c72958f8a1c8f42016b48c984a0f3d799ea1e0cd321f499fec0bf8db916c17f", + "https://esm.sh/immediate@3.0.6/denonext/immediate.mjs": "7148ba33cb905f7aca49affbacfa6a8257cd6b89e8c3c7c728d2d0387b4cce29", + "https://esm.sh/immediate@3.0.6?target=denonext": "fba8d9ddb37f19ff27c0b1c5b4486ab82805114b14959379d92ca05d6351c5d3", + "https://esm.sh/isarray@1.0.0/denonext/isarray.mjs": "0f26133cd58fc8580f99bbfd81f6290718328dc2a683c313c36f6b1e8c174edc", + "https://esm.sh/isarray@1.0.0?target=denonext": "00e227f6d016cb5a5f832f6f2de91dd8ab092c7ac830c551bfcf0f63284d89e6", + "https://esm.sh/jszip@3.7.1": "5161d6a228d844791a60ab58360bd3b76c4d3921b4a725616cd7403203519249", + "https://esm.sh/jszip@3.7.1/denonext/jszip.mjs": "c012f515eb73de7f7576f4a4756c206b0a98cb7ef698ee7f5bb85a1f07eb3eba", + "https://esm.sh/lie@3.3.0/denonext/lie.mjs": "20db2fef139e87d467b7cf24a9e53053e96460fefedde5910f925b1d0ddc0cba", + "https://esm.sh/lie@3.3.0?target=denonext": "74a2c724bd2fef30c46c612632dfd2ee37394f1a4540eb112e0df2ef98df0434", + "https://esm.sh/pako@1.0.11/denonext/pako.mjs": "c74e4cf6d33272fd034f6b17390a1bf1122d8bb28f861b6e82d9a1536b3f3105", + "https://esm.sh/pako@1.0.11?target=denonext": "bc43f66ed245d58d468bf9867b3e9080c5b0590b4c14038ea308954490e0b2ea", + "https://esm.sh/process-nextick-args@2.0.1/denonext/process-nextick-args.mjs": "adffdd507c6571957aaab9d3f0a2aa54febdda1b4d546a57967fd2299505339e", + "https://esm.sh/process-nextick-args@2.0.1?target=denonext": "b80260031d83086964facc0efc6e2cc8fd878d9ce14dfcf6999e508a4d8d13d0", + "https://esm.sh/readable-stream@2.3.8/denonext/readable-stream.mjs": "738c1c2f90f84663b7bf1a4151d280079e6eab3ae3b2a5b5c759af02364b5ea4", + "https://esm.sh/readable-stream@2.3.8?target=denonext": "a8d158c470101e7518fdf293728d4cb8b2ab2cac73140940c8a9ee5542194e13", + "https://esm.sh/safe-buffer@5.1.2/denonext/safe-buffer.mjs": "848e2c2dafb98ea738399526e4396607872d1118acf8eb56eecd2a5f3be75568", + "https://esm.sh/safe-buffer@5.1.2?target=denonext": "3126988c629e3dc2d6126b26f654aceae10ad989622a21cb2a73ee72603f7df8", + "https://esm.sh/set-immediate-shim@1.0.1/denonext/set-immediate-shim.mjs": "a0fc9b90f281a6541c474dbf55184ef3a9360248f53cb3fa9479480cd24cdd40", + "https://esm.sh/set-immediate-shim@1.0.1?target=denonext": "8d30997d25a26dbcd4d79b613e6f400af85194f8e18e8e7014bc5fe3c9ffd429", + "https://esm.sh/string_decoder@1.1.1/denonext/string_decoder.mjs": "494e5a7fae95d5326e8aee93b4adfde75e389eea7a54bc1feea8549e786da032", + "https://esm.sh/string_decoder@1.1.1?target=denonext": "092c97b62b99368a40fa044c402188472658bc71529415f73c16f66c05aaf6bf", + "https://esm.sh/util-deprecate@1.0.2/denonext/util-deprecate.mjs": "083639894972cb68837eef26346c43bdd01357977149e0a4493f76192a4008b8", + "https://esm.sh/util-deprecate@1.0.2?target=denonext": "859f4df8ba771a4c33143185d3db6a7edb824fab1ed4f9a4b96ac0e6bc3ef1a4", "https://esm.sh/v135/@aws-crypto/crc32@5.2.0/denonext/crc32.mjs": "6a9bc8418c01e2539665b528ccea843f1319a3b32d759fcbb1d4468156c25100", "https://esm.sh/v135/@aws-crypto/crc32c@5.2.0/denonext/crc32c.mjs": "1e8985997bd2c0807d349acaf192a54147d779e5349faf6507f51aa8becb85ca", "https://esm.sh/v135/@aws-crypto/sha1-browser@5.2.0/denonext/sha1-browser.mjs": "d80868d5524769e0334b50124d547ce9875fb05f9924acca4c42ed877b41ce7f", @@ -1273,152 +933,82 @@ "https://esm.sh/v135/@aws-crypto/sha256-js@5.2.0/denonext/sha256-js.mjs": "2e1014e03baf7b5eb5d773c8409af836dacbec2c0a522b789774f76d3eb2e5ad", "https://esm.sh/v135/@aws-crypto/supports-web-crypto@5.2.0/denonext/supports-web-crypto.mjs": "2ae3bd2aa25db0761277ad0feda7aea68cd829c89b714e8e03e07aac06345d81", "https://esm.sh/v135/@aws-crypto/util@5.2.0/denonext/util.mjs": "376903ba54e09eed466b45e243cef1133f20bf015c0505e70fc794896d1412d5", - "https://esm.sh/v135/@aws-sdk/client-s3@3.626.0/denonext/client-s3.mjs": "537c83c1071313a4feea44707db22e52241f9733461970bf2c7f95eea4598349", "https://esm.sh/v135/@aws-sdk/client-s3@3.700.0/denonext/client-s3.mjs": "60aec3d8fe60437d2c0976245d2221b81a1b2fda97631dae0602e8ef7f63904e", - "https://esm.sh/v135/@aws-sdk/core@3.624.0/denonext/client.js": "0e16e057a670adae67a98862c400f4b1e41ad70c3fa58273f8cf7aa56907972e", - "https://esm.sh/v135/@aws-sdk/core@3.624.0/denonext/core.mjs": "c37c628e3cbb5073d8811951d0183528337a14115f9a7502ff8a7143f09fa95b", - "https://esm.sh/v135/@aws-sdk/core@3.624.0/denonext/httpAuthSchemes.js": "96fe3d4ad85aec033ae455506b653c12b806c53c9d865bf3062bad02a8b96f7f", - "https://esm.sh/v135/@aws-sdk/core@3.624.0/denonext/protocols.js": "d5d8b7c7d4bdab2b8c86595b361b6cb6276596c8b4b3a69c338b9c2bfe65d3dc", "https://esm.sh/v135/@aws-sdk/core@3.696.0/denonext/client.js": "081af7b04c457ca6d306c7fdc99f684fa41c4215d9bb5b38f697ab50b434ca4b", "https://esm.sh/v135/@aws-sdk/core@3.696.0/denonext/core.mjs": "31c8677be7c08f1147548368fd72ae0ea647852169fb08d992122f748bcea6bc", "https://esm.sh/v135/@aws-sdk/core@3.696.0/denonext/httpAuthSchemes.js": "dc7a76ce8a356f308dde3712304991013f17ed5c103168002db64b8b17a1ff9a", "https://esm.sh/v135/@aws-sdk/core@3.696.0/denonext/protocols.js": "6035e9162278403cb66ee7d2af8bca2295f65ac4a940fd226174dfd66aa21875", - "https://esm.sh/v135/@aws-sdk/lib-storage@3.626.0/denonext/lib-storage.mjs": "0bbdf69f0caeb88adeb56212c92fab68899dc9518ce7cbc60d47e24dc4c2e6cb", "https://esm.sh/v135/@aws-sdk/lib-storage@3.700.0/denonext/lib-storage.mjs": "4283f2821159bc0153775c22c1326a29eef7580ff8c8367747c3bf7c3aa191bf", - "https://esm.sh/v135/@aws-sdk/middleware-expect-continue@3.620.0/denonext/middleware-expect-continue.mjs": "7257dc7aa9fd7a34fc44b5f8b2460cadfdd72b2e8d7a54d2027a69d1e94c902e", "https://esm.sh/v135/@aws-sdk/middleware-expect-continue@3.696.0/denonext/middleware-expect-continue.mjs": "7f94cbe212255472a5f85e267eda2ff2bd11be345b745282c7a494d641bd8fc9", - "https://esm.sh/v135/@aws-sdk/middleware-flexible-checksums@3.620.0/denonext/middleware-flexible-checksums.mjs": "13e3af9f03eae1deb232c6201bac2eabbf986c2bb6f5cfbd80c06988172e5cd6", "https://esm.sh/v135/@aws-sdk/middleware-flexible-checksums@3.697.0/denonext/middleware-flexible-checksums.mjs": "6489da2042f0e1f2160a42502bef8abfc8aba763aade325d2817dd714e14278e", - "https://esm.sh/v135/@aws-sdk/middleware-host-header@3.620.0/denonext/middleware-host-header.mjs": "1e2c8804ebfb981b393e843ada215a2f2a5faf82f92ebe8906794bb0d1f09338", "https://esm.sh/v135/@aws-sdk/middleware-host-header@3.696.0/denonext/middleware-host-header.mjs": "6b3d43a4662c4e300f331a3cb24c94bcb4a6403e42a937fe1bacb54d3e48e49d", - "https://esm.sh/v135/@aws-sdk/middleware-location-constraint@3.609.0/denonext/middleware-location-constraint.mjs": "ba8c934c030e5168ad09260026bae3b5f538eca8c50b528fb3b6e945967b7f36", "https://esm.sh/v135/@aws-sdk/middleware-location-constraint@3.696.0/denonext/middleware-location-constraint.mjs": "bd5dbcc02a1d663a787d91e5275989539951de8f528405d1310305331d855266", - "https://esm.sh/v135/@aws-sdk/middleware-logger@3.609.0/denonext/middleware-logger.mjs": "2105c33b2e62ed2567b20a71438f8f1409220f7bd0426910b0bccf5b84316b84", "https://esm.sh/v135/@aws-sdk/middleware-logger@3.696.0/denonext/middleware-logger.mjs": "9f894804d70e4cb1f2ae597476f784eee2854966ad2d1865d6cb4e35487ae75a", - "https://esm.sh/v135/@aws-sdk/middleware-recursion-detection@3.620.0/denonext/middleware-recursion-detection.mjs": "e4b76653eb33598813018b3d924a4d7ff86243a7bd4d818ac7a194d147e7a267", "https://esm.sh/v135/@aws-sdk/middleware-recursion-detection@3.696.0/denonext/middleware-recursion-detection.mjs": "1717239de42416976f566d1d9ef58093dc3ddadaa4e4c1e607ddb6cab6b7667f", - "https://esm.sh/v135/@aws-sdk/middleware-sdk-s3@3.626.0/denonext/middleware-sdk-s3.mjs": "d270af31fd15039013d907d80079ffca73be4edd8d8692c50df5b5b9e4e67c11", - "https://esm.sh/v135/@aws-sdk/middleware-sdk-s3@3.635.0/denonext/middleware-sdk-s3.mjs": "19d026384d6c2223ef650a5f6791da38f2cf93612a2f3f2474bca2c78c002a19", "https://esm.sh/v135/@aws-sdk/middleware-sdk-s3@3.696.0/denonext/middleware-sdk-s3.mjs": "516a561d42dbaa443cf70b0c58582e9c6062f618d819c88c03ee8bc23db7492c", - "https://esm.sh/v135/@aws-sdk/middleware-ssec@3.609.0/denonext/middleware-ssec.mjs": "55d27e9c5fcdd0f4bf2cf7b8f0c6b834d4b3cba6c044de9a57cc0419c58d64bf", "https://esm.sh/v135/@aws-sdk/middleware-ssec@3.696.0/denonext/middleware-ssec.mjs": "1cf008b51a30822cd2de033d2330b2c9e9ee09fcd8e8e0ca4b5f1705569203d5", - "https://esm.sh/v135/@aws-sdk/middleware-user-agent@3.620.0/denonext/middleware-user-agent.mjs": "0ccc85f4fc403b97c9f568e00fcfbfa8bb89cc14fd0afac361bde45fe5468e30", "https://esm.sh/v135/@aws-sdk/middleware-user-agent@3.696.0/denonext/middleware-user-agent.mjs": "0c98884a901cb6bd6196392c99f32066be4c1bf814e872f63b4c2bbaa64ee1cc", - "https://esm.sh/v135/@aws-sdk/region-config-resolver@3.614.0/denonext/region-config-resolver.mjs": "580b2f14c0d72423f166859afd2441fdf3883f7a3ab86c36d746a159029d40fd", "https://esm.sh/v135/@aws-sdk/region-config-resolver@3.696.0/denonext/region-config-resolver.mjs": "60a2cd55ec82e34859df65f0071638a6286410fe7144580de85bb1003035e550", - "https://esm.sh/v135/@aws-sdk/s3-request-presigner@3.645.0/denonext/s3-request-presigner.mjs": "57125a72c13a69f88078aa6505ef6088efa4c773604463a08b9be275996c38ae", "https://esm.sh/v135/@aws-sdk/s3-request-presigner@3.700.0/denonext/s3-request-presigner.mjs": "614df9a4ff4f4969b50aa6336ddc00c4c37579e683e5021524df989e0b7ce85b", - "https://esm.sh/v135/@aws-sdk/signature-v4-multi-region@3.626.0/denonext/signature-v4-multi-region.mjs": "63e55b8fb9055aa0b49908b0844b6f1e363e33768ee2feb77a7b4b4592ff5d98", - "https://esm.sh/v135/@aws-sdk/signature-v4-multi-region@3.635.0/denonext/signature-v4-multi-region.mjs": "de9c08397d25f620680522d022422ebb30cc534d44cc91592f31922ec3f9bc88", "https://esm.sh/v135/@aws-sdk/signature-v4-multi-region@3.696.0/denonext/signature-v4-multi-region.mjs": "1a0681be26b7de554e24f01b4330ec9ada26dbb5772d003317fcaa8baedef526", - "https://esm.sh/v135/@aws-sdk/util-arn-parser@3.568.0/denonext/util-arn-parser.mjs": "e80995eaf790640e591f09d89d9099b022efa6d7954d6e23a1a7f5691b9b5110", "https://esm.sh/v135/@aws-sdk/util-arn-parser@3.693.0/denonext/util-arn-parser.mjs": "ff8b16a9bd3f4dde9e7b5540fb4ed42035e2375516f576aaa98f7f4b29c21a96", - "https://esm.sh/v135/@aws-sdk/util-endpoints@3.614.0/denonext/util-endpoints.mjs": "9c8c4f8e1ce01df87b215a8202104e482999a94c46d46fe0d6e763296b6d59b2", "https://esm.sh/v135/@aws-sdk/util-endpoints@3.696.0/denonext/util-endpoints.mjs": "58068b809c541411763e71ae75317e7374ca9acef369859f8075a0ce6ab2ab12", - "https://esm.sh/v135/@aws-sdk/util-format-url@3.609.0/denonext/util-format-url.mjs": "097aa6da9b813dfd68e0bdcd25391d7e77ae808911463309604f8022ac38ab0b", "https://esm.sh/v135/@aws-sdk/util-format-url@3.696.0/denonext/util-format-url.mjs": "f00d273a637c6ea6d7fb9fcdc0b6d76eca26c5160964156ceb54f2bf46ac8a66", "https://esm.sh/v135/@aws-sdk/util-locate-window@3.568.0/denonext/util-locate-window.mjs": "44c4acffec7669f2d0e0307ebfca7cac1f85260a6f8238dcbeb5e79f769e6f00", - "https://esm.sh/v135/@aws-sdk/util-user-agent-browser@3.609.0/denonext/util-user-agent-browser.mjs": "47329052476de081fa1bd227be1f83dd1ed360162aecae204218295bf9dc5ab5", "https://esm.sh/v135/@aws-sdk/util-user-agent-browser@3.696.0/denonext/util-user-agent-browser.mjs": "206d36305d806415e67e4a4a081873f5eeb58663dd648c6c9bd1bd979056b0e7", - "https://esm.sh/v135/@aws-sdk/xml-builder@3.609.0/denonext/xml-builder.mjs": "1822a0c319298642be9cdac624fadf1c77392d02f6b33fb9e36b27738de5fcc6", "https://esm.sh/v135/@aws-sdk/xml-builder@3.696.0/denonext/xml-builder.mjs": "ebbc2588e2c605aa412a2ec53658501d4ae73049308d9c9605e3f142edbf0e54", - "https://esm.sh/v135/@smithy/abort-controller@3.1.1/denonext/abort-controller.mjs": "dd485991596c6c38a3d35fcab735b6be8afaeef82e8c7567b89f42327ad93e40", "https://esm.sh/v135/@smithy/abort-controller@3.1.8/denonext/abort-controller.mjs": "e7b775cb7a418b1010a24e380376fb790f0c2a9fa2b547c1f662a30b53ff91f3", - "https://esm.sh/v135/@smithy/chunked-blob-reader@3.0.0/denonext/chunked-blob-reader.mjs": "bfd33430ff0d1b7c3dc6e42401a2adfcdeaf2dbb9ac56ca6578782c99e2cb359", "https://esm.sh/v135/@smithy/chunked-blob-reader@4.0.0/denonext/chunked-blob-reader.mjs": "e7dbf64e88d08e2448f699dd0b75a7be900dfd94662f3007e76ecc64c2a53adc", "https://esm.sh/v135/@smithy/config-resolver@3.0.12/denonext/config-resolver.mjs": "301150d69986e7984cf703165680aed4887f244fec1482754965363b5c69dd38", - "https://esm.sh/v135/@smithy/config-resolver@3.0.5/denonext/config-resolver.mjs": "0ccf80d6a6427058db95154498485b6a5ae77d12c4fdae48406c9a60b41afe2b", - "https://esm.sh/v135/@smithy/core@2.3.2/denonext/core.mjs": "d1326003ea61059ce2e5113a94b250180bcbfb03927fd811578fd6c5daacccfb", - "https://esm.sh/v135/@smithy/core@2.4.0/denonext/core.mjs": "3ad714d4c1fdb7dcffd91936255289197d6bf0523f13d36bb94e9ce1fd1756d5", "https://esm.sh/v135/@smithy/core@2.5.3/denonext/core.mjs": "92847ee65654850579f6468fda321aac3f27cb243da8624fa1b98f1266a9386e", "https://esm.sh/v135/@smithy/core@2.5.3/denonext/protocols.js": "44cab0b0be393009b573a5d0d7810626ffa7ff3025edd41f73f91dc4a1a13d84", "https://esm.sh/v135/@smithy/core@2.5.4/denonext/core.mjs": "1e33f4a25a9815539dc61e642d6615bb127737a0d67b2d653f203db70c1124ef", "https://esm.sh/v135/@smithy/core@2.5.4/denonext/protocols.js": "ee4b0611ba1175a1967d47e079053b4c46cd0a1df44d1d2cdf0884e361352a36", - "https://esm.sh/v135/@smithy/eventstream-codec@3.1.2/denonext/eventstream-codec.mjs": "8ea933c44dc8baa334f47b1c2b70a9bf2a14836f9fab720b1125664fb26c4527", "https://esm.sh/v135/@smithy/eventstream-codec@3.1.9/denonext/eventstream-codec.mjs": "c9f9ff7c98a32902a0f8618b7d966d9ad712ff5952634af50fb4788daa56ee71", "https://esm.sh/v135/@smithy/eventstream-serde-browser@3.0.13/denonext/eventstream-serde-browser.mjs": "1e55c70cceca16b410db8cc6d3f8d5efef2348106d5f0329cd01b8b94b3d17dc", - "https://esm.sh/v135/@smithy/eventstream-serde-browser@3.0.5/denonext/eventstream-serde-browser.mjs": "f51a5ea92e801ae4944f5e21201a2c3c617b51280432ef638c40e619e1e9f6c8", "https://esm.sh/v135/@smithy/eventstream-serde-config-resolver@3.0.10/denonext/eventstream-serde-config-resolver.mjs": "70274710d699d75737449a2067c5523f14b7a062dc1056153ce7d9db5576b33c", - "https://esm.sh/v135/@smithy/eventstream-serde-config-resolver@3.0.3/denonext/eventstream-serde-config-resolver.mjs": "0960eeb9f45540bca3281e9d539b75ed114891b8453c91c2c87dee294387d81d", "https://esm.sh/v135/@smithy/eventstream-serde-universal@3.0.12/denonext/eventstream-serde-universal.mjs": "ea5f23e6bb54ec1ac22823a9a2fb661fd463b6da51cba7a6e4412e504073b097", - "https://esm.sh/v135/@smithy/eventstream-serde-universal@3.0.4/denonext/eventstream-serde-universal.mjs": "6eeacd6369f3790bba2e0479f0680f1dee0473b2a9cfd1daed5fac741c3177e2", - "https://esm.sh/v135/@smithy/fetch-http-handler@3.2.4/denonext/fetch-http-handler.mjs": "7890ad9cef41a0b0a1a5440153108391d5e5f995a39a028637b3cef271c76075", "https://esm.sh/v135/@smithy/fetch-http-handler@4.1.1/denonext/fetch-http-handler.mjs": "b07c7cfd76ff152ba146cb45ef628ec42c49dac2d07249a077f6df841ed1987a", - "https://esm.sh/v135/@smithy/hash-blob-browser@3.1.2/denonext/hash-blob-browser.mjs": "39b8b23e12aafc146af0af6954ff957752343c9c040d09bda1a0cf4aa5de52fa", "https://esm.sh/v135/@smithy/hash-blob-browser@3.1.9/denonext/hash-blob-browser.mjs": "2488cf9a08d8856142c3c4c16e4aab153c0496730b13232a78a32f3a389ecbee", "https://esm.sh/v135/@smithy/invalid-dependency@3.0.10/denonext/invalid-dependency.mjs": "a138c5906d34411627d87c7a130f62b2f91a411530487bedcc97f3b56cc0e326", - "https://esm.sh/v135/@smithy/invalid-dependency@3.0.3/denonext/invalid-dependency.mjs": "99f4bdd11680348113a0acd593a7f402a33d10654cf4218b5b0f967dbcdae19e", "https://esm.sh/v135/@smithy/is-array-buffer@3.0.0/denonext/is-array-buffer.mjs": "f8bb7f850b646a10880d4e52c60151913b7d81911b2b1cd1355c9adef56ab3e2", "https://esm.sh/v135/@smithy/md5-js@3.0.10/denonext/md5-js.mjs": "a43fbe8339e9b06a0939c0578666cc788955b1e3a13d6ca472aca696d2b8aa0a", - "https://esm.sh/v135/@smithy/md5-js@3.0.3/denonext/md5-js.mjs": "6f4d21d0d4e09cce9245a4e3bddb899b40da3a1c0ce9a8fd12b8f8ac09375857", "https://esm.sh/v135/@smithy/middleware-content-length@3.0.12/denonext/middleware-content-length.mjs": "a1d88f94b68806dbb9c449917935d5a5b94eedebb4aa784302b24d186f5c33c1", - "https://esm.sh/v135/@smithy/middleware-content-length@3.0.5/denonext/middleware-content-length.mjs": "bce550610386d8945899345a97f9aabb00976d7db378a51c463c043008e0f6df", - "https://esm.sh/v135/@smithy/middleware-endpoint@3.1.0/denonext/middleware-endpoint.mjs": "becfe2cb560079a86b0102a3a817c3a6b6f61d7ed1b7f65b6b28ae772871e638", "https://esm.sh/v135/@smithy/middleware-endpoint@3.2.3/denonext/middleware-endpoint.mjs": "51e33bf0dbfbd49c40749cfecf25853819e929ac159ceec0d15bb103df6247b5", - "https://esm.sh/v135/@smithy/middleware-retry@3.0.14/denonext/middleware-retry.mjs": "bf1ceed0c52e48d710d51ecbbf7de3748c36b6b87dfedc7819e27a84d2c07f53", - "https://esm.sh/v135/@smithy/middleware-retry@3.0.15/denonext/middleware-retry.mjs": "2d6b23bdb5ce62336afc02d045d8bb1bf0832fa8eafb022d500372c08b8ea6cb", "https://esm.sh/v135/@smithy/middleware-retry@3.0.27/denonext/middleware-retry.mjs": "74d658624a067684d5d882ab592a16e44c164b15409763c4a912284b2bf1317f", "https://esm.sh/v135/@smithy/middleware-serde@3.0.10/denonext/middleware-serde.mjs": "3dfa59e712b5223bf8e0348eb681001b1260f318e44447f767913923dbe41ef6", - "https://esm.sh/v135/@smithy/middleware-serde@3.0.3/denonext/middleware-serde.mjs": "2513b3aaa3f35cf0c33841550aa23b4f4ab4d645d60f86c7a173a11b2b0c9b7a", "https://esm.sh/v135/@smithy/middleware-stack@3.0.10/denonext/middleware-stack.mjs": "709005fd35c3d0e93d3d6e84969f9a0503d7f40d8cbe9b37e5cb2196d1573ee5", - "https://esm.sh/v135/@smithy/middleware-stack@3.0.3/denonext/middleware-stack.mjs": "a84a0dda6e1d402ba69cba6747643d6d3f0f3532ac263beb0920f0f5f34ed53c", "https://esm.sh/v135/@smithy/property-provider@3.1.10/denonext/property-provider.mjs": "a9da35df4a74b88aef8639e1a921a7230a4581547fdd265c5bc61bb1a2aeb7cb", - "https://esm.sh/v135/@smithy/property-provider@3.1.3/denonext/property-provider.mjs": "8fbecd9b01ba1486726b9f43559926332389b292f276a10708239b1bb666c819", - "https://esm.sh/v135/@smithy/protocol-http@4.1.0/denonext/protocol-http.mjs": "8dc60c296a28eea35bb0c394d3cfdb22bb81385424e0c1099bbda21d38ff132c", "https://esm.sh/v135/@smithy/protocol-http@4.1.6/denonext/protocol-http.mjs": "d06d232767a4967141e08ede9dcfa9446ef9826f54040f4ccafa1c32808ab94c", "https://esm.sh/v135/@smithy/protocol-http@4.1.7/denonext/protocol-http.mjs": "02f6d00f94be691f820af79d33d306a47acc64e8cb32ca591e9990ea710e4263", "https://esm.sh/v135/@smithy/querystring-builder@3.0.10/denonext/querystring-builder.mjs": "7727cbd3a793fb235a5504f68a5a3881385fbe1a35bd09cb0fa1393b3d2d35fc", - "https://esm.sh/v135/@smithy/querystring-builder@3.0.3/denonext/querystring-builder.mjs": "26803f47afc07fdcfb0506cb95235db97250abfb6e5e31311d4d3e34356ffd45", "https://esm.sh/v135/@smithy/querystring-parser@3.0.10/denonext/querystring-parser.mjs": "15b5c8d5988c1bd240d4f25ad54de86008c0fa15f7b64818f43c38b740d3c5e7", - "https://esm.sh/v135/@smithy/querystring-parser@3.0.3/denonext/querystring-parser.mjs": "1186ec8e490e5eb9a911945652400304ab9a2128e13734f80717e59f455d0b3b", "https://esm.sh/v135/@smithy/service-error-classification@3.0.10/denonext/service-error-classification.mjs": "c9058b690a551fe39dda20ae06d4691c66a29512b881146be63a89c659533d49", - "https://esm.sh/v135/@smithy/service-error-classification@3.0.3/denonext/service-error-classification.mjs": "46b409a7d492acacb936ecae2c05e8e11e4910146f6eb2f290067b3cdae8410b", - "https://esm.sh/v135/@smithy/signature-v4@4.1.0/denonext/signature-v4.mjs": "d4adec6b85e442a4dbce5bc391d3856ef202f00f2bedc37f12d5f40fec050e69", "https://esm.sh/v135/@smithy/signature-v4@4.2.2/denonext/signature-v4.mjs": "7a4b0bf4e8a6d060dcd398f653178c5c51bc290f6cc9ee5b6163da3ada5939f4", - "https://esm.sh/v135/@smithy/smithy-client@3.1.12/denonext/smithy-client.mjs": "ef390bd8a915d25cf32cab2fb7ca07bebe652f9db7606cf07ad32aff2783a8c1", - "https://esm.sh/v135/@smithy/smithy-client@3.2.0/denonext/smithy-client.mjs": "2f051fcd8addfba2786c6d712cb8ce443c25b32f2ba258d1d0a46f550eb31451", "https://esm.sh/v135/@smithy/smithy-client@3.4.4/denonext/smithy-client.mjs": "3c9f8650ef0b95947af18a229152d253f16624875ed4f10897557c1fb2fff17f", - "https://esm.sh/v135/@smithy/types@3.3.0/denonext/types.mjs": "0b82ba4c0d421c6476ac68730acdd7a0c9bd014d34c9c556b627fd1c06673eb3", "https://esm.sh/v135/@smithy/types@3.7.0/denonext/types.mjs": "a6a32d24d9f1d3673f0fac542c91cc2782cbdf19a0878ded704ba96220f1396d", "https://esm.sh/v135/@smithy/types@3.7.1/denonext/types.mjs": "b60aac6848b261b81901f88d9b3dcb126aaad298094940ae0300cb991e499094", "https://esm.sh/v135/@smithy/url-parser@3.0.10/denonext/url-parser.mjs": "ce2722c42ce847e29c9b641a378dae9ffdcd2f5d73808b09ff5bf1167871dd5a", - "https://esm.sh/v135/@smithy/url-parser@3.0.3/denonext/url-parser.mjs": "69067083fcbb733d78ff55e0a1b39852dba3c893e436868fc062829fec623cd8", "https://esm.sh/v135/@smithy/util-base64@3.0.0/denonext/util-base64.mjs": "d6a01faaa94fdbeb4b92b02e91801dfbe241439e37a0edf7d817c59daf66c0e3", "https://esm.sh/v135/@smithy/util-body-length-browser@3.0.0/denonext/util-body-length-browser.mjs": "d67382004d61919b97a756a454f9b312cfb0011a9727d3d1ca69ebddf1c7843a", "https://esm.sh/v135/@smithy/util-config-provider@3.0.0/denonext/util-config-provider.mjs": "832c0ab1d3b06a51351ea23b33628bd36a37ef570e02e469f6ab39f71d88d7b1", - "https://esm.sh/v135/@smithy/util-defaults-mode-browser@3.0.14/denonext/util-defaults-mode-browser.mjs": "214e0bfe002c216cdb70281a0c41410aa822061333ceb0573669d4d5c9b2852a", "https://esm.sh/v135/@smithy/util-defaults-mode-browser@3.0.27/denonext/util-defaults-mode-browser.mjs": "a67193d0d8e35cef1014aaaae20b4d05354cf940f71fa44247f31e0382e0c919", - "https://esm.sh/v135/@smithy/util-endpoints@2.0.5/denonext/util-endpoints.mjs": "3876bd3404b820a5fab88bbe3f8ba2a8e373bb0099c9838617ec88f898dd78d0", "https://esm.sh/v135/@smithy/util-endpoints@2.1.6/denonext/util-endpoints.mjs": "dcfd38eeca677ad66dae39e3f3b7e9ed30c434895c9dfe65918609c7f81ef0ca", "https://esm.sh/v135/@smithy/util-hex-encoding@3.0.0/denonext/util-hex-encoding.mjs": "cbdd7aabeb3903596980e2903efec3e5501f7e1259fb7b97e327a3b4e635f23c", "https://esm.sh/v135/@smithy/util-middleware@3.0.10/denonext/util-middleware.mjs": "a2335ac8c8e655bce58853bfda5fd090bac16df94cc4bbf4e416a3eeed16cf46", - "https://esm.sh/v135/@smithy/util-middleware@3.0.3/denonext/util-middleware.mjs": "a885e613b933ce02c7c73507e80ef5b81374a55a647cc4bc397bb1f19284a95b", "https://esm.sh/v135/@smithy/util-middleware@3.0.9/denonext/util-middleware.mjs": "14b068a8ef2c2fd5ea72afaabfb56bbffa4a3f2e74315b8c207ff860d233bf67", "https://esm.sh/v135/@smithy/util-retry@3.0.10/denonext/util-retry.mjs": "469002c7c287ebedfc0fd4a52bb3b22f8a0b6a1c5ebee9ba84ac85c7d9a41046", - "https://esm.sh/v135/@smithy/util-retry@3.0.3/denonext/util-retry.mjs": "2bc452ea87cbe471e2bee783776d528fec4afcd083367c1dafd8936e229c64f3", - "https://esm.sh/v135/@smithy/util-stream@3.1.3/denonext/util-stream.mjs": "13b6b4e3c10e0a0586e6fca8a7e3d2d8fea840aecb413337c2d75c0fceb75f37", "https://esm.sh/v135/@smithy/util-stream@3.3.1/denonext/util-stream.mjs": "0f55d86ab6e52188da1f58e2b03bdf52322882e1cf2140c9581410cf450045d3", "https://esm.sh/v135/@smithy/util-uri-escape@3.0.0/denonext/util-uri-escape.mjs": "df2c80781ede692323dee6e2da3711e7ccc4f7a1cee949b09aba8d1ce15bbe03", "https://esm.sh/v135/@smithy/util-utf8@2.0.2/denonext/util-utf8.mjs": "d1869dca8a21b3e6c297cb55f90e1b78bf8f365afd1f173c16d719f28245604b", "https://esm.sh/v135/@smithy/util-utf8@2.3.0/denonext/util-utf8.mjs": "10a9f2014b2b5b2e387e04c1c7974e8219332fa30a6904923f54a46c974c6c84", "https://esm.sh/v135/@smithy/util-utf8@3.0.0/denonext/util-utf8.mjs": "abe704ed8c4266b29906116ef723b98e8729078537b252c9a213ad373559488a", - "https://esm.sh/v135/@smithy/util-waiter@3.1.2/denonext/util-waiter.mjs": "8bff673e4c8b620b34f59cbfa0e6c92de95b3c00190861b5b2cb113923bf8288", "https://esm.sh/v135/@smithy/util-waiter@3.1.9/denonext/util-waiter.mjs": "42a09843870abe258a66a3f381fafdef5fb1ea33d949b760c33451ff5b965d7f", - "https://esm.sh/v135/ajv-formats@3.0.1/denonext/ajv-formats.mjs": "8edbd78b344ad19468e5cb43b5b2eef05600b5d6dfadf0967fa8969dbd6212d6", - "https://esm.sh/v135/ajv@8.12.0/denonext/ajv.mjs": "4645df9093d0f8be0e964070a4a7aea8adea06e8883660340931f7a3f979fc65", - "https://esm.sh/v135/ajv@8.12.0/denonext/dist/compile/codegen.js": "d981238e5b1e78217e1c6db59cbd594369279722c608ed630d08717ee44edd84", - "https://esm.sh/v135/ajv@8.17.1/denonext/ajv.mjs": "704f78083e7ac737f67c38f37a3473d135e2204219db8ccd992a13f6a1f4e212", - "https://esm.sh/v135/ajv@8.17.1/denonext/dist/compile/codegen.js": "e29f49739d38b9198fb515cf612500335a2b523b8ad170e29a5ef85a7beb6a50", "https://esm.sh/v135/bowser@2.11.0/denonext/bowser.mjs": "3fd0c5d68c4bb8b3243c1b0ac76442fa90f5e20ee12773ce2b2f476c2e7a3615", - "https://esm.sh/v135/fast-deep-equal@3.1.3/denonext/fast-deep-equal.mjs": "6313b3e05436550e1c0aeb2a282206b9b8d9213b4c6f247964dd7bb4835fb9e5", - "https://esm.sh/v135/fast-uri@3.0.1/denonext/fast-uri.mjs": "fac5187f11b297bc2be866610ab5acefa2bce51aa681e8d5f28d24f0c76cbd7d", "https://esm.sh/v135/fast-xml-parser@4.4.1/denonext/fast-xml-parser.mjs": "506f0ae0ce83e4664b4e2a3bf3cde30b3d44c019012938ab12b76fa38353e864", - "https://esm.sh/v135/json-schema-traverse@1.0.0/denonext/json-schema-traverse.mjs": "c5da8353bc014e49ebbb1a2c0162d29969a14c325da19644e511f96ba670cc45", - "https://esm.sh/v135/jszip@3.7.1/denonext/jszip.mjs": "d31d7f9e0de9c6db3c07ca93f7301b756273d4dccb41b600461978fc313504c9", "https://esm.sh/v135/strnum@1.0.5/denonext/strnum.mjs": "1ffef4adec2f74139e36a2bfed8381880541396fe1c315779fb22e081b17468b", "https://esm.sh/v135/tslib@2.6.2/denonext/tslib.mjs": "29782bcd3139f77ec063dc5a9385c0fff4a8d0a23b6765c73d9edeb169a04bf1", "https://esm.sh/v135/tslib@2.6.3/denonext/tslib.mjs": "0834c22e9fbf95f6a5659cc2017543f7d41aa880f24ab84cb11d24e6bee99303", - "https://esm.sh/v135/uri-js@4.4.1/denonext/uri-js.mjs": "901d462f9db207376b39ec603d841d87e6b9e9568ce97dfaab12aa77d0f99f74", "https://esm.sh/v135/uuid@9.0.1/denonext/uuid.mjs": "7d7d3aa57fa136e2540886654c416d9da10d8cfebe408bae47fd47070f0bfb2a", "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/deps.ts": "2b20d8c142749898e0ad5e4adfdc554dbe1411e8e5ef093687767650a1073ff8", "https://raw.githubusercontent.com/levibostian/deno-udd/ignore-prerelease/mod.ts": "3ef8bb10b88541586bae7d92c32f469627d3a6a799fa8a897ac819b2f7dd95e8", @@ -1500,239 +1090,7 @@ "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/utils/mod.ts": "25901b5a03625353cc0d9c024daca806eb2513b153faede5ecad73b428542721", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/utils/unarchive.ts": "f6d0e9e75f470eeef5aecd0089169f4350fc30ebfdc05466bb7b30042294d6d3", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/utils/url.ts": "e1ada6fd30fc796b8918c88456ea1b5bbd87a07d0a0538b092b91fd2bb9b7623", - "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/utils/worker.ts": "ac4caf72a36d2e4af4f4e92f2e0a95f9fc2324b568640f24c7c2ff6dc0c11d62", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/engine/bindings.ts": "f74df81c428c6ac60f254ad15667efdd08f6d2a4836635c9d8c8dd98269e9df0", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/engine/runtime.js": "1ae55e76d3de8e79c37054d9127c92af496ce10aa905ea64021893048bb33794", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/config.ts": "12c435a42969bf2dd2bbbc54f9b7bca155ca7314a6dd4f39ccb4863bd8d10a1c", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/config/loader.ts": "e901da195b255644fbd24649fc998d2c2058a104cc124dc7736cf6a2ed2ee922", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/config/shared.ts": "bca558a1581acf2d564d25957c7a491f6a5fad2c9a9e22c784fd75ecf5a8873c", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/config/types.ts": "a5b10b956d6d1b0349e758692bf26dddd44eb60f926fbd702df0dda15ac2896e", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/crypto.ts": "9f982b57238af8200cb698afb7ee3b2b816b0cc189e7a7d6559bedb8edde1866", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/computation_engine.ts": "4b2e7fd9e21bf9c790f1b4025a745712ef69110dd899418ae9059f83d4c5e9bc", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/planner/args.ts": "2d1ed67a5e8a66cbcbc587c468d09c4ad904a9df7f300c2ff4dec55563973731", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/planner/dependency_resolver.ts": "6f87025830e827cba0e7e74ecd3ff663a8298fbed778e70860efbe66d3b68f9b", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/planner/injection_utils.ts": "53b78c46726be1d1a79b5046f02f4d09570606b4e2fc1191a303f28551d472cc", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/planner/mod.ts": "470be78433a2a16493730524fc5f0bdc3e7d926d03b16f7a4610ece8994b3dcc", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/planner/parameter_transformer.ts": "2926e403cbe7688e442d430dc407b28c659f8689fe583d1741fc244bbcb04ddd", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/planner/policies.ts": "0b489f1dd93efafdeee41b5fdaa6d32c69b615e8b23f7a12d6a53b9c8b52811d", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/query_engine.ts": "089771e5249035aeae83db926b819405747b3df20fa58dec1f7818159e3aa036", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/stage_id.ts": "090aa004ee3cec27f310571c2ed838d1286346cb1c8b263a0509d2c6e53ae300", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/code_generator.ts": "41671624b36c862b5baa2d8f06b36070fb2d1d4ef97fb0dada3eff2899620d9e", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/common.ts": "2e9abb9eb039f06e336492fa6f5e9b933dcb58643ffc5de423c0b696da6ecc43", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/inline_validators/common.ts": "4861d3aa582275515c9b3741a15505e4431a1f14ad64d86258f22b7c5c9d42b7", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/inline_validators/constraints.ts": "073531c748833cfa99e003ef95183dd9d8543a160807b8046dde3317df923633", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/inline_validators/list.ts": "af81948b4a5847e11c0cf1782a6c608d3c060771b0ba0e7edce4478359333214", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/inline_validators/number.ts": "b685df3ac3a95f6b0e6d5e566ef0059fd3c4d69444268c21bc93aa738dda884d", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/inline_validators/object.ts": "1c56e54ea19052dd3375c7eada0059a5170e5ab5f2e6b0e0e0cf721ed3145ce6", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/inline_validators/string.ts": "580d0cd8280c957acd085390af17447209ad15e994ea58fd1e7151ef4e07a40b", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/input.ts": "2ab8f2737d76bbfe94265c69ebf4c4b80676cd3ce095144a523c1362936e5cc3", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/matching_variant.ts": "651c6d47d3f368a0e47ac475c9803e69265f3d58b08293e8ef8bda17ac00a589", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/engine/typecheck/result.ts": "72c0d67bc35d1d98510d3bc5a3487c7ec63d6741911738869b122cb0bfb9de02", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/errors.ts": "14fe23136ccdcfb6e52c9fd9dfb1d5fbee21869c26f459217117189685428802", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/libs/jsonpath.ts": "af90cb8918ff8f453f9482bdcf7d4078ff0cdc53523a1725b724d0b056644ff8", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/log.ts": "71b949f07461cb6f52a8f45e00065c889234d564c6d4fe3ff2a272a6dbb82e12", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/main.ts": "41dc22a0c6d2a516cc99b4858ab9781d2d149253f4d70e21006d8d251532610b", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/Runtime.ts": "4bd4825b6c42cd74e9a22cccb695f78a8f3fe81a278c2b1a56123770d7e87f99", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/deno.ts": "15badd909f25aa6daee80b04d22f3e5b32333f6b98e9f24acd953a1cbea151fb", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/deno/deno.ts": "c6293dfdba696c26dbba5e5791d8703d2e1f64a5357f999fa5f52ba233123780", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/deno/deno_messenger.ts": "016b86392a3ec0348a3f62ac63372a7da1af9801cb92f625bdff0b2fce1acf96", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/deno/shared_types.ts": "3b9773ecbdf2f2fed97588e0353d02b9e01001c52b2bbb24813e6735602cf5c0", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/deno/worker.ts": "b61f3e3fa181a8cfeae8a3df152171f74a1979428acdebc6d839624bad24fc56", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/graphql.ts": "07bf52adc13086be644a98c7670a2b757cf03a88c5ee9fae6be0bcd677fc70d7", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/grpc.ts": "adc5dad80e1587cc6239f7a7d9ccb86a946f3c4190ae9bcfcafa177dd68cc437", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/http.ts": "09185d4bcc157b8c1c3f49686f8e1c94d2368b2bf510ccfdca36314256260604", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/kv.ts": "312833f6212102d330a4f2648f9e33b99fe917d12f03d397c8b86fa2a2e0191d", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/mod.ts": "73e682bfce50a595711602ba166bb28f8a003fdaa3e367a5e6aa8bd6d226b161", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/patterns/messenger/async_messenger.ts": "a6f602889968694014a71e1e1d2c0f200a933b4cac58b3ca08c8fd56840f83ca", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/patterns/messenger/lazy_async_messenger.ts": "2a1f6b3b0e7b0303e1e777dbced1dabaff313d1584a591c48ea2bf439b92571e", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/prisma.ts": "7e6098169f749f15fb0a3c117e4d746ec78cbec75a3b2e0776da92699ef47433", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/prisma/hooks/generate_schema.ts": "7e4710d651695ac34a98da66b9334b2eb783a82a0d5cd3001add5c145757006a", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/prisma/hooks/mod.ts": "3b7323fdbad1b2da89d405686fbe96912ea051b49fc59e35a64ae3c082d88b58", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/prisma/hooks/run_migrations.ts": "07be71a18464f41fbc78cb72b44d8ff8150cfbc4aa42ce3060018e4fc8df9f13", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/prisma/migration.ts": "e9eb6e3c76e616a1f7348dcb00927e53b9802ebf7edaf04c0d07db6ed30aba87", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/prisma/mod.ts": "3e1e42facac57463f227c6408a995716ac364df037a441267bf4ddc55aba1762", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/prisma/prisma.ts": "595216d17e6b5382dbf0f00fc2a94043bf12d1a0aba78b488836e4c5a070d73b", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/prisma/types.ts": "7b2a668263dec4f68d7c6e0cd42e6708f1f70de77945891e4e7513bcb934abe8", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/python.ts": "f71dd91f1f6625243c331e863bdfb05d9881216f8337555961c7cc1a8fdb303d", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/random.ts": "8ebb64cf887f69f1c573a386029e3368c224027ec2e3e4414ba5099f67019273", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/s3.ts": "d4bff2d98429d0226e1021163bf2097de3ddfc852b64be860e7bf917ad7494a8", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/substantial.ts": "24c1ab11ec3cd543227b189b09eb135c2b38458dce2b8a1eac4b42c08a38c9f2", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/substantial/agent.ts": "2fca2ab86542e1307d5bea745a9a19f4147a6c5cbea4e889cdd05c175aa07307", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/substantial/types.ts": "66413dbb2234360db6eb8a78710ce9804290b2a19c1b34453b4850a135a33385", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/substantial/workflow_worker_manager.ts": "74c0b5b9cc9be1daafeb5623c9810182710634bbddd4b6c53bb3df43848f2763", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/temporal.ts": "5e0bd1009a40b467c381707d3cb553dff43729f131956f3721f96e037997d19a", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/typegate.ts": "0ee368db6bc8bd3a439e36b35f753ecf6d818c3e2a3cb02c39fd20508f92baef", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/typegraph.ts": "c627209ee947e9067dd580f55759354c942ca1998877b00b6149cbbea5b2f0b7", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/utils/graphql_forward_vars.ts": "466bb67f86b1c5af52f2f1a4eb02fff6f731f066e3bcd264c1c4152d0f055b5d", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/utils/graphql_inline_vars.ts": "c103dbe9967054132f9e1a347a3b9b6981b9bab59979ca5b7e38e8dd556959e7", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/utils/http.ts": "6ef74393421256e4f9945878bed7762af406a12866041f9286e06b2afdef4338", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/wasm_reflected.ts": "588aebf664d4179df3818d6521e3936d248b751637707be3a85ef24f5446531b", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/wasm_wire.ts": "99f5de736cf2492619333d2c465308716f42f8fd493c825514ba5e25be35c48a", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/runtimes/wit_wire/mod.ts": "3f14f57fe2d087b6f11c32f0e75d3c1c1bb6166b810f3ef267f5698fe97f1eef", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/artifact_service.ts": "ed90cb99770289c3afb5ceaaab98f56be69d1259e6e6761fd6f1f29c6561f0ea", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/cookies.ts": "194c6c17e915692ba7fceda17109c1da8f426fde3e56d6dfd15a8d077d5bf789", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/mod.ts": "e6401d8b8a9a968f8feaefd618d55fbc7eaea9a16dafe0b70af50af313d86937", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/protocols/basic.ts": "99293b05820becf203822988020568e0cb8e304a477d4a85d887a6e570cb2ea6", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/protocols/internal.ts": "4b31e4780a18a281d27f69062efddf022799a1d4b3b852419f2a78df9f4c3332", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/protocols/jwt.ts": "5792f292d73730b823cd1da3133435dd23f6e1d8a88977c12298f017c5be957c", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/protocols/oauth2.ts": "d7d24eea260c318bdf48d1b31090dd8b4aa54e5320b9bc2140f7eb7f8e19a601", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/protocols/protocol.ts": "61ca77720004360879a6e3e890ef23eca5a97b85a2dd3d8a2f2fc4521c958be3", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/routes/mod.ts": "31d27a1a8edc99db7d5bbb68400821e73447f04b8106ff28f2a633f47ffd8221", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/routes/take.ts": "b6293899b75cc6c110a61fce7a0b49c2608779a01b0f735e5cfe8febe428edc6", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/auth/routes/validate.ts": "0d36f950262b608978aef8caef62900077fce352a0b33da37abd07a1482acef6", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/graphql_service.ts": "2a0bfe4e49b78412cccf2926ba9713871438cbf285df12b6e26979e9f3668dd1", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/info_service.ts": "0c5cb5a9926644b00d8129121655b6654a884f4ab3bb2a56a1b5e33c2fadafe3", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/middlewares.ts": "c996a25dffa58efc8f50e4a8f3f9df14d93b32b2bb6269c95ad0bec3cc05de94", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/playground_service.ts": "570cd407c5000bd93ddbd0a898ca5f50bb8d5f26d67684d1c592ab2c260ffce0", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/responses.ts": "b3e7f74d02e51a719968a417202c4a307b4c4dc73a73ed93ffbb76d73eef683c", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/services/rest_service.ts": "88c0a9b409beeb936ab3fc84a90ada122f38074975644036baa69dd2cf354290", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/sync/replicated_map.ts": "1191c444af253e9afd1b5d99bb203600b318bfa42efe1bfa87f1f5a58147f117", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/sync/typegraph.ts": "69fa06eae9f4676c4e8818fdb29056f4775a5d1ce04e8662a011cb777735e44b", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/system_typegraphs.ts": "a49296517ab9aeefb0a93ccbc2361969a78c8289b213115ddcba0216c359659e", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/transports/graphql/gq.ts": "7150dc876b8d2c423acf6571e4f82cb28b1d84472edbf7aec8f2db3d35099730", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/transports/graphql/graphql.ts": "db28dbff035dc4da27cbbc93596d31b9ae4c4647d8dd1ef8dd8466124dddf819", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/transports/graphql/request_parser.ts": "f808f194897a70be6f9b4125fad793b4ac6840558cae583f757fbe9c1db5cee5", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/transports/graphql/typegraph.ts": "f338320cca137a328aa680ecd8b7ca8e3f2bef18eeea911e1a71a53a247d2d89", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/transports/graphql/utils.ts": "52f41e4acc8c8e1f7438ff421562909fabfa84eee509e5fa7d3d446d631711c8", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/transports/rest/rest_schema_generator.ts": "6143277aa83e620bc1b89f5cc57952c2ed4559d4926b30afd8a7c213865cc142", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/artifacts/local.ts": "67899cac544f6c451420da2e66a7f761e51930ed524be67427409188e62097e0", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/artifacts/mod.ts": "19f8c0972b4d4832d438c6fc6dfcd485c4b3c9bb1a83d3e8a51900795cdcb5f4", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/artifacts/shared.ts": "e4881b2bdd38b1f06ffeaaac6936e963c3802c2113bb97beaf574cb4ab5ef5cc", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/hooks.ts": "fd1d74f6d3a964374e4cd5cc466690f428dbcbd8960f7edff58556698a00f34e", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/memory_register.ts": "6dc0d05a471f4574b969e20ab04b21fb9aa99c8e30cbd0fe043bd8d984cee724", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/mod.ts": "628e2b460b7c309db40aa7fbc656ce36186e9713fa6e4f9c90e91b97134f3094", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/no_limiter.ts": "820f766f78cb9546c916a6db2e1713cb9288ca17b2ab590f05e2f7748d1321af", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/rate_limiter.ts": "83b4d1197acb83065481489ef3cac1a6bf0fc9aa819fc2330c5dd177f4c79302", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegate/register.ts": "864d668ae3704984077d57c05a425cd5c74ba79bb6a42a54ef0112e1560fc543", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraph/mod.ts": "6c27b8838bae4bd683a1f30c5b6574be60341d3512c751b43bee14bb4da2bc29", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraph/type_node.ts": "2122369b68351e336bae60a18006b1329c95a0e82b4e25795ba3e419df493d15", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraph/types.ts": "122af777d054b9b5e6c827fe969762888e4a6634616cd8974713fefbc7ced596", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraph/utils.ts": "ce1a9ac71b86ccbae4334cef66e3424395349b6517bb0fdae31f3032607ac444", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraph/versions.ts": "89787a9cd05f5a630831c6b05ee17d868537aa95dbd0cdf5808030e3149c272d", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraph/visitor.ts": "d3df39cb77be23f6ea6e754db43d9b9b78dcf71fa8ed4a570c69e7102495af99", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraphs/introspection.json": "5b4367b31426e7cf4a302710c23948f30adca3829468029ee92da9fde5c2a660", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraphs/prisma_migration.json": "3a29869405591cd9791b05ed56f4598681491bc307aa218ceacd6441dc5149df", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/typegraphs/typegate.json": "6c2f9cb2c25090173968806f9a8298cfa68d3a339d034b853f0a526a66ba0d3c", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/types.ts": "c00d562e809aa2c773925f69467d42bf5b4146146d1a5e90d8704d0e1d56cfee", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/utils.ts": "37d7289fdfa897317947489c0e58ca4af919c582cec19394f3b49d377e1e3b76", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/utils/hash.ts": "1b0fc152d2b51c1acf542ba49ec383efea5236acb9d52526b7f6568fadb43dfb", - "https://raw.githubusercontent.com/metatypedev/metatype/02733603ec2089515d8fd4f0ab07efc4ad1961c4/src/typegate/src/worker_utils.ts": "0b7e9252a0c6449299a4f604b9a5e6eb3f33ae842d3ac7f169627ccbfb285f1a", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/engine/bindings.ts": "f74df81c428c6ac60f254ad15667efdd08f6d2a4836635c9d8c8dd98269e9df0", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/engine/runtime.js": "1ae55e76d3de8e79c37054d9127c92af496ce10aa905ea64021893048bb33794", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/config.ts": "12c435a42969bf2dd2bbbc54f9b7bca155ca7314a6dd4f39ccb4863bd8d10a1c", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/config/loader.ts": "e901da195b255644fbd24649fc998d2c2058a104cc124dc7736cf6a2ed2ee922", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/config/shared.ts": "bca558a1581acf2d564d25957c7a491f6a5fad2c9a9e22c784fd75ecf5a8873c", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/config/types.ts": "a5b10b956d6d1b0349e758692bf26dddd44eb60f926fbd702df0dda15ac2896e", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/crypto.ts": "9f982b57238af8200cb698afb7ee3b2b816b0cc189e7a7d6559bedb8edde1866", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/computation_engine.ts": "4b2e7fd9e21bf9c790f1b4025a745712ef69110dd899418ae9059f83d4c5e9bc", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/planner/args.ts": "2d1ed67a5e8a66cbcbc587c468d09c4ad904a9df7f300c2ff4dec55563973731", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/planner/dependency_resolver.ts": "6f87025830e827cba0e7e74ecd3ff663a8298fbed778e70860efbe66d3b68f9b", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/planner/injection_utils.ts": "53b78c46726be1d1a79b5046f02f4d09570606b4e2fc1191a303f28551d472cc", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/planner/mod.ts": "470be78433a2a16493730524fc5f0bdc3e7d926d03b16f7a4610ece8994b3dcc", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/planner/parameter_transformer.ts": "2926e403cbe7688e442d430dc407b28c659f8689fe583d1741fc244bbcb04ddd", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/planner/policies.ts": "0b489f1dd93efafdeee41b5fdaa6d32c69b615e8b23f7a12d6a53b9c8b52811d", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/query_engine.ts": "089771e5249035aeae83db926b819405747b3df20fa58dec1f7818159e3aa036", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/stage_id.ts": "090aa004ee3cec27f310571c2ed838d1286346cb1c8b263a0509d2c6e53ae300", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/code_generator.ts": "41671624b36c862b5baa2d8f06b36070fb2d1d4ef97fb0dada3eff2899620d9e", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/common.ts": "2e9abb9eb039f06e336492fa6f5e9b933dcb58643ffc5de423c0b696da6ecc43", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/inline_validators/common.ts": "4861d3aa582275515c9b3741a15505e4431a1f14ad64d86258f22b7c5c9d42b7", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/inline_validators/constraints.ts": "073531c748833cfa99e003ef95183dd9d8543a160807b8046dde3317df923633", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/inline_validators/list.ts": "af81948b4a5847e11c0cf1782a6c608d3c060771b0ba0e7edce4478359333214", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/inline_validators/number.ts": "b685df3ac3a95f6b0e6d5e566ef0059fd3c4d69444268c21bc93aa738dda884d", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/inline_validators/object.ts": "1c56e54ea19052dd3375c7eada0059a5170e5ab5f2e6b0e0e0cf721ed3145ce6", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/inline_validators/string.ts": "580d0cd8280c957acd085390af17447209ad15e994ea58fd1e7151ef4e07a40b", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/input.ts": "2ab8f2737d76bbfe94265c69ebf4c4b80676cd3ce095144a523c1362936e5cc3", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/matching_variant.ts": "651c6d47d3f368a0e47ac475c9803e69265f3d58b08293e8ef8bda17ac00a589", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/engine/typecheck/result.ts": "72c0d67bc35d1d98510d3bc5a3487c7ec63d6741911738869b122cb0bfb9de02", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/errors.ts": "14fe23136ccdcfb6e52c9fd9dfb1d5fbee21869c26f459217117189685428802", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/libs/jsonpath.ts": "af90cb8918ff8f453f9482bdcf7d4078ff0cdc53523a1725b724d0b056644ff8", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/log.ts": "71b949f07461cb6f52a8f45e00065c889234d564c6d4fe3ff2a272a6dbb82e12", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/main.ts": "41dc22a0c6d2a516cc99b4858ab9781d2d149253f4d70e21006d8d251532610b", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/Runtime.ts": "4bd4825b6c42cd74e9a22cccb695f78a8f3fe81a278c2b1a56123770d7e87f99", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/deno.ts": "15badd909f25aa6daee80b04d22f3e5b32333f6b98e9f24acd953a1cbea151fb", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/deno/deno.ts": "c6293dfdba696c26dbba5e5791d8703d2e1f64a5357f999fa5f52ba233123780", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/deno/deno_messenger.ts": "016b86392a3ec0348a3f62ac63372a7da1af9801cb92f625bdff0b2fce1acf96", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/deno/shared_types.ts": "3b9773ecbdf2f2fed97588e0353d02b9e01001c52b2bbb24813e6735602cf5c0", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/deno/worker.ts": "b61f3e3fa181a8cfeae8a3df152171f74a1979428acdebc6d839624bad24fc56", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/graphql.ts": "07bf52adc13086be644a98c7670a2b757cf03a88c5ee9fae6be0bcd677fc70d7", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/grpc.ts": "adc5dad80e1587cc6239f7a7d9ccb86a946f3c4190ae9bcfcafa177dd68cc437", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/http.ts": "09185d4bcc157b8c1c3f49686f8e1c94d2368b2bf510ccfdca36314256260604", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/kv.ts": "312833f6212102d330a4f2648f9e33b99fe917d12f03d397c8b86fa2a2e0191d", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/mod.ts": "73e682bfce50a595711602ba166bb28f8a003fdaa3e367a5e6aa8bd6d226b161", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/patterns/messenger/async_messenger.ts": "a6f602889968694014a71e1e1d2c0f200a933b4cac58b3ca08c8fd56840f83ca", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/patterns/messenger/lazy_async_messenger.ts": "2a1f6b3b0e7b0303e1e777dbced1dabaff313d1584a591c48ea2bf439b92571e", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/prisma.ts": "7e6098169f749f15fb0a3c117e4d746ec78cbec75a3b2e0776da92699ef47433", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/prisma/hooks/generate_schema.ts": "7e4710d651695ac34a98da66b9334b2eb783a82a0d5cd3001add5c145757006a", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/prisma/hooks/mod.ts": "3b7323fdbad1b2da89d405686fbe96912ea051b49fc59e35a64ae3c082d88b58", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/prisma/hooks/run_migrations.ts": "07be71a18464f41fbc78cb72b44d8ff8150cfbc4aa42ce3060018e4fc8df9f13", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/prisma/migration.ts": "e9eb6e3c76e616a1f7348dcb00927e53b9802ebf7edaf04c0d07db6ed30aba87", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/prisma/mod.ts": "3e1e42facac57463f227c6408a995716ac364df037a441267bf4ddc55aba1762", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/prisma/prisma.ts": "595216d17e6b5382dbf0f00fc2a94043bf12d1a0aba78b488836e4c5a070d73b", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/prisma/types.ts": "7b2a668263dec4f68d7c6e0cd42e6708f1f70de77945891e4e7513bcb934abe8", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/python.ts": "f71dd91f1f6625243c331e863bdfb05d9881216f8337555961c7cc1a8fdb303d", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/random.ts": "8ebb64cf887f69f1c573a386029e3368c224027ec2e3e4414ba5099f67019273", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/s3.ts": "d4bff2d98429d0226e1021163bf2097de3ddfc852b64be860e7bf917ad7494a8", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/substantial.ts": "24c1ab11ec3cd543227b189b09eb135c2b38458dce2b8a1eac4b42c08a38c9f2", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/substantial/agent.ts": "2fca2ab86542e1307d5bea745a9a19f4147a6c5cbea4e889cdd05c175aa07307", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/substantial/types.ts": "66413dbb2234360db6eb8a78710ce9804290b2a19c1b34453b4850a135a33385", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/substantial/workflow_worker_manager.ts": "74c0b5b9cc9be1daafeb5623c9810182710634bbddd4b6c53bb3df43848f2763", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/temporal.ts": "5e0bd1009a40b467c381707d3cb553dff43729f131956f3721f96e037997d19a", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/typegate.ts": "0ee368db6bc8bd3a439e36b35f753ecf6d818c3e2a3cb02c39fd20508f92baef", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/typegraph.ts": "c627209ee947e9067dd580f55759354c942ca1998877b00b6149cbbea5b2f0b7", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/utils/graphql_forward_vars.ts": "466bb67f86b1c5af52f2f1a4eb02fff6f731f066e3bcd264c1c4152d0f055b5d", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/utils/graphql_inline_vars.ts": "c103dbe9967054132f9e1a347a3b9b6981b9bab59979ca5b7e38e8dd556959e7", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/utils/http.ts": "6ef74393421256e4f9945878bed7762af406a12866041f9286e06b2afdef4338", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/wasm_reflected.ts": "588aebf664d4179df3818d6521e3936d248b751637707be3a85ef24f5446531b", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/wasm_wire.ts": "99f5de736cf2492619333d2c465308716f42f8fd493c825514ba5e25be35c48a", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/runtimes/wit_wire/mod.ts": "f8b7f6ca30a384a1441b641dbcc4c6defe1d880a34353990d129fd31f26c7c26", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/artifact_service.ts": "ed90cb99770289c3afb5ceaaab98f56be69d1259e6e6761fd6f1f29c6561f0ea", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/cookies.ts": "194c6c17e915692ba7fceda17109c1da8f426fde3e56d6dfd15a8d077d5bf789", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/mod.ts": "e6401d8b8a9a968f8feaefd618d55fbc7eaea9a16dafe0b70af50af313d86937", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/protocols/basic.ts": "99293b05820becf203822988020568e0cb8e304a477d4a85d887a6e570cb2ea6", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/protocols/internal.ts": "4b31e4780a18a281d27f69062efddf022799a1d4b3b852419f2a78df9f4c3332", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/protocols/jwt.ts": "5792f292d73730b823cd1da3133435dd23f6e1d8a88977c12298f017c5be957c", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/protocols/oauth2.ts": "d7d24eea260c318bdf48d1b31090dd8b4aa54e5320b9bc2140f7eb7f8e19a601", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/protocols/protocol.ts": "61ca77720004360879a6e3e890ef23eca5a97b85a2dd3d8a2f2fc4521c958be3", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/routes/mod.ts": "31d27a1a8edc99db7d5bbb68400821e73447f04b8106ff28f2a633f47ffd8221", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/routes/take.ts": "b6293899b75cc6c110a61fce7a0b49c2608779a01b0f735e5cfe8febe428edc6", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/auth/routes/validate.ts": "0d36f950262b608978aef8caef62900077fce352a0b33da37abd07a1482acef6", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/graphql_service.ts": "2a0bfe4e49b78412cccf2926ba9713871438cbf285df12b6e26979e9f3668dd1", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/info_service.ts": "0c5cb5a9926644b00d8129121655b6654a884f4ab3bb2a56a1b5e33c2fadafe3", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/middlewares.ts": "c996a25dffa58efc8f50e4a8f3f9df14d93b32b2bb6269c95ad0bec3cc05de94", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/playground_service.ts": "570cd407c5000bd93ddbd0a898ca5f50bb8d5f26d67684d1c592ab2c260ffce0", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/responses.ts": "b3e7f74d02e51a719968a417202c4a307b4c4dc73a73ed93ffbb76d73eef683c", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/services/rest_service.ts": "88c0a9b409beeb936ab3fc84a90ada122f38074975644036baa69dd2cf354290", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/sync/replicated_map.ts": "1191c444af253e9afd1b5d99bb203600b318bfa42efe1bfa87f1f5a58147f117", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/sync/typegraph.ts": "69fa06eae9f4676c4e8818fdb29056f4775a5d1ce04e8662a011cb777735e44b", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/system_typegraphs.ts": "a49296517ab9aeefb0a93ccbc2361969a78c8289b213115ddcba0216c359659e", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/transports/graphql/gq.ts": "7150dc876b8d2c423acf6571e4f82cb28b1d84472edbf7aec8f2db3d35099730", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/transports/graphql/graphql.ts": "db28dbff035dc4da27cbbc93596d31b9ae4c4647d8dd1ef8dd8466124dddf819", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/transports/graphql/request_parser.ts": "f808f194897a70be6f9b4125fad793b4ac6840558cae583f757fbe9c1db5cee5", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/transports/graphql/typegraph.ts": "f338320cca137a328aa680ecd8b7ca8e3f2bef18eeea911e1a71a53a247d2d89", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/transports/graphql/utils.ts": "52f41e4acc8c8e1f7438ff421562909fabfa84eee509e5fa7d3d446d631711c8", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/transports/rest/rest_schema_generator.ts": "6143277aa83e620bc1b89f5cc57952c2ed4559d4926b30afd8a7c213865cc142", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/artifacts/local.ts": "67899cac544f6c451420da2e66a7f761e51930ed524be67427409188e62097e0", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/artifacts/mod.ts": "19f8c0972b4d4832d438c6fc6dfcd485c4b3c9bb1a83d3e8a51900795cdcb5f4", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/artifacts/shared.ts": "e4881b2bdd38b1f06ffeaaac6936e963c3802c2113bb97beaf574cb4ab5ef5cc", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/hooks.ts": "fd1d74f6d3a964374e4cd5cc466690f428dbcbd8960f7edff58556698a00f34e", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/memory_register.ts": "6dc0d05a471f4574b969e20ab04b21fb9aa99c8e30cbd0fe043bd8d984cee724", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/mod.ts": "628e2b460b7c309db40aa7fbc656ce36186e9713fa6e4f9c90e91b97134f3094", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/no_limiter.ts": "820f766f78cb9546c916a6db2e1713cb9288ca17b2ab590f05e2f7748d1321af", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/rate_limiter.ts": "83b4d1197acb83065481489ef3cac1a6bf0fc9aa819fc2330c5dd177f4c79302", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegate/register.ts": "864d668ae3704984077d57c05a425cd5c74ba79bb6a42a54ef0112e1560fc543", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraph/mod.ts": "6c27b8838bae4bd683a1f30c5b6574be60341d3512c751b43bee14bb4da2bc29", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraph/type_node.ts": "2122369b68351e336bae60a18006b1329c95a0e82b4e25795ba3e419df493d15", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraph/types.ts": "122af777d054b9b5e6c827fe969762888e4a6634616cd8974713fefbc7ced596", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraph/utils.ts": "ce1a9ac71b86ccbae4334cef66e3424395349b6517bb0fdae31f3032607ac444", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraph/versions.ts": "89787a9cd05f5a630831c6b05ee17d868537aa95dbd0cdf5808030e3149c272d", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraph/visitor.ts": "d3df39cb77be23f6ea6e754db43d9b9b78dcf71fa8ed4a570c69e7102495af99", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraphs/introspection.json": "5b4367b31426e7cf4a302710c23948f30adca3829468029ee92da9fde5c2a660", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraphs/prisma_migration.json": "3a29869405591cd9791b05ed56f4598681491bc307aa218ceacd6441dc5149df", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/typegraphs/typegate.json": "6c2f9cb2c25090173968806f9a8298cfa68d3a339d034b853f0a526a66ba0d3c", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/types.ts": "c00d562e809aa2c773925f69467d42bf5b4146146d1a5e90d8704d0e1d56cfee", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/utils.ts": "37d7289fdfa897317947489c0e58ca4af919c582cec19394f3b49d377e1e3b76", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/utils/hash.ts": "1b0fc152d2b51c1acf542ba49ec383efea5236acb9d52526b7f6568fadb43dfb", - "https://raw.githubusercontent.com/metatypedev/metatype/822437bed9262bef92af79017802867b3542ee61/src/typegate/src/worker_utils.ts": "0b7e9252a0c6449299a4f604b9a5e6eb3f33ae842d3ac7f169627ccbfb285f1a" + "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/utils/worker.ts": "ac4caf72a36d2e4af4f4e92f2e0a95f9fc2324b568640f24c7c2ff6dc0c11d62" }, "workspace": { "members": { diff --git a/src/typegate/src/engine/planner/policies.ts b/src/typegate/src/engine/planner/policies.ts index 420cdc581..f2fdbcf4d 100644 --- a/src/typegate/src/engine/planner/policies.ts +++ b/src/typegate/src/engine/planner/policies.ts @@ -82,6 +82,7 @@ export class OperationPolicies { } #prepareStageToPolicies() { + console.log("prep", this.tg.name, this.orderedStageMetadata); this.#stageToPolicies = new Map(); // Note: policies for exposed functions are hoisted on the root struct (index 0) @@ -99,7 +100,7 @@ export class OperationPolicies { ) { const policies = this.#getPolicies(maybeWrappedIdx); this.#stageToPolicies.set(stageId, policies); - // console.log("> found", stageId, policies, node, this.#findSelectedFields(stageId)); + console.log("> found", stageId, policies, node, this.#findSelectedFields(stageId)); // top-level functions must have policies const isTopLevel = stageId.split(".").length == 1; diff --git a/src/typegate/src/runtimes/typegraph.ts b/src/typegate/src/runtimes/typegraph.ts index b9b14c985..1aa471f43 100644 --- a/src/typegate/src/runtimes/typegraph.ts +++ b/src/typegate/src/runtimes/typegraph.ts @@ -6,17 +6,11 @@ import { type TypeGraphDS, type TypeMaterializer, } from "../typegraph/mod.ts"; -import { TypeKind } from "graphql"; -import { ensure } from "../utils.ts"; import { Runtime } from "./Runtime.ts"; import { ComputeStage } from "../engine/query_engine.ts"; import { isEither, isEmptyObject, - isFunction, - isList, - isObject, - isOptional, isQuantifier, isScalar, isUnion, @@ -32,41 +26,19 @@ import { } from "../typegraph/visitor.ts"; import { distinctBy } from "@std/collections/distinct-by"; import { isInjected } from "../typegraph/utils.ts"; -import type { InjectionNode, PolicyIndices } from "../typegraph/types.ts"; - -type DeprecatedArg = { includeDeprecated?: boolean }; - -const SCALAR_TYPE_MAP = { - boolean: "Boolean", - integer: "Int", - float: "Float", - string: "String", - file: "File", -}; - -function generateCustomScalar(type: TypeNode, idx: number) { - if (isScalar(type)) { - const id = type.type; - return { - title: `_${id[0].toUpperCase()}${id.slice(1)}`, - type: "object", - properties: { - [id]: idx, - }, - } as ObjectNode; - } - throw `"${type.title}" of type "${type.type}" is not a scalar`; -} +import type { InjectionNode } from "../typegraph/types.ts"; +import { TypeFormatter } from "./typegraph/formatter.ts"; +import { + typeCustomScalar, + typeEmptyObjectScalar, +} from "./typegraph/helpers.ts"; +import { TypeVisibility } from "./typegraph/visibility.ts"; -type FieldInfo = { - name: string; - typeIdx: number; - policies: PolicyIndices[]; -}; +export type DeprecatedArg = { includeDeprecated?: boolean }; export class TypeGraphRuntime extends Runtime { tg: TypeGraphDS; - private scalarIndex = new Map(); + #formatterInstance: TypeFormatter | null = null; private constructor(tg: TypeGraphDS) { super(TypeGraph.formatName(tg)); @@ -88,16 +60,36 @@ export class TypeGraphRuntime extends Runtime { _waitlist: ComputeStage[], _verbose: boolean, ): ComputeStage[] { - const resolver: Resolver = (() => { - const name = stage.props.materializer?.name; - if (name === "getSchema") { - return this.getSchema; - } - if (name === "getType") { - return this.getType; - } + const resolver = this.#delegate(stage); + return [ + new ComputeStage({ + ...stage.props, + resolver, + }), + ]; + } + + initFormatter(denoRuntime: Runtime) { + const visibilityFilter = new TypeVisibility( this.tg, denoRuntime); + this.#formatterInstance = new TypeFormatter( this.tg, visibilityFilter); + } - if (name === "resolver") { + get #formatter() { + if (!this.#formatterInstance) { + throw new Error("Fatal: Type formatter not initialized yet"); + } + + return this.#formatterInstance; + } + + #delegate(stage: ComputeStage): Resolver { + const name = stage.props.materializer?.name; + switch (name) { + case "getSchema": + return this.#getSchemaResolver; + case "getType": + return this.#getTypeResolver; + case "resolver": return async ({ _: { parent } }) => { const resolver = parent[stage.props.node]; const ret = typeof resolver === "function" @@ -105,26 +97,18 @@ export class TypeGraphRuntime extends Runtime { : resolver; return ret; }; - } - - return async ({ _: { parent } }) => { - const resolver = parent[stage.props.node]; - const ret = typeof resolver === "function" - ? await resolver() - : resolver; - return ret; - }; - })(); - - return [ - new ComputeStage({ - ...stage.props, - resolver, - }), - ]; + default: + return async ({ _: { parent } }) => { + const resolver = parent[stage.props.node]; + const ret = typeof resolver === "function" + ? await resolver() + : resolver; + return ret; + }; + } } - getSchema: Resolver = () => { + #getSchemaResolver: Resolver = () => { const root = this.tg.types[0] as ObjectNode; const queries = this.tg.types[root.properties["query"]] as ObjectNode; @@ -133,448 +117,152 @@ export class TypeGraphRuntime extends Runtime { return { // https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L36 description: () => `${root.type} typegraph`, - types: () => { - // filter non-native GraphQL types - const filter = ( - type: TypeNode, - input: { - injectionTree: Record; - path: string[]; - } | null, - ) => { - return ( - (input == null || - !isInjected(this.tg, type, input.path, input.injectionTree)) && - !isQuantifier(type) - ); - }; - - const scalarTypeIndices = new Set(); - const inputTypeIndices = new Set(); - const regularTypeIndices = new Set(); - - const inputRootTypeIndices = new Set(); - const outputRootTypeIndices = new Set(); - - // decides whether or not custom object should be generated - let hasUnion = false; - let requireEmptyObject = false; - - const myVisitor: TypeVisitorMap = { - [Type.FUNCTION]: ({ type }) => { - // TODO skip if policy check fails - // https://metatype.atlassian.net/browse/MET-119 + types: this.#typesResolver, + queryType: () => { + if (!queries || Object.values(queries.properties).length === 0) { + // https://github.com/graphql/graphiql/issues/2308 (3x) enforce to keep empty Query type + return this.#formatter.formatType(queries, false, false); + } + return this.#formatter.formatType(queries, false, false); + }, + mutationType: () => { + if (!mutations || Object.values(mutations.properties).length === 0) { + return null; + } + return this.#formatter.formatType(mutations, false, false); + }, + subscriptionType: () => null, + directives: () => [], + }; + }; - // the struct input of a function never generates a GrahpQL type - // the actual inputs are the properties - inputRootTypeIndices.add(type.input); - outputRootTypeIndices.add(type.output); - visitTypes( - this.tg, - getChildTypes(this.tg.types[type.input]), - ({ type, idx }) => { - hasUnion ||= isUnion(type) || isEither(type); - if (isScalar(type)) { - scalarTypeIndices.add(idx); - this.scalarIndex.set(type.type, idx); - return false; - } - // FIXME - if (filter(type, null)) { - inputTypeIndices.add(idx); - } - return true; - }, - ); - return true; - }, - default: ({ type, idx }) => { - requireEmptyObject ||= isEmptyObject(type); + #typesResolver: Resolver = (_) => { + // filter non-native GraphQL types + const filter = ( + type: TypeNode, + input: { + injectionTree: Record; + path: string[]; + } | null, + ) => { + return ( + (input == null || + !isInjected(this.tg, type, input.path, input.injectionTree)) && + !isQuantifier(type) + ); + }; - if ( - inputRootTypeIndices.has(idx) && - !outputRootTypeIndices.has(idx) - ) { - return false; - } - // type is either a regular type or an input type reused in the output + const scalarTypeIndices = new Set(); + const inputTypeIndices = new Set(); + const regularTypeIndices = new Set(); + + const inputRootTypeIndices = new Set(); + const outputRootTypeIndices = new Set(); + + // decides whether or not custom object should be generated + let hasUnion = false; + let requireEmptyObject = false; + + const myVisitor: TypeVisitorMap = { + [Type.FUNCTION]: ({ type }) => { + // TODO skip if policy check fails + // https://metatype.atlassian.net/browse/MET-119 + + // the struct input of a function never generates a GrahpQL type + // the actual inputs are the properties + inputRootTypeIndices.add(type.input); + outputRootTypeIndices.add(type.output); + visitTypes( + this.tg, + getChildTypes(this.tg.types[type.input]), + ({ type, idx }) => { hasUnion ||= isUnion(type) || isEither(type); if (isScalar(type)) { scalarTypeIndices.add(idx); - this.scalarIndex.set(type.type, idx); + this.#formatter.scalarIndex.set(type.type, idx); return false; } // FIXME if (filter(type, null)) { - regularTypeIndices.add(idx); + inputTypeIndices.add(idx); } return true; }, - }; - - visitTypes(this.tg, getChildTypes(this.tg.types[0]), myVisitor); - const distinctScalars = distinctBy( - [...scalarTypeIndices].map((idx) => this.tg.types[idx]), - (t) => t.type, // for scalars: one GraphQL type per `type` not `title` - ); - const scalarTypes = distinctScalars.map((type) => - this.formatType(type, false, false) ); + return true; + }, + default: ({ type, idx }) => { + requireEmptyObject ||= isEmptyObject(type); - const adhocCustomScalarTypes = hasUnion - ? distinctScalars.map((node) => { - const idx = this.scalarIndex.get(node.type)!; - const asObject = generateCustomScalar(node, idx); - return this.formatType(asObject, false, false); - }) - : []; - - const regularTypes = distinctBy( - [...regularTypeIndices].map((idx) => this.tg.types[idx]), - (t) => t.title, - ).map((type) => this.formatType(type, false, false)); - - const inputTypes = distinctBy( - [...inputTypeIndices].map((idx) => this.tg.types[idx]), - (t) => t.title, - ).map((type) => this.formatType(type, false, true)); - - const types = [ - ...scalarTypes, - ...adhocCustomScalarTypes, - ...regularTypes, - ...inputTypes, - ]; - - // Handle non-root leaf case if ( - requireEmptyObject && - !types.some((t: any) => t!.title == "EmptyObject") + inputRootTypeIndices.has(idx) && + !outputRootTypeIndices.has(idx) ) { - types.push(emptyObjectScalar()); + return false; } - - this.scalarIndex.clear(); - return types; - }, - queryType: () => { - if (!queries || Object.values(queries.properties).length === 0) { - // https://github.com/graphql/graphiql/issues/2308 (3x) enforce to keep empty Query type - return this.formatType(queries, false, false); + // type is either a regular type or an input type reused in the output + hasUnion ||= isUnion(type) || isEither(type); + if (isScalar(type)) { + scalarTypeIndices.add(idx); + this.#formatter.scalarIndex.set(type.type, idx); + return false; } - return this.formatType(queries, false, false); - }, - mutationType: () => { - if (!mutations || Object.values(mutations.properties).length === 0) { - return null; + // FIXME + if (filter(type, null)) { + regularTypeIndices.add(idx); } - return this.formatType(mutations, false, false); - }, - subscriptionType: () => null, - directives: () => [], - }; - }; - - getType: Resolver = ({ name }) => { - const type = this.tg.types.find((type) => type.title === name); - return type ? this.formatType(type, false, false) : null; - }; - - formatInputFields = ( - [name, typeIdx]: [string, number], - injectionNode: InjectionNode | null, - ) => { - const type = this.tg.types[typeIdx]; - - // TODO resolve quantifiers - - if (injectionNode && ("injection" in injectionNode)) { - // FIXME MET-704 - - return null; - } - - return { - // https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L374 - name: () => name, - description: () => `${name} input field`, - type: () => { - const ret = this.formatType(type, true, true); - return ret; + return true; }, - defaultValue: () => null, - isDeprecated: () => false, - deprecationReason: () => null, }; - }; - - formatType = ( - type: TypeNode, - required: boolean, - asInput: boolean, - ): Record unknown> => { - const common = { - // https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L207 - name: () => null, - specifiedByURL: () => null, - // logic at https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L453-L490 - ofType: () => null, - inputFields: () => null, - fields: () => null, - interfaces: () => null, - possibleTypes: () => null, - enumValues: () => null, - }; - - if (isOptional(type)) { - const subtype = this.tg.types[type.item]; - return this.formatType(subtype, false, asInput); - } - - if (required) { - return { - ...common, - kind: () => TypeKind.NON_NULL, - ofType: () => { - return this.formatType(type, false, asInput); - }, - }; - } - - if (isList(type)) { - return { - ...common, - kind: () => TypeKind.LIST, - ofType: () => { - const subtype = this.tg.types[type.items]; - return this.formatType(subtype, true, asInput); - }, - }; - } - if (isScalar(type)) { - return { - ...common, - kind: () => TypeKind.SCALAR, - name: () => SCALAR_TYPE_MAP[type.type], - description: () => `${type.type} type`, - }; - } - - if (isFunction(type)) { - const output = this.tg.types[type.output as number]; - return this.formatType(output, false, false); - } - - if (isObject(type)) { - if (type.title === "Query" && Object.keys(type.properties).length === 0) { - // https://github.com/graphql/graphiql/issues/2308 (3x) enforce to keep empty Query type - return { - ...common, - kind: () => TypeKind.OBJECT, - name: () => "Query", - description: () => `${type.title} type`, - fields: () => [ - { - name: () => "_", - args: () => [], - type: () => - this.formatType( - this.tg.types[ - (this.tg.types[0] as ObjectNode).properties["query"] - ], // itself - false, - false, - ), - isDeprecated: () => true, - deprecationReason: () => - "Dummy value due to https://github.com/graphql/graphiql/issues/2308", - }, - ], - interfaces: () => [], - }; - } - - if (isEmptyObject(type)) { - return emptyObjectScalar(); - } - - if (asInput) { - return { - ...common, - kind: () => TypeKind.INPUT_OBJECT, - name: () => `${type.title}Inp`, - description: () => `${type.title} input type`, - inputFields: () => { - return Object.entries(type.properties).map(([name, typeIdx]) => - this.formatField(true)({ - name, - typeIdx, - policies: type.policies?.[name] ?? [], - }) - ); - }, - interfaces: () => [], - }; - } else { - return { - ...common, - kind: () => TypeKind.OBJECT, - name: () => type.title, - description: () => `${type.title} type`, - fields: () => { - let entries = Object.entries(type.properties); - entries = entries.sort((a, b) => b[1] - a[1]); - return entries.map(([name, typeIdx]) => - this.formatField(false)({ - name, - typeIdx, - policies: type.policies?.[name] ?? [], - }) - ); - }, - interfaces: () => [], - }; - } - } - - // Issue: - // Translate union (anyOf) / either (oneOf) to Graphql types that behave the same way - // - Current graphql spec does not allow UNION types on the input (yet) - // - UNION types does not support scalars, only objects - // Current solution: - // - input: translate either/union nodes to a custom scalar - // - output: translate either/union nodes to graphql UNION - // * caveat: since UNION does not allow scalar variants, we have to translate them - // to custom graphql objects - // Alternative ? - // https://github.com/graphql/graphql-spec/pull/825 - if (isEither(type) || isUnion(type)) { - const variants = isUnion(type) ? type.anyOf : type.oneOf; - if (asInput) { - const titles = new Set( - variants.map((idx) => this.tg.types[idx].title), - ); - const description = `${type.type} type\n${ - Array.from(titles).join( - ", ", - ) - }`; + visitTypes(this.tg, getChildTypes(this.tg.types[0]), myVisitor); + const distinctScalars = distinctBy( + [...scalarTypeIndices].map((idx) => this.tg.types[idx]), + (t) => t.type, // for scalars: one GraphQL type per `type` not `title` + ); + const scalarTypes = distinctScalars.map((type) => + this.#formatter.formatType(type, false, false) + ); + + const adhocCustomScalarTypes = hasUnion + ? distinctScalars.map((node) => { + const idx = this.#formatter.scalarIndex.get(node.type)!; + const asObject = typeCustomScalar(node, idx); + return this.#formatter.formatType(asObject, false, false); + }) + : []; + + const regularTypes = distinctBy( + [...regularTypeIndices].map((idx) => this.tg.types[idx]), + (t) => t.title, + ).map((type) => this.#formatter.formatType(type, false, false)); + + const inputTypes = distinctBy( + [...inputTypeIndices].map((idx) => this.tg.types[idx]), + (t) => t.title, + ).map((type) => this.#formatter.formatType(type, false, true)); + + const types = [ + ...scalarTypes, + ...adhocCustomScalarTypes, + ...regularTypes, + ...inputTypes, + ]; - return { - ...common, - kind: () => TypeKind.SCALAR, - name: () => `${type.title}In`, - description: () => description, - }; - } else { - return { - ...common, - kind: () => TypeKind.UNION, - name: () => `${type.title}Out`, - description: () => `${type.title} type`, - possibleTypes: () => { - return variants.map((idx) => { - const variant = this.tg.types[idx]; - if (isScalar(variant)) { - const idx = this.scalarIndex.get(variant.type)!; - const asObject = generateCustomScalar(variant, idx); - return this.formatType(asObject, false, false); - } else { - return this.formatType(variant, false, false); - } - }); - }, - }; - } + // Handle non-root leaf case + if ( + requireEmptyObject && + !types.some((t: any) => t!.title == "EmptyObject") + ) { + types.push(typeEmptyObjectScalar()); } - throw Error(`unexpected type format ${(type as any).type}`); - // interface: fields, interfaces, possibleTypes - // union: possibleTypes - // enum: enumValues + this.#formatter.scalarIndex.clear(); + return types; }; - policyDescription(policies: PolicyIndices[]): string { - const describeOne = (p: number) => this.tg.policies[p].name; - const describe = (p: PolicyIndices) => { - if (typeof p === "number") { - return describeOne(p); - } - return Object.entries(p) - .map(([eff, polIdx]) => `${eff}:${describeOne(polIdx)}`) - .join("; "); - }; - const policyNames = policies.map(describe); - - let ret = "\n\nPolicies:\n"; - - if (policyNames.length > 0) { - ret += policyNames.map((p: string) => `- ${p}`).join("\n"); - } else { - ret += "- inherit"; - } - - return ret; - } - - formatField = - (asInput: boolean) => ({ name, typeIdx, policies }: FieldInfo) => { - const type = this.tg.types[typeIdx]; - const common = { - // https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L329 - name: () => name, - description: () => `${name} field${this.policyDescription(policies)}`, - isDeprecated: () => false, - deprecationReason: () => null, - }; - - if (isFunction(type)) { - return { - ...common, - args: (_: DeprecatedArg = {}) => { - const inp = this.tg.types[type.input as number]; - ensure( - isObject(inp), - `${type} cannot be an input field, require struct`, - ); - let entries = Object.entries((inp as ObjectNode).properties); - entries = entries.sort((a, b) => b[1] - a[1]); - return entries - .map((entry) => - this.formatInputFields( - entry, - (type.injections ?? {})[entry[0]] ?? null, - ) - ) - .filter((f) => f !== null); - }, - type: () => { - const output = this.tg.types[type.output as number]; - return this.formatType(output, true, false); - }, - }; - } - - return { - ...common, - args: () => [], - type: () => { - return this.formatType(type, true, asInput); - }, - }; - }; -} - -function emptyObjectScalar() { - return { - kind: () => TypeKind.SCALAR, - name: () => "EmptyObject", - description: () => "object scalar type representing an empty object", - fields: () => {}, - inputFields: () => {}, - interfaces: () => {}, - enumValues: () => {}, - possibleTypes: () => {}, + #getTypeResolver: Resolver = ({ name }) => { + const type = this.tg.types.find((type) => type.title === name); + return type ? this.#formatter.formatType(type, false, false) : null; }; } diff --git a/src/typegate/src/runtimes/typegraph/formatter.ts b/src/typegate/src/runtimes/typegraph/formatter.ts new file mode 100644 index 000000000..4c962e1c2 --- /dev/null +++ b/src/typegate/src/runtimes/typegraph/formatter.ts @@ -0,0 +1,313 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + +import { TypeKind } from "graphql"; +import { TypeGraphDS } from "../../typegraph/mod.ts"; +import { + InjectionNode, + ObjectNode, + PolicyIndices, +} from "../../typegraph/types.ts"; +import { + isEither, + isEmptyObject, + isFunction, + isList, + isObject, + isOptional, + isScalar, + isUnion, + type TypeNode, +} from "../../typegraph/type_node.ts"; +import { DeprecatedArg } from "../typegraph.ts"; +import { ensure } from "../../utils.ts"; +import { + policyDescription, + typeCustomScalar, + typeEmptyObjectScalar, +} from "./helpers.ts"; +import { TypeVisibility } from "./visibility.ts"; + +const SCALAR_TYPE_MAP = { + boolean: "Boolean", + integer: "Int", + float: "Float", + string: "String", + file: "File", +}; + +type FieldInfo = { + name: string; + typeIdx: number; + policies: PolicyIndices[]; +}; + +export class TypeFormatter { + scalarIndex = new Map(); + constructor( + private tg: TypeGraphDS, + private visibilityFilter: TypeVisibility, + ) {} + + formatInputFields( + [name, typeIdx]: [string, number], + injectionNode: InjectionNode | null, + ) { + const type = this.tg.types[typeIdx]; + + // TODO resolve quantifiers + + if (injectionNode && ("injection" in injectionNode)) { + // FIXME MET-704 + return null; + } + + return { + // https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L374 + name: () => name, + description: () => `${name} input field`, + type: () => { + const ret = this.formatType(type, true, true); + return ret; + }, + defaultValue: () => null, + isDeprecated: () => false, + deprecationReason: () => null, + }; + } + + formatType = ( + type: TypeNode, + required: boolean, + asInput: boolean, + ): Record unknown> => { + const common = { + // https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L207 + name: () => null, + specifiedByURL: () => null, + // logic at https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L453-L490 + ofType: () => null, + inputFields: () => null, + fields: () => null, + interfaces: () => null, + possibleTypes: () => null, + enumValues: () => null, + }; + + if (isOptional(type)) { + const subtype = this.tg.types[type.item]; + return this.formatType(subtype, false, asInput); + } + + if (required) { + return { + ...common, + kind: () => TypeKind.NON_NULL, + ofType: () => { + return this.formatType(type, false, asInput); + }, + }; + } + + if (isList(type)) { + return { + ...common, + kind: () => TypeKind.LIST, + ofType: () => { + const subtype = this.tg.types[type.items]; + return this.formatType(subtype, true, asInput); + }, + }; + } + + if (isScalar(type)) { + return { + ...common, + kind: () => TypeKind.SCALAR, + name: () => SCALAR_TYPE_MAP[type.type], + description: () => `${type.type} type`, + }; + } + + if (isFunction(type)) { + const output = this.tg.types[type.output as number]; + return this.formatType(output, false, false); + } + + if (isObject(type)) { + if (type.title === "Query" && Object.keys(type.properties).length === 0) { + // https://github.com/graphql/graphiql/issues/2308 (3x) enforce to keep empty Query type + return { + ...common, + kind: () => TypeKind.OBJECT, + name: () => "Query", + description: () => `${type.title} type`, + fields: () => [ + { + name: () => "_", + args: () => [], + type: () => + this.formatType( + this.tg.types[ + (this.tg.types[0] as ObjectNode).properties["query"] + ], // itself + false, + false, + ), + isDeprecated: () => true, + deprecationReason: () => + "Dummy value due to https://github.com/graphql/graphiql/issues/2308", + }, + ], + interfaces: () => [], + }; + } + + if (isEmptyObject(type)) { + return typeEmptyObjectScalar(); + } + + if (asInput) { + return { + ...common, + kind: () => TypeKind.INPUT_OBJECT, + name: () => `${type.title}Inp`, + description: () => `${type.title} input type`, + inputFields: () => { + return Object.entries(type.properties).map(([name, typeIdx]) => + this.formatField(true)({ + name, + typeIdx, + policies: type.policies?.[name] ?? [], + }) + ); + }, + interfaces: () => [], + }; + } else { + return { + ...common, + kind: () => TypeKind.OBJECT, + name: () => type.title, + description: () => `${type.title} type`, + fields: () => { + let entries = Object.entries(type.properties); + entries = entries.sort((a, b) => b[1] - a[1]); + return entries.map(([name, typeIdx]) => + this.formatField(false)({ + name, + typeIdx, + policies: type.policies?.[name] ?? [], + }) + ); + }, + interfaces: () => [], + }; + } + } + + // Issue: + // Translate union (anyOf) / either (oneOf) to Graphql types that behave the same way + // - Current graphql spec does not allow UNION types on the input (yet) + // - UNION types does not support scalars, only objects + // Current solution: + // - input: translate either/union nodes to a custom scalar + // - output: translate either/union nodes to graphql UNION + // * caveat: since UNION does not allow scalar variants, we have to translate them + // to custom graphql objects + // Alternative ? + // https://github.com/graphql/graphql-spec/pull/825 + if (isEither(type) || isUnion(type)) { + const variants = isUnion(type) ? type.anyOf : type.oneOf; + if (asInput) { + const titles = new Set( + variants.map((idx) => this.tg.types[idx].title), + ); + const description = `${type.type} type\n${ + Array.from(titles).join( + ", ", + ) + }`; + + return { + ...common, + kind: () => TypeKind.SCALAR, + name: () => `${type.title}In`, + description: () => description, + }; + } else { + return { + ...common, + kind: () => TypeKind.UNION, + name: () => `${type.title}Out`, + description: () => `${type.title} type`, + possibleTypes: () => { + return variants.map((idx) => { + const variant = this.tg.types[idx]; + if (isScalar(variant)) { + const idx = this.scalarIndex.get(variant.type)!; + const asObject = typeCustomScalar(variant, idx); + return this.formatType(asObject, false, false); + } else { + return this.formatType(variant, false, false); + } + }); + }, + }; + } + } + + throw Error(`unexpected type format ${(type as any).type}`); + // interface: fields, interfaces, possibleTypes + // union: possibleTypes + // enum: enumValues + }; + + formatField = + (asInput: boolean) => ({ name, typeIdx, policies }: FieldInfo) => { + const type = this.tg.types[typeIdx]; + const common = { + // https://github.com/graphql/graphql-js/blob/main/src/type/introspection.ts#L329 + name: () => name, + description: () => + `${name} field${policyDescription(this.tg, policies)}`, + isDeprecated: () => false, + deprecationReason: () => null, + }; + + if (isFunction(type)) { + return { + ...common, + args: (_: DeprecatedArg = {}) => { + const inp = this.tg.types[type.input as number]; + ensure( + isObject(inp), + `${type} cannot be an input field, require struct`, + ); + let entries = Object.entries((inp as ObjectNode).properties); + entries = entries.sort((a, b) => b[1] - a[1]); + return entries + .map((entry) => + this.formatInputFields( + entry, + (type.injections ?? {})[entry[0]] ?? null, + ) + ) + .filter((f) => f !== null); + }, + type: () => { + const output = this.tg.types[type.output as number]; + return this.formatType(output, true, false); + }, + }; + } + + return { + ...common, + args: () => [], + type: () => { + return this.formatType(type, true, asInput); + }, + }; + }; +} diff --git a/src/typegate/src/runtimes/typegraph/helpers.ts b/src/typegate/src/runtimes/typegraph/helpers.ts new file mode 100644 index 000000000..532203e4d --- /dev/null +++ b/src/typegate/src/runtimes/typegraph/helpers.ts @@ -0,0 +1,60 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + +import { TypeKind } from "graphql"; +import { TypeGraphDS } from "../../typegraph/mod.ts"; +import { ObjectNode, PolicyIndices } from "../../typegraph/types.ts"; +import { isScalar, type TypeNode } from "../../typegraph/type_node.ts"; + +export function typeCustomScalar(type: TypeNode, idx: number) { + if (isScalar(type)) { + const id = type.type; + return { + title: `_${id[0].toUpperCase()}${id.slice(1)}`, + type: "object", + properties: { + [id]: idx, + }, + } as ObjectNode; + } + throw `"${type.title}" of type "${type.type}" is not a scalar`; +} + +export function typeEmptyObjectScalar() { + return { + kind: () => TypeKind.SCALAR, + name: () => "EmptyObject", + description: () => "object scalar type representing an empty object", + fields: () => {}, + inputFields: () => {}, + interfaces: () => {}, + enumValues: () => {}, + possibleTypes: () => {}, + }; +} + +export function policyDescription( + tg: TypeGraphDS, + policies: PolicyIndices[], +): string { + const describeOne = (p: number) => tg.policies[p].name; + const describe = (p: PolicyIndices) => { + if (typeof p === "number") { + return describeOne(p); + } + return Object.entries(p) + .map(([eff, polIdx]) => `${eff}:${describeOne(polIdx)}`) + .join("; "); + }; + const policyNames = policies.map(describe); + + let ret = "\n\nPolicies:\n"; + + if (policyNames.length > 0) { + ret += policyNames.map((p: string) => `- ${p}`).join("\n"); + } else { + ret += "- inherit"; + } + + return ret; +} diff --git a/src/typegate/src/runtimes/typegraph/visibility.ts b/src/typegate/src/runtimes/typegraph/visibility.ts new file mode 100644 index 000000000..eb0b18d7f --- /dev/null +++ b/src/typegate/src/runtimes/typegraph/visibility.ts @@ -0,0 +1,30 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + +import { TypeGraphDS } from "../../typegraph/mod.ts"; +import { Runtime } from "../Runtime.ts"; + +export class TypeVisibility { + visibilityCache: Map; + constructor( + private tg: TypeGraphDS, + private denoRuntime: Runtime, // + ) { + this.visibilityCache = new Map(); + } + + + // TODO: + // + // Prepare visibility for each type in traversal order + // (How to reuse the same logic as the stage ones?? otherwise redo/refactor) + // If done, cache resolver results for the type idx + // + // Bring context + // use check to filter out types + + check(_typeIdx: number): boolean { + // resolve and cache by idx + return false; + } +} diff --git a/src/typegate/src/typegate/mod.ts b/src/typegate/src/typegate/mod.ts index ab34eb962..66b5ae54c 100644 --- a/src/typegate/src/typegate/mod.ts +++ b/src/typegate/src/typegate/mod.ts @@ -22,6 +22,8 @@ import * as PrismaHooks from "../runtimes/prisma/hooks/mod.ts"; import * as DenoHooks from "../runtimes/deno/hooks/mod.ts"; import * as PythonHooks from "../runtimes/python/hooks/mod.ts"; import { + prepareRuntimeReferences, + RuntimeRefData, type RuntimeResolver, SecretManager, TypeGraph, @@ -145,13 +147,12 @@ export class Typegate implements AsyncDisposable { const register = await ReplicatedRegister.init( typegate, syncConfig.redis, - typegraphStore + typegraphStore, ); typegate.disposables.use(register); (typegate as { register: Register }).register = register; - if (config.sync?.forceRemove) { logger.warn("Force removal at boot enabled"); const history = await register.replicatedMap.getAllHistory(); @@ -412,7 +413,11 @@ export class Typegate implements AsyncDisposable { await this.artifactStore.runArtifactGC(); } - async forceRemove(name: string, payload: string, typegraphStore: TypegraphStore) { + async forceRemove( + name: string, + payload: string, + typegraphStore: TypegraphStore, + ) { logger.warn(`Dropping "${name}": started`); const typegraphId = typegraphIdSchema.parse(JSON.parse(payload)); const [tg] = await typegraphStore.download( @@ -437,24 +442,36 @@ export class Typegate implements AsyncDisposable { const introspectionDef = parseGraphQLTypeGraph( await TypeGraph.parseJson(INTROSPECTION_JSON_STR), ); + const rtRefResolver = prepareRuntimeReferences(this, secretManager); - const introspection = enableIntrospection - ? await TypeGraph.init( - this, + let introspection: TypeGraph | null = null; + if (enableIntrospection) { + const typegraphRuntime = TypeGraphRuntime.init(tgDS, [], {}); + const introspectionRuntimeRefData = await rtRefResolver( introspectionDef, - new SecretManager(introspectionDef, {}), { - typegraph: TypeGraphRuntime.init(tgDS, [], {}), + typegraph: typegraphRuntime, }, + ); + (typegraphRuntime as TypeGraphRuntime).initFormatter( + introspectionRuntimeRefData.denoRuntime, + ); + + introspection = await TypeGraph.init( + this, + introspectionDef, + new SecretManager(introspectionDef, {}), + introspectionRuntimeRefData, null, - ) - : null; + ); + } + const tgRuntimeRefData = await rtRefResolver(tgDS, customRuntime); const tg = await TypeGraph.init( this, tgDS, secretManager, - customRuntime, + tgRuntimeRefData, introspection, ); diff --git a/src/typegate/src/typegraph/mod.ts b/src/typegate/src/typegraph/mod.ts index dc093036a..3bc99f344 100644 --- a/src/typegate/src/typegraph/mod.ts +++ b/src/typegate/src/typegraph/mod.ts @@ -56,6 +56,11 @@ export type { }; export type RuntimeResolver = Record; +export type RuntimeRefData = { + runtimeReferences: Array; + denoRuntimeIdx: number; + denoRuntime: Runtime; +}; export class SecretManager { private typegraphName: string; @@ -165,11 +170,11 @@ export class TypeGraph implements AsyncDisposable { typegate: Typegate, typegraph: TypeGraphDS, secretManager: SecretManager, - staticReference: RuntimeResolver, + runtimeRefData: RuntimeRefData, introspection: TypeGraph | null, ): Promise { const typegraphName = TypeGraph.formatName(typegraph); - const { meta, runtimes } = typegraph; + const { meta } = typegraph; // check mandatory secrets for injection meta.secrets.forEach((s) => secretManager.secretOrFail(s)); @@ -208,37 +213,10 @@ export class TypeGraph implements AsyncDisposable { return {}; }; + const { denoRuntimeIdx, runtimeReferences, denoRuntime } = runtimeRefData + // this is not the best implementation for auth function // however, it is the simplest one for now - const denoRuntimeIdx = runtimes.findIndex((r) => r.name === "deno"); - ensure(denoRuntimeIdx !== -1, "cannot find deno runtime"); - - const runtimeReferences = await Promise.all( - runtimes.map((runtime, idx) => { - if (runtime.name in staticReference) { - return staticReference[runtime.name]; - } - - const materializers = typegraph.materializers.filter( - (mat) => mat.runtime === idx, - ); - - logger.info("initializing runtime {}", { name: runtime.name }); - return initRuntime(runtime.name, { - typegate, - typegraph, - typegraphName, - materializers, - args: (runtime as any)?.data ?? {}, - secretManager, - }); - }), - ); - - const denoRuntime = runtimeReferences[denoRuntimeIdx]; - - ensureNonNullable(denoRuntime, "cannot find deno runtime"); - const auths = new Map(); const tg = new TypeGraph( typegate, @@ -557,3 +535,46 @@ export type PossibleSelectionFields = | null | Map | Array<[string, Map]>; + +export function prepareRuntimeReferences( + typegate: Typegate, + secretManager: SecretManager, +) { + return async ( + typegraph: TypeGraphDS, + staticReference: RuntimeResolver, + )=> { + const typegraphName = TypeGraph.formatName(typegraph); + const { runtimes } = typegraph; + const denoRuntimeIdx = runtimes.findIndex((r) => r.name === "deno"); + ensure(denoRuntimeIdx !== -1, "cannot find deno runtime"); + + const runtimeReferences = await Promise.all( + runtimes.map((runtime, idx) => { + if (runtime.name in staticReference) { + return staticReference[runtime.name]; + } + + const materializers = typegraph.materializers.filter( + (mat) => mat.runtime === idx, + ); + + logger.info("initializing runtime {}", { name: runtime.name }); + return initRuntime(runtime.name, { + typegate, + typegraph, + typegraphName, + materializers, + args: (runtime as any)?.data ?? {}, + secretManager, + }); + }), + ); + + return { + runtimeReferences, + denoRuntimeIdx, + denoRuntime: runtimeReferences[denoRuntimeIdx], + }; + } +}