diff --git a/.ghjk/deno.lock b/.ghjk/deno.lock index ca32cdd5d..7ec8db2ca 100644 --- a/.ghjk/deno.lock +++ b/.ghjk/deno.lock @@ -5,6 +5,7 @@ "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/assert@^0.221.0": "jsr:@std/assert@0.221.0", + "jsr:@std/assert@^1.0.3": "jsr:@std/assert@1.0.10", "jsr:@std/bytes@^0.221.0": "jsr:@std/bytes@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", @@ -12,6 +13,7 @@ "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.9", + "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/path@0.221.0": "jsr:@std/path@0.221.0", @@ -44,6 +46,12 @@ "@std/assert@0.221.0": { "integrity": "a5f1aa6e7909dbea271754fd4ab3f4e687aeff4873b4cef9a320af813adb489a" }, + "@std/assert@1.0.10": { + "integrity": "59b5cbac5bd55459a19045d95cc7c2ff787b4f8527c0dd195078ff6f9481fbb3", + "dependencies": [ + "jsr:@std/internal@^1.0.5" + ] + }, "@std/bytes@0.221.0": { "integrity": "64a047011cf833890a4a2ab7293ac55a1b4f5a050624ebc6a0159c357de91966" }, @@ -72,6 +80,9 @@ "jsr:@std/path@^1.0.8" ] }, + "@std/internal@1.0.5": { + "integrity": "54a546004f769c1ac9e025abd15a76b6671ddc9687e2313b67376125650dc7ba" + }, "@std/io@0.221.0": { "integrity": "faf7f8700d46ab527fa05cc6167f4b97701a06c413024431c6b4d207caa010da", "dependencies": [ @@ -597,6 +608,7 @@ "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", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/files/deno/mod.ts": "1b8204c3df18b908408b2148b48af788e669d0debbeb8ba119418ab1ddf1ab8f", + "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/files/deno/worker.ts": "8ded400d70a0bd40e281ceb1ffcdc82578443caf9c481b9eee77166472784282", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/files/mod.ts": "44a8874c6ee9f086b7a521d4956c1802be201d01f9e91329d52a4b96738f7a34", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/host/mod.ts": "af5a9704c3a5b410b322afe0bc8caaaac5b28e1e1591d82b0c5fb53f92cbc97f", "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/host/types.ts": "f450d9b9c0eced2650262d02455aa6f794de0edd6b052aade256882148e5697f", diff --git a/.ghjk/lock.json b/.ghjk/lock.json index 3f0e6de9f..d24c4ea5e 100644 --- a/.ghjk/lock.json +++ b/.ghjk/lock.json @@ -9,7 +9,7 @@ "version": "v2.4.0", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false @@ -20,13 +20,13 @@ "specifiedVersion": true }, "bciqj4p5hoqweghbuvz52rupja7sqze34z63dd62nz632c5zxikv6ezy": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false }, "bciqjlw6cxddajjmznoemlmnu7mgbbm7a3hfmnd2x5oivwajmiqui5ey": { - "version": "v0.2.69", + "version": "v0.2.71", "buildDepConfigs": {}, "portRef": "act_ghrel@0.1.0", "specifiedVersion": false @@ -35,7 +35,7 @@ "version": "0.5.0", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -47,7 +47,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -68,7 +68,7 @@ "specifiedVersion": false }, "bciqeal5okt5zj763vhgsmf3afr5thrkqaitv6pb3wwegcwyb74gdyjq": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -80,7 +80,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -95,7 +95,7 @@ "specifiedVersion": true }, "bciqay4m4kmzfduj5t2clgejxgpe5zwper6lyyaxt7rhbjalaqd32nhq": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -104,7 +104,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -117,7 +117,7 @@ "version": "0.4.0", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -129,7 +129,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -150,10 +150,10 @@ "specifiedVersion": false }, "bciqjt35de5uwbp3qv3idkj7or2pu2gcun5jjkdttfupyuseslmjny5i": { - "version": "2.6.1", + "version": "2.7.0", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -165,7 +165,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -192,13 +192,13 @@ "version": "3.12.5", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false }, "zstd_aa": { - "version": "v1.4.8,", + "version": "v1.5.6,", "buildDepConfigs": {}, "portRef": "zstd_aa@0.1.0", "specifiedVersion": false @@ -217,13 +217,13 @@ "version": "3.12.5", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false }, "zstd_aa": { - "version": "v1.4.8,", + "version": "v1.5.6,", "buildDepConfigs": {}, "portRef": "zstd_aa@0.1.0", "specifiedVersion": false @@ -234,7 +234,7 @@ "specifiedVersion": true }, "bciqe6fwheayositrdk7rkr2ngdr4wizldakex23tgivss7w6z7g3q3y": { - "version": "v1.4.8,", + "version": "v1.5.6,", "buildDepConfigs": {}, "portRef": "zstd_aa@0.1.0", "specifiedVersion": false @@ -249,7 +249,7 @@ "version": "1.33.0", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -261,7 +261,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -285,7 +285,7 @@ "version": "0.2.5", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -297,7 +297,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -324,22 +324,22 @@ "specifiedVersion": true }, "bciqmpujkkyxmzdz7sxpvi2pmajzfmg6gofplyqn43av2styxu2ng7sy": { - "version": "7.81.0", + "version": "8.11.0", "buildDepConfigs": {}, "portRef": "curl_aa@0.1.0", "specifiedVersion": false }, "bciqngfjdds2gmnwhriiif3fjgqw2hhpm3ssqxlnq4kiwyk53uesmzgy": { - "version": "3.31.0-rc3", + "version": "3.31.4", "buildDepConfigs": { "curl_aa": { - "version": "7.81.0", + "version": "8.11.0", "buildDepConfigs": {}, "portRef": "curl_aa@0.1.0", "specifiedVersion": false }, "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -348,7 +348,7 @@ "version": "9959904699", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -374,7 +374,7 @@ "version": "9959904699", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -384,8 +384,8 @@ "pluginRepo": "https://github.com/asdf-community/asdf-cmake", "specifiedVersion": false }, - "bciqnevzirr33l7mxnm5j4ztqpfr3vm3tqpk674kohp2f3mpqv44zzry": { - "version": "2.34.1", + "bciqann5bufou5bjvn7uzq4zr5baiawmo23rkt4jy2bpruewumtfmbei": { + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": true @@ -400,13 +400,13 @@ "version": "3.9.19", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false }, "zstd_aa": { - "version": "v1.4.8,", + "version": "v1.5.6,", "buildDepConfigs": {}, "portRef": "zstd_aa@0.1.0", "specifiedVersion": false @@ -423,13 +423,13 @@ "version": "3.12.5", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false }, "zstd_aa": { - "version": "v1.4.8,", + "version": "v1.5.6,", "buildDepConfigs": {}, "portRef": "zstd_aa@0.1.0", "specifiedVersion": false @@ -451,13 +451,13 @@ "version": "3.12.5", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false }, "zstd_aa": { - "version": "v1.4.8,", + "version": "v1.5.6,", "buildDepConfigs": {}, "portRef": "zstd_aa@0.1.0", "specifiedVersion": false @@ -476,7 +476,7 @@ "version": "v20.8.0", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false @@ -485,8 +485,8 @@ "portRef": "node_org@0.1.0", "specifiedVersion": true }, - "bciqcph72sicdlw4p47fufwrlg32rgxrnkunrofr3eyql5zmnsjguk4q": { - "version": "v9.4.0", + "bciqb53vnbgb6fcovjas7p4vhxkqbqicchrmz4g6cz2c2ffj2lqaog3i": { + "version": "v9.15.0", "buildDepConfigs": {}, "portRef": "pnpm_ghrel@0.1.0", "specifiedVersion": true @@ -498,7 +498,7 @@ "version": "v20.8.0", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false @@ -516,7 +516,7 @@ "version": "0.116.1", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -528,7 +528,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -552,7 +552,7 @@ "version": "1.208.1", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -564,7 +564,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -591,13 +591,13 @@ "version": "3.12.5", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false }, "zstd_aa": { - "version": "v1.4.8,", + "version": "v1.5.6,", "buildDepConfigs": {}, "portRef": "zstd_aa@0.1.0", "specifiedVersion": false @@ -619,7 +619,7 @@ "version": "v20.8.0", "buildDepConfigs": { "tar_aa": { - "version": "1.34", + "version": "1.35", "buildDepConfigs": {}, "portRef": "tar_aa@0.1.0", "specifiedVersion": false @@ -633,11 +633,11 @@ "packageName": "@bytecodealliance/jco", "specifiedVersion": true }, - "bciqad6aisdl5shqpoyngeaoclm3akepy6wf7vtbmdhyduegz6yxbjdi": { - "version": "3.5.1", + "bciqn2ct4mwrwyise3qlnabpine33dzt3lvnrhrbnkw4pnyryfe5is5a": { + "version": "3.7.1", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -649,7 +649,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -675,7 +675,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -693,7 +693,7 @@ "version": "0.1.47", "buildDepConfigs": { "cargo_binstall_ghrel": { - "version": "v1.10.9", + "version": "v1.10.21", "buildDepConfigs": {}, "portRef": "cargo_binstall_ghrel@0.1.0", "specifiedVersion": false @@ -705,7 +705,7 @@ "version": "1.27.1", "buildDepConfigs": { "git_aa": { - "version": "2.34.1", + "version": "2.45.2", "buildDepConfigs": {}, "portRef": "git_aa@0.1.0", "specifiedVersion": false @@ -724,47 +724,6 @@ "crateName": "cargo-udeps", "locked": true, "specifiedVersion": true - }, - "bciqb53vnbgb6fcovjas7p4vhxkqbqicchrmz4g6cz2c2ffj2lqaog3i": { - "version": "v9.15.0", - "buildDepConfigs": {}, - "portRef": "pnpm_ghrel@0.1.0", - "specifiedVersion": true - }, - "bciqn2ct4mwrwyise3qlnabpine33dzt3lvnrhrbnkw4pnyryfe5is5a": { - "version": "3.7.1", - "buildDepConfigs": { - "cargo_binstall_ghrel": { - "version": "v1.10.9", - "buildDepConfigs": {}, - "portRef": "cargo_binstall_ghrel@0.1.0", - "specifiedVersion": false - }, - "rust_rustup": { - "version": "1.80.1", - "buildDepConfigs": { - "rustup_rustlang": { - "version": "1.27.1", - "buildDepConfigs": { - "git_aa": { - "version": "2.34.1", - "buildDepConfigs": {}, - "portRef": "git_aa@0.1.0", - "specifiedVersion": false - } - }, - "portRef": "rustup_rustlang@0.1.0", - "specifiedVersion": false - } - }, - "portRef": "rust_rustup@0.1.0", - "profile": "minimal", - "specifiedVersion": true - } - }, - "portRef": "cargobi_cratesio@0.1.0", - "crateName": "protobuf-codegen", - "specifiedVersion": true } } }, @@ -1007,96 +966,96 @@ "ty": "denoFile@v1", "key": "clean-node", "desc": "Remove all node_modules directories in tree and other js artifacts.", - "envKey": "bciqcqqs4e5l7nqt57e4bku3gjdxs2iruhfdl2ocayrkkcs4otx7ig7a" + "envKey": "bciqdjeti6ggn2dvpporxwb2phkde5ebqydekhmnwsadglmaulgfvkpq" }, "clean-rust": { "ty": "denoFile@v1", "key": "clean-rust", "desc": "Clean cache of all cargo workspaces in repo.", - "envKey": "bciqof7ogmp2lx2bzmkbrtmdmrmj7seytb6bl2sb4uhnsxkf5v24m75i" + "envKey": "bciqo2beyk2zq4cqxjmaidvdvyqadpxjj7cg3s2gsmffvbu3dsorujpq" }, "version-bump": { "ty": "denoFile@v1", "key": "version-bump", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "version-print": { "ty": "denoFile@v1", "key": "version-print", - "desc": "Print $METATYPE_VERSION", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "desc": "Print $CURRENT_VERSION", + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "test-rust": { "ty": "denoFile@v1", "key": "test-rust", - "envKey": "bciqc4wyajjcgt24t2uhjf7zkzhq6gy2iektcnmjrnrkj3u2mhlzhcma" + "envKey": "bciqbpi44mvq77dlpyhj6f3qd65he7briefiuow3ikuf63fl7sog5axq" }, "test-website": { "ty": "denoFile@v1", "key": "test-website", "workingDir": "./docs/metatype.dev", - "envKey": "bciqcqqs4e5l7nqt57e4bku3gjdxs2iruhfdl2ocayrkkcs4otx7ig7a" + "envKey": "bciqdjeti6ggn2dvpporxwb2phkde5ebqydekhmnwsadglmaulgfvkpq" }, "test-e2e": { "ty": "denoFile@v1", "key": "test-e2e", "desc": "Shorthand for `tools/test.ts`", - "envKey": "bciqbjavwy7rbire3zwlpgo2ifwzgnm6ywxqswnh6qxezwuvc4bqhrca" + "envKey": "bciqgfkhptprs54tg3wl45acxctzc2lu4v2xlh3slk6w4m5g5ctysv4a" }, "lock-sed": { "ty": "denoFile@v1", "key": "lock-sed", "desc": "Update versions", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "lint-deno": { "ty": "denoFile@v1", "key": "lint-deno", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "lint-udeps": { "ty": "denoFile@v1", "key": "lint-udeps", "desc": "Check for unused cargo depenencies", - "envKey": "bciqkfzynmgivxtsz2qoytkbvn4rwxe3ngzodvhxvvlqqlt4b62miuyy" + "envKey": "bciqexkzgjrssbarv2i34mmu26kjs4iqkbpbm5ffwbf5xqpmg54wk7uq" }, "install-wasi-adapter": { "ty": "denoFile@v1", "key": "install-wasi-adapter", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "install-website": { "ty": "denoFile@v1", "key": "install-website", - "envKey": "bciqcqqs4e5l7nqt57e4bku3gjdxs2iruhfdl2ocayrkkcs4otx7ig7a" + "envKey": "bciqdjeti6ggn2dvpporxwb2phkde5ebqydekhmnwsadglmaulgfvkpq" }, "install-ts": { "ty": "denoFile@v1", "key": "install-ts", - "envKey": "bciqcqqs4e5l7nqt57e4bku3gjdxs2iruhfdl2ocayrkkcs4otx7ig7a" + "envKey": "bciqdjeti6ggn2dvpporxwb2phkde5ebqydekhmnwsadglmaulgfvkpq" }, "install-py": { "ty": "denoFile@v1", "key": "install-py", - "envKey": "bciqovedn2du5h56q6t4nolxi47yddf76bgaobbexfcxsjyuzj465tri" + "envKey": "bciqkgzicthxfj4ol55smhozlncz2qcjqiyfieya5tpadsw3nhr62mlq" }, "install-sys": { "ty": "denoFile@v1", "key": "install-sys", "desc": "Print a command you can use to install system items", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "gen-subs-protoc": { "ty": "denoFile@v1", "key": "gen-subs-protoc", "workingDir": "src/substantial", "desc": "Regenerate substantial types", - "envKey": "bciqifnqvvzjvxnddwvnxomtrjtti2f5iefaj2l3aoz732lrnmg4utvq" + "envKey": "bciqbwqfy7ssmgbvaob7lkcoda5bqcj2gjmuw7eld27y2gbupi3b6v5q" }, "gen-pyrt-bind": { "ty": "denoFile@v1", "key": "gen-pyrt-bind", - "envKey": "bciqa4zotbgmulpg3cutg6nu3ptq5merbt2gbf5a26twwcfe7djxchsi" + "envKey": "bciqbs2et5k6assk4valtouiftbsxzowucfeacwviwidnuau34ebv7qa" }, "build-pyrt": { "ty": "denoFile@v1", @@ -1104,84 +1063,84 @@ "dependsOn": [ "gen-pyrt-bind" ], - "envKey": "bciqa4zotbgmulpg3cutg6nu3ptq5merbt2gbf5a26twwcfe7djxchsi" + "envKey": "bciqbs2et5k6assk4valtouiftbsxzowucfeacwviwidnuau34ebv7qa" }, "fetch-deno": { "ty": "denoFile@v1", "key": "fetch-deno", "desc": "Cache remote deno modules.", - "envKey": "bciqcqqs4e5l7nqt57e4bku3gjdxs2iruhfdl2ocayrkkcs4otx7ig7a" + "envKey": "bciqdjeti6ggn2dvpporxwb2phkde5ebqydekhmnwsadglmaulgfvkpq" }, "dev-website": { "ty": "denoFile@v1", "key": "dev-website", "workingDir": "./docs/metatype.dev", "desc": "Launch the website", - "envKey": "bciqgrksux7l63plnyfryiqoth7wghawzcxmptsdw7qlbxpeytpot6fq" + "envKey": "bciqpsctlw7xcrq7tireajcbbystmm3fhtvk4kmvwpzcu5plp2imucvi" }, "dev-gate6": { "ty": "denoFile@v1", "key": "dev-gate6", "desc": "Launch the typegate from a locally found meta bin.", - "envKey": "bciqk7rioqxzcpzf572poq2vwefpcmqnboofojgkgonvpih3q6wwyldq" + "envKey": "bciqcy6a27uzjhcj3e5xytw4papwmehbgm6fcbaedufwpnf6v6sp4wcq" }, "dev-gate5": { "ty": "denoFile@v1", "key": "dev-gate5", "desc": "Launch the typegate from the latests published image.", - "envKey": "bciqk7rioqxzcpzf572poq2vwefpcmqnboofojgkgonvpih3q6wwyldq" + "envKey": "bciqcy6a27uzjhcj3e5xytw4papwmehbgm6fcbaedufwpnf6v6sp4wcq" }, "dev-gate4": { "ty": "denoFile@v1", "key": "dev-gate4", "desc": "Launch the typegate from the locally built typegate image.", - "envKey": "bciqk7rioqxzcpzf572poq2vwefpcmqnboofojgkgonvpih3q6wwyldq" + "envKey": "bciqcy6a27uzjhcj3e5xytw4papwmehbgm6fcbaedufwpnf6v6sp4wcq" }, "dev-gate3": { "ty": "denoFile@v1", "key": "dev-gate3", "desc": "Launch the typegate from meta-cli cmd.", - "envKey": "bciqk7rioqxzcpzf572poq2vwefpcmqnboofojgkgonvpih3q6wwyldq" + "envKey": "bciqcy6a27uzjhcj3e5xytw4papwmehbgm6fcbaedufwpnf6v6sp4wcq" }, "dev-gate2": { "ty": "denoFile@v1", "key": "dev-gate2", "desc": "Launch the typegate in sync mode.", - "envKey": "bciqe4fan2davv7bngzw6aygwwbrd7vjviea4rylpwikafl4kqyaxyuq" + "envKey": "bciqcus7eso3tgulos7mstngakchermtlt46ksfl4mbsoqyle3gx7tla" }, "dev-gate1": { "ty": "denoFile@v1", "key": "dev-gate1", "desc": "Launch the typegate in single-instance mode.", - "envKey": "bciqk7rioqxzcpzf572poq2vwefpcmqnboofojgkgonvpih3q6wwyldq" + "envKey": "bciqcy6a27uzjhcj3e5xytw4papwmehbgm6fcbaedufwpnf6v6sp4wcq" }, "dev-eg-tgraphs": { "ty": "denoFile@v1", "key": "dev-eg-tgraphs", "desc": "meta dev example/typegraphs", - "envKey": "bciqlb6jtozvezqdgkfkfxlztreqi2j6lxqdk5zvvlbc2o5ka7qtljji" + "envKey": "bciqapaicf5avwzknht5btyamhy5vbivdzpz3zja5szsw5rhzp25yaza" }, "dev-compose": { "ty": "denoFile@v1", "key": "dev-compose", "desc": "Wrapper around docker compose to manage runtime dependencies", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "dev": { "ty": "denoFile@v1", "key": "dev", "desc": "Execute tools/*.ts scripts.", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "build-tgraph-ts-jsr": { "ty": "denoFile@v1", "key": "build-tgraph-ts-jsr", - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "build-tgraph-core": { "ty": "denoFile@v1", "key": "build-tgraph-core", - "envKey": "bciqkazb54zk6wdbxpizobukdsz5ruxrtlkf6bfwvctdiwzq6lz7unsq" + "envKey": "bciqay3wlzl37o3e5sleadckz3lc3ku7bwxhtmcp253zu37itg6lop4y" }, "build-tgraph-py": { "ty": "denoFile@v1", @@ -1189,7 +1148,7 @@ "dependsOn": [ "build-tgraph-core" ], - "envKey": "bciqly23hzeass3kah6rgds4wyqenzsrcmtru7nsvht7t23dsjvgynyi" + "envKey": "bciqkwu4gv6lblxqmz7qn2lcpoqj734thuq6xvrj7n6olow2dxtzyb7a" }, "build-tgraph-ts": { "ty": "denoFile@v1", @@ -1197,7 +1156,7 @@ "dependsOn": [ "build-tgraph-core" ], - "envKey": "bciqasv6wmp2sicgg5dbbjxiv5ojm3t3ga3e75y5igacjq4zureobu6q" + "envKey": "bciqjt6brrpsukhzp7rtwcque7ltthdnfx3rqjly6w3jgivxixs6dmlq" }, "build-tgraph-ts-node": { "ty": "denoFile@v1", @@ -1205,7 +1164,7 @@ "dependsOn": [ "build-tgraph-ts" ], - "envKey": "bciqasv6wmp2sicgg5dbbjxiv5ojm3t3ga3e75y5igacjq4zureobu6q" + "envKey": "bciqjt6brrpsukhzp7rtwcque7ltthdnfx3rqjly6w3jgivxixs6dmlq" }, "build-tgraph": { "ty": "denoFile@v1", @@ -1214,12 +1173,12 @@ "build-tgraph-py", "build-tgraph-ts-node" ], - "envKey": "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa" + "envKey": "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq" }, "build-sys-tgraphs": { "ty": "denoFile@v1", "key": "build-sys-tgraphs", - "envKey": "bciqeby2w3rophwmqawnkmicgymgudbcdqjirrz3r7oltu44uqp4emsq" + "envKey": "bciqm6tgltjzc7jkh33v6a3jnmwj26tshxcyze7zoonhffdyteomjqpi" } }, "tasksNamed": [ @@ -1266,7 +1225,7 @@ "id": "envs", "config": { "envs": { - "bciqacae7toziicv72e7ugl6kuv25bbxl5ygu5dugtczoojzqkwayp6q": { + "bciqc65cwtbvuuiq4jomrdxbodtcjf3mioozsvkcstxnwcedmjhvw4qq": { "desc": "the default default environment.", "provides": [ { @@ -1277,7 +1236,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1300,7 +1259,7 @@ } ] }, - "bciqkxvhlk6wifuxken6emvhj2cki7tw5ygccar6qq4vbartg776akqa": { + "bciqori26ml2iqph3izifvvfsf4b2ar3yddr344utbfstyk2v33ot3mq": { "provides": [ { "ty": "posix.envVar", @@ -1310,7 +1269,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1333,7 +1292,7 @@ } ] }, - "bciqkfzynmgivxtsz2qoytkbvn4rwxe3ngzodvhxvvlqqlt4b62miuyy": { + "bciqexkzgjrssbarv2i34mmu26kjs4iqkbpbm5ffwbf5xqpmg54wk7uq": { "provides": [ { "ty": "posix.envVar", @@ -1343,7 +1302,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1366,7 +1325,7 @@ } ] }, - "bciqa4zotbgmulpg3cutg6nu3ptq5merbt2gbf5a26twwcfe7djxchsi": { + "bciqbs2et5k6assk4valtouiftbsxzowucfeacwviwidnuau34ebv7qa": { "provides": [ { "ty": "posix.envVar", @@ -1376,7 +1335,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1399,7 +1358,7 @@ } ] }, - "bciqovedn2du5h56q6t4nolxi47yddf76bgaobbexfcxsjyuzj465tri": { + "bciqkgzicthxfj4ol55smhozlncz2qcjqiyfieya5tpadsw3nhr62mlq": { "provides": [ { "ty": "posix.envVar", @@ -1409,7 +1368,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1432,7 +1391,7 @@ } ] }, - "bciqcqqs4e5l7nqt57e4bku3gjdxs2iruhfdl2ocayrkkcs4otx7ig7a": { + "bciqdjeti6ggn2dvpporxwb2phkde5ebqydekhmnwsadglmaulgfvkpq": { "provides": [ { "ty": "posix.envVar", @@ -1442,7 +1401,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1465,7 +1424,7 @@ } ] }, - "bciqgrksux7l63plnyfryiqoth7wghawzcxmptsdw7qlbxpeytpot6fq": { + "bciqpsctlw7xcrq7tireajcbbystmm3fhtvk4kmvwpzcu5plp2imucvi": { "provides": [ { "ty": "posix.envVar", @@ -1475,7 +1434,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1503,7 +1462,7 @@ } ] }, - "bciqof7ogmp2lx2bzmkbrtmdmrmj7seytb6bl2sb4uhnsxkf5v24m75i": { + "bciqo2beyk2zq4cqxjmaidvdvyqadpxjj7cg3s2gsmffvbu3dsorujpq": { "provides": [ { "ty": "posix.envVar", @@ -1513,7 +1472,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1536,7 +1495,7 @@ } ] }, - "bciqc4wyajjcgt24t2uhjf7zkzhq6gy2iektcnmjrnrkj3u2mhlzhcma": { + "bciqbpi44mvq77dlpyhj6f3qd65he7briefiuow3ikuf63fl7sog5axq": { "provides": [ { "ty": "posix.envVar", @@ -1546,7 +1505,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1569,7 +1528,7 @@ } ] }, - "bciqifnqvvzjvxnddwvnxomtrjtti2f5iefaj2l3aoz732lrnmg4utvq": { + "bciqbwqfy7ssmgbvaob7lkcoda5bqcj2gjmuw7eld27y2gbupi3b6v5q": { "provides": [ { "ty": "posix.envVar", @@ -1579,7 +1538,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1602,7 +1561,7 @@ } ] }, - "bciqk7rioqxzcpzf572poq2vwefpcmqnboofojgkgonvpih3q6wwyldq": { + "bciqcy6a27uzjhcj3e5xytw4papwmehbgm6fcbaedufwpnf6v6sp4wcq": { "provides": [ { "ty": "posix.envVar", @@ -1612,7 +1571,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1670,7 +1629,7 @@ } ] }, - "bciqe4fan2davv7bngzw6aygwwbrd7vjviea4rylpwikafl4kqyaxyuq": { + "bciqcus7eso3tgulos7mstngakchermtlt46ksfl4mbsoqyle3gx7tla": { "provides": [ { "ty": "posix.envVar", @@ -1680,7 +1639,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1773,7 +1732,7 @@ } ] }, - "bciqlb6jtozvezqdgkfkfxlztreqi2j6lxqdk5zvvlbc2o5ka7qtljji": { + "bciqapaicf5avwzknht5btyamhy5vbivdzpz3zja5szsw5rhzp25yaza": { "provides": [ { "ty": "posix.envVar", @@ -1783,7 +1742,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1806,7 +1765,7 @@ } ] }, - "bciqkazb54zk6wdbxpizobukdsz5ruxrtlkf6bfwvctdiwzq6lz7unsq": { + "bciqay3wlzl37o3e5sleadckz3lc3ku7bwxhtmcp253zu37itg6lop4y": { "provides": [ { "ty": "posix.envVar", @@ -1816,7 +1775,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1844,7 +1803,7 @@ } ] }, - "bciqly23hzeass3kah6rgds4wyqenzsrcmtru7nsvht7t23dsjvgynyi": { + "bciqkwu4gv6lblxqmz7qn2lcpoqj734thuq6xvrj7n6olow2dxtzyb7a": { "provides": [ { "ty": "posix.envVar", @@ -1854,7 +1813,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1882,7 +1841,7 @@ } ] }, - "bciqasv6wmp2sicgg5dbbjxiv5ojm3t3ga3e75y5igacjq4zureobu6q": { + "bciqjt6brrpsukhzp7rtwcque7ltthdnfx3rqjly6w3jgivxixs6dmlq": { "provides": [ { "ty": "posix.envVar", @@ -1892,7 +1851,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1920,7 +1879,7 @@ } ] }, - "bciqeby2w3rophwmqawnkmicgymgudbcdqjirrz3r7oltu44uqp4emsq": { + "bciqm6tgltjzc7jkh33v6a3jnmwj26tshxcyze7zoonhffdyteomjqpi": { "provides": [ { "ty": "posix.envVar", @@ -1930,7 +1889,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1953,7 +1912,7 @@ } ] }, - "bciqbjavwy7rbire3zwlpgo2ifwzgnm6ywxqswnh6qxezwuvc4bqhrca": { + "bciqgfkhptprs54tg3wl45acxctzc2lu4v2xlh3slk6w4m5g5ctysv4a": { "provides": [ { "ty": "posix.envVar", @@ -1963,7 +1922,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -1986,7 +1945,7 @@ } ] }, - "bciqmz5es3gg7277grznhdd22rd7tx646occ5qzm455dezuo24mfod6y": { + "bciqoz54u3qtrflsfe3amc2pcmlt6xqnemagw3egggrtlc76tyy6hkua": { "provides": [ { "ty": "posix.envVar", @@ -1996,7 +1955,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -2029,7 +1988,7 @@ } ] }, - "bciqmkulmynzdor24gykcjc2vtu2vmzcgavyyytftuf4sibd7yutzmvy": { + "bciqauxlnabn27drh7ggpn5ykcbei24vpq53dvuiq3gwt2hzyvr7bwaq": { "provides": [ { "ty": "posix.envVar", @@ -2039,7 +1998,7 @@ { "ty": "posix.envVar", "key": "TYPEGRAPH_VERSION", - "val": "0.0.3" + "val": "0.0.4" }, { "ty": "posix.envVar", @@ -2065,14 +2024,14 @@ }, "defaultEnv": "dev", "envsNamed": { - "main": "bciqacae7toziicv72e7ugl6kuv25bbxl5ygu5dugtczoojzqkwayp6q", - "_wasm": "bciqa4zotbgmulpg3cutg6nu3ptq5merbt2gbf5a26twwcfe7djxchsi", - "_python": "bciqovedn2du5h56q6t4nolxi47yddf76bgaobbexfcxsjyuzj465tri", - "_ecma": "bciqcqqs4e5l7nqt57e4bku3gjdxs2iruhfdl2ocayrkkcs4otx7ig7a", - "_rust": "bciqof7ogmp2lx2bzmkbrtmdmrmj7seytb6bl2sb4uhnsxkf5v24m75i", - "ci": "bciqbjavwy7rbire3zwlpgo2ifwzgnm6ywxqswnh6qxezwuvc4bqhrca", - "dev": "bciqmz5es3gg7277grznhdd22rd7tx646occ5qzm455dezuo24mfod6y", - "oci": "bciqmkulmynzdor24gykcjc2vtu2vmzcgavyyytftuf4sibd7yutzmvy" + "main": "bciqc65cwtbvuuiq4jomrdxbodtcjf3mioozsvkcstxnwcedmjhvw4qq", + "_wasm": "bciqbs2et5k6assk4valtouiftbsxzowucfeacwviwidnuau34ebv7qa", + "_python": "bciqkgzicthxfj4ol55smhozlncz2qcjqiyfieya5tpadsw3nhr62mlq", + "_ecma": "bciqdjeti6ggn2dvpporxwb2phkde5ebqydekhmnwsadglmaulgfvkpq", + "_rust": "bciqo2beyk2zq4cqxjmaidvdvyqadpxjj7cg3s2gsmffvbu3dsorujpq", + "ci": "bciqgfkhptprs54tg3wl45acxctzc2lu4v2xlh3slk6w4m5g5ctysv4a", + "dev": "bciqoz54u3qtrflsfe3amc2pcmlt6xqnemagw3egggrtlc76tyy6hkua", + "oci": "bciqauxlnabn27drh7ggpn5ykcbei24vpq53dvuiq3gwt2hzyvr7bwaq" } } } diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3b1697c2b..09a636602 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -305,6 +305,7 @@ jobs: tests/runtimes/python/*.ts \ tests/runtimes/substantial/common.ts \ tests/e2e/self_deploy/self_deploy.ts \ + tests/e2e/published/*.ts \ tests/metagen/typegraphs/metagen.ts \ src/typegraph/deno/src/*.ts \ tools/*.ts diff --git a/Cargo.lock b/Cargo.lock index c2b08796d..ef5bc0f50 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1591,7 +1591,7 @@ dependencies = [ [[package]] name = "common" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "anyhow", "async-trait", @@ -6965,7 +6965,7 @@ dependencies = [ [[package]] name = "meta-cli" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "actix", "assert_cmd", @@ -7032,7 +7032,7 @@ dependencies = [ [[package]] name = "metagen" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "color-eyre", "common", @@ -7055,7 +7055,7 @@ dependencies = [ [[package]] name = "metagen-client" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "derive_more 1.0.0", "futures", @@ -7406,7 +7406,7 @@ dependencies = [ [[package]] name = "mt_deno" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "anyhow", "deno", @@ -10297,7 +10297,7 @@ dependencies = [ [[package]] name = "sample_client" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "metagen-client", "serde", @@ -10307,7 +10307,7 @@ dependencies = [ [[package]] name = "sample_client_upload" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "metagen-client", "serde", @@ -11459,7 +11459,7 @@ dependencies = [ [[package]] name = "substantial" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "anyhow", "chrono", @@ -12950,7 +12950,7 @@ dependencies = [ [[package]] name = "typegate" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "colored", "env_logger 0.11.0", @@ -12963,7 +12963,7 @@ dependencies = [ [[package]] name = "typegate_engine" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "anyhow", "base64 0.22.1", @@ -13009,7 +13009,7 @@ dependencies = [ [[package]] name = "typegraph_core" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "anyhow", "color-eyre", @@ -14828,7 +14828,7 @@ checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "xtask" -version = "0.5.0-rc.9" +version = "0.5.0" dependencies = [ "anyhow", "clap", diff --git a/Cargo.toml b/Cargo.toml index 05e5299a2..249175d58 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ exclude = [ ] [workspace.package] -version = "0.5.0-rc.9" +version = "0.5.0" edition = "2021" [workspace.dependencies] diff --git a/deno.lock b/deno.lock index e864d28bf..f5e6be1bc 100644 --- a/deno.lock +++ b/deno.lock @@ -6,6 +6,7 @@ "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/assert@^1.0.10": "jsr:@std/assert@1.0.10", + "jsr:@std/assert@^1.0.3": "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", @@ -27,6 +28,8 @@ "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.9", + "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.13", "jsr:@std/path@0.221.0": "jsr:@std/path@0.221.0", @@ -42,10 +45,13 @@ "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:@types/node": "npm:@types/node@18.16.19", + "npm:ajv-formats@3.0.1": "npm:ajv-formats@3.0.1_ajv@8.12.0", + "npm:ajv@8.12.0": "npm:ajv@8.12.0", + "npm:ajv@8.17.1": "npm:ajv@8.17.1", "npm:chance@1.1.11": "npm:chance@1.1.11", "npm:graphql@16.8.1": "npm:graphql@16.8.1", "npm:lodash@4.17.21": "npm:lodash@4.17.21", - "npm:mathjs@11.11.1": "npm:mathjs@11.11.1", + "npm:marked": "npm:marked@15.0.6", "npm:multiformats@13.1.0": "npm:multiformats@13.1.0", "npm:validator@13.12.0": "npm:validator@13.12.0", "npm:yaml": "npm:yaml@2.7.0", @@ -129,6 +135,12 @@ "jsr:@std/bytes@^0.221.0" ] }, + "@std/io@0.224.9": { + "integrity": "4414664b6926f665102e73c969cfda06d2c4c59bd5d0c603fd4f1b1c840d6ee3", + "dependencies": [ + "jsr:@std/bytes@^1.0.2" + ] + }, "@std/io@0.225.0": { "integrity": "c1db7c5e5a231629b32d64b9a53139445b2ca640d828c26bf23e1c55f8c079b3" }, @@ -185,12 +197,6 @@ } }, "npm": { - "@babel/runtime@7.26.0": { - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "dependencies": { - "regenerator-runtime": "regenerator-runtime@0.14.1" - } - }, "@noble/hashes@1.4.0": { "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "dependencies": {} @@ -246,14 +252,34 @@ "debug": "debug@4.4.0" } }, + "ajv-formats@3.0.1_ajv@8.12.0": { + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dependencies": { + "ajv": "ajv@8.12.0" + } + }, + "ajv@8.12.0": { + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "fast-deep-equal@3.1.3", + "json-schema-traverse": "json-schema-traverse@1.0.0", + "require-from-string": "require-from-string@2.0.2", + "uri-js": "uri-js@4.4.1" + } + }, + "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.5", + "json-schema-traverse": "json-schema-traverse@1.0.0", + "require-from-string": "require-from-string@2.0.2" + } + }, "chance@1.1.11": { "integrity": "sha512-kqTg3WWywappJPqtgrdvbA380VoXO2eu9VCV895JgbyHsaErXdyHK9LOZ911OvAk6L0obK7kDk9CGs8+oBawVA==", "dependencies": {} }, - "complex.js@2.4.2": { - "integrity": "sha512-qtx7HRhPGSCBtGiST4/WGHuW+zeaND/6Ld+db6PbrulIB1i2Ev/2UPiqcmpQNPSyfBKraC0EOvOKCB5dGZKt3g==", - "dependencies": {} - }, "cookie@0.5.0": { "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dependencies": {} @@ -264,16 +290,12 @@ "ms": "ms@2.1.3" } }, - "decimal.js@10.4.3": { - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "fast-deep-equal@3.1.3": { + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dependencies": {} }, - "escape-latex@1.2.0": { - "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==", - "dependencies": {} - }, - "fraction.js@4.3.4": { - "integrity": "sha512-pwiTgt0Q7t+GHZA4yaLjObx4vXmmdcS0iSJ19o8d/goUGgItX9UZWKWNnLHehxviD8wU2IWRsnR8cD5+yOJP2Q==", + "fast-uri@3.0.5": { + "integrity": "sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==", "dependencies": {} }, "graphql@16.8.1": { @@ -287,8 +309,8 @@ "debug": "debug@4.4.0" } }, - "javascript-natural-sort@0.7.1": { - "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==", + "json-schema-traverse@1.0.0": { + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dependencies": {} }, "lodash@4.17.21": { @@ -299,19 +321,9 @@ "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", "dependencies": {} }, - "mathjs@11.11.1": { - "integrity": "sha512-uWrwMrhU31TCqHKmm1yFz0C352njGUVr/I1UnpMOxI/VBTTbCktx/mREUXx5Vyg11xrFdg/F3wnMM7Ql/csVsQ==", - "dependencies": { - "@babel/runtime": "@babel/runtime@7.26.0", - "complex.js": "complex.js@2.4.2", - "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" - } + "marked@15.0.6": { + "integrity": "sha512-Y07CUOE+HQXbVDCGl3LXggqJDbXDP2pArc2C1N1RRMN0ONiShoSsIInMd5Gsxupe7fKLpgimTV+HOJ9r7bA+pg==", + "dependencies": {} }, "ms@2.1.3": { "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", @@ -321,25 +333,23 @@ "integrity": "sha512-HzdtdBwxsIkzpeXzhQ5mAhhuxcHbjEHH+JQoxt7hG/2HGFjjwyolLo7hbaexcnhoEuV4e0TNJ8kkpMjiEYY4VQ==", "dependencies": {} }, - "regenerator-runtime@0.14.1": { - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dependencies": {} - }, - "seedrandom@3.0.5": { - "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", + "punycode@2.3.1": { + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dependencies": {} }, - "tiny-emitter@2.1.0": { - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "require-from-string@2.0.2": { + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dependencies": {} }, "tslib@2.8.1": { "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dependencies": {} }, - "typed-function@4.2.1": { - "integrity": "sha512-EGjWssW7Tsk4DGfE+5yluuljS1OGYWiI1J6e8puZz9nTMM51Oug8CD5Zo4gWMsOhq5BI+1bF+rWTm4Vbj3ivRA==", - "dependencies": {} + "uri-js@4.4.1": { + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "punycode@2.3.1" + } }, "validator@13.12.0": { "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", @@ -362,7 +372,7 @@ } }, "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", @@ -371,6 +381,7 @@ "https://esm.sh/ajv@^8.0.0/dist/compile/codegen?target=denonext": "https://esm.sh/ajv@8.17.1/dist/compile/codegen?target=denonext", "https://esm.sh/ajv@^8.0.0?target=denonext": "https://esm.sh/ajv@8.17.1?target=denonext", "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/fast-deep-equal@^3.1.1?target=denonext": "https://esm.sh/fast-deep-equal@3.1.3?target=denonext", "https://esm.sh/fast-deep-equal@^3.1.3?target=denonext": "https://esm.sh/fast-deep-equal@3.1.3?target=denonext", "https://esm.sh/fast-uri@^3.0.1?target=denonext": "https://esm.sh/fast-uri@3.0.5?target=denonext", "https://esm.sh/immediate@~3.0.5?target=denonext": "https://esm.sh/immediate@3.0.6?target=denonext", @@ -384,12 +395,11 @@ "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/uri-js@^4.2.2?target=denonext": "https://esm.sh/uri-js@4.4.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", @@ -909,32 +919,7 @@ "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/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/marked@1.0.2/mod.ts": "57e4fd38be13ae9efd001704eea481570fce83fe502f4fb64aba140fd7fd75cb", "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", @@ -1000,6 +985,8 @@ "https://esm.sh/@aws-sdk/s3-request-presigner@3.700.0?pin=v135": "806a2f5f0c65996434f031fbeb3983ee271239e9b22c70cf3624b79b2667cdce", "https://esm.sh/ajv-formats@3.0.1": "6f020dcf471a8d78d2d8c14fda5c2504c900834b0882db49ec954ba52f66e323", "https://esm.sh/ajv-formats@3.0.1/denonext/ajv-formats.mjs": "bee9a515ff4223dc79efe320f90c7b060f24281c704b820e286c71a2135aeab9", + "https://esm.sh/ajv@8.12.0": "b665dca68a48b8c113f692f2ef02485f3ed0b86886df544709f36e4302749c61", + "https://esm.sh/ajv@8.12.0/denonext/ajv.mjs": "847f07138e670421c0b180e6e73d9b4871fb98429486cad6ed75da223d95f886", "https://esm.sh/ajv@8.17.1": "a04e4f86e082abdcbf765a7f54d9aa96f77e27ef5553254b5b049c7e6c489435", "https://esm.sh/ajv@8.17.1/denonext/ajv.mjs": "93640b28521b7fca32e34a3534343176c06dd65bdd6ca6a14ec97562f278e949", "https://esm.sh/ajv@8.17.1/denonext/dist/compile/codegen.mjs": "9c5f9d647acb028079ab5a1cac9f154b518a354b8c70350cacd65308e44a0f68", @@ -1033,6 +1020,8 @@ "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/uri-js@4.4.1/denonext/uri-js.mjs": "bd68de3817f6918945452daf63e75f42cda9b299115b525e8c905b53c2e64854", + "https://esm.sh/uri-js@4.4.1?target=denonext": "712c0abb88b934bb78fe2919ee64eb73cd17a09867993f879cfe422c15b4172a", "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", @@ -1199,7 +1188,128 @@ "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/ghjk/v0.2.1/utils/worker.ts": "ac4caf72a36d2e4af4f4e92f2e0a95f9fc2324b568640f24c7c2ff6dc0c11d62", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/engine/bindings.ts": "f74df81c428c6ac60f254ad15667efdd08f6d2a4836635c9d8c8dd98269e9df0", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/engine/runtime.js": "1ae55e76d3de8e79c37054d9127c92af496ce10aa905ea64021893048bb33794", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/config.ts": "fd9ba90adb5c2d1d2459a36822b12bafcfe9d96cd25e8af622259872174ea277", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/config/loader.ts": "e901da195b255644fbd24649fc998d2c2058a104cc124dc7736cf6a2ed2ee922", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/config/shared.ts": "bca558a1581acf2d564d25957c7a491f6a5fad2c9a9e22c784fd75ecf5a8873c", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/config/types.ts": "a5b10b956d6d1b0349e758692bf26dddd44eb60f926fbd702df0dda15ac2896e", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/crypto.ts": "9f982b57238af8200cb698afb7ee3b2b816b0cc189e7a7d6559bedb8edde1866", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/computation_engine.ts": "4b2e7fd9e21bf9c790f1b4025a745712ef69110dd899418ae9059f83d4c5e9bc", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/injection/dynamic.ts": "a9d8a317294f048571755e90fb6f574e816083c194e7e15153829e2aefb45d06", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/planner/args.ts": "a6b3e6613a7f85fc2db0d86d1f16cb0030b2ad0af9e4000aed1fd5cfd2565be1", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/planner/dependency_resolver.ts": "6f87025830e827cba0e7e74ecd3ff663a8298fbed778e70860efbe66d3b68f9b", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/planner/injection_utils.ts": "e249397a889e680ae52d52f924bf884ba6a1a33c1015e58c9f9e46016d618bfa", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/planner/mod.ts": "89edff499aaa0b56558dfa30f117a1f40d4f9bd9f7680fde953896586507d8d1", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/planner/parameter_transformer.ts": "2926e403cbe7688e442d430dc407b28c659f8689fe583d1741fc244bbcb04ddd", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/planner/policies.ts": "c224051baf0e2df80a586719fc9e7957933cdc76a72815bb7fec1c15f646710c", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/query_engine.ts": "089771e5249035aeae83db926b819405747b3df20fa58dec1f7818159e3aa036", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/stage_id.ts": "090aa004ee3cec27f310571c2ed838d1286346cb1c8b263a0509d2c6e53ae300", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/code_generator.ts": "41671624b36c862b5baa2d8f06b36070fb2d1d4ef97fb0dada3eff2899620d9e", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/common.ts": "2e9abb9eb039f06e336492fa6f5e9b933dcb58643ffc5de423c0b696da6ecc43", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/inline_validators/common.ts": "4861d3aa582275515c9b3741a15505e4431a1f14ad64d86258f22b7c5c9d42b7", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/inline_validators/constraints.ts": "073531c748833cfa99e003ef95183dd9d8543a160807b8046dde3317df923633", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/inline_validators/list.ts": "af81948b4a5847e11c0cf1782a6c608d3c060771b0ba0e7edce4478359333214", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/inline_validators/number.ts": "b685df3ac3a95f6b0e6d5e566ef0059fd3c4d69444268c21bc93aa738dda884d", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/inline_validators/object.ts": "1c56e54ea19052dd3375c7eada0059a5170e5ab5f2e6b0e0e0cf721ed3145ce6", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/inline_validators/string.ts": "580d0cd8280c957acd085390af17447209ad15e994ea58fd1e7151ef4e07a40b", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/input.ts": "2ab8f2737d76bbfe94265c69ebf4c4b80676cd3ce095144a523c1362936e5cc3", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/matching_variant.ts": "651c6d47d3f368a0e47ac475c9803e69265f3d58b08293e8ef8bda17ac00a589", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/engine/typecheck/result.ts": "962551a615b30796760a9c364d38791e4ba3a71195a1845dbfb1b15daa323ca4", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/errors.ts": "14fe23136ccdcfb6e52c9fd9dfb1d5fbee21869c26f459217117189685428802", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/libs/jsonpath.ts": "af90cb8918ff8f453f9482bdcf7d4078ff0cdc53523a1725b724d0b056644ff8", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/log.ts": "71b949f07461cb6f52a8f45e00065c889234d564c6d4fe3ff2a272a6dbb82e12", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/main.ts": "41dc22a0c6d2a516cc99b4858ab9781d2d149253f4d70e21006d8d251532610b", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/Runtime.ts": "4bd4825b6c42cd74e9a22cccb695f78a8f3fe81a278c2b1a56123770d7e87f99", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/deno.ts": "15badd909f25aa6daee80b04d22f3e5b32333f6b98e9f24acd953a1cbea151fb", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/deno/deno.ts": "68a4a5d6a0f3973fa936359dc99908a074071561ddf9d0da35eecf851815c61f", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/deno/deno_messenger.ts": "016b86392a3ec0348a3f62ac63372a7da1af9801cb92f625bdff0b2fce1acf96", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/deno/hooks/mod.ts": "6de18bf832c48096adb2658f29071365cc191e16d594318c4c3aea9624e6a62b", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/deno/hooks/worker.ts": "1d59bbb3b89398cd88212dd863453773ad1013b07d93766f12942931e85f32b0", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/deno/shared_types.ts": "3b9773ecbdf2f2fed97588e0353d02b9e01001c52b2bbb24813e6735602cf5c0", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/deno/worker.ts": "b61f3e3fa181a8cfeae8a3df152171f74a1979428acdebc6d839624bad24fc56", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/graphql.ts": "d4772c1a6d51d7e69f05412db39f748b8452f99f0f3e8cd1d100e41b8cf90269", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/grpc.ts": "adc5dad80e1587cc6239f7a7d9ccb86a946f3c4190ae9bcfcafa177dd68cc437", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/http.ts": "09185d4bcc157b8c1c3f49686f8e1c94d2368b2bf510ccfdca36314256260604", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/kv.ts": "312833f6212102d330a4f2648f9e33b99fe917d12f03d397c8b86fa2a2e0191d", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/mod.ts": "73e682bfce50a595711602ba166bb28f8a003fdaa3e367a5e6aa8bd6d226b161", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/patterns/messenger/async_messenger.ts": "a6f602889968694014a71e1e1d2c0f200a933b4cac58b3ca08c8fd56840f83ca", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/patterns/messenger/lazy_async_messenger.ts": "2a1f6b3b0e7b0303e1e777dbced1dabaff313d1584a591c48ea2bf439b92571e", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/prisma.ts": "7e6098169f749f15fb0a3c117e4d746ec78cbec75a3b2e0776da92699ef47433", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/prisma/hooks/generate_schema.ts": "7e4710d651695ac34a98da66b9334b2eb783a82a0d5cd3001add5c145757006a", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/prisma/hooks/mod.ts": "3b7323fdbad1b2da89d405686fbe96912ea051b49fc59e35a64ae3c082d88b58", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/prisma/hooks/run_migrations.ts": "07be71a18464f41fbc78cb72b44d8ff8150cfbc4aa42ce3060018e4fc8df9f13", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/prisma/migration.ts": "e9eb6e3c76e616a1f7348dcb00927e53b9802ebf7edaf04c0d07db6ed30aba87", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/prisma/mod.ts": "3e1e42facac57463f227c6408a995716ac364df037a441267bf4ddc55aba1762", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/prisma/prisma.ts": "595216d17e6b5382dbf0f00fc2a94043bf12d1a0aba78b488836e4c5a070d73b", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/prisma/types.ts": "7b2a668263dec4f68d7c6e0cd42e6708f1f70de77945891e4e7513bcb934abe8", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/python.ts": "f71dd91f1f6625243c331e863bdfb05d9881216f8337555961c7cc1a8fdb303d", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/random.ts": "e3ca4bf8a0554edb97b922df3b162bc995600ca323fc0bdc4c7881f3325b8436", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/s3.ts": "d4bff2d98429d0226e1021163bf2097de3ddfc852b64be860e7bf917ad7494a8", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/substantial.ts": "6d886bba87458fcd9e74f5dd96cb47a287c383688a6478cd906ab616188965f8", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/substantial/agent.ts": "2fca2ab86542e1307d5bea745a9a19f4147a6c5cbea4e889cdd05c175aa07307", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/substantial/filter_utils.ts": "4bea8f62d9d7476d4ea4bf7e4bb716b82fe00d27de5300168bfc308e61372fcf", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/substantial/types.ts": "66413dbb2234360db6eb8a78710ce9804290b2a19c1b34453b4850a135a33385", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/substantial/workflow_worker_manager.ts": "74c0b5b9cc9be1daafeb5623c9810182710634bbddd4b6c53bb3df43848f2763", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/temporal.ts": "5e0bd1009a40b467c381707d3cb553dff43729f131956f3721f96e037997d19a", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/typegate.ts": "494bebdc9309f5f9b42fd83b142be628416dee18c00e500bdbbf4cdf73072646", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/typegraph.ts": "baed8a36a738932a7fde3febf9fac5fb1fb417ee84c1458e7706877ba3e596df", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/utils/deno.ts": "3a19d81bb7c611007f9fd9527a14e991a1ce39ae47dfa836c26b11f4be2706e2", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/utils/graphql_forward_vars.ts": "466bb67f86b1c5af52f2f1a4eb02fff6f731f066e3bcd264c1c4152d0f055b5d", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/utils/graphql_inline_vars.ts": "c103dbe9967054132f9e1a347a3b9b6981b9bab59979ca5b7e38e8dd556959e7", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/utils/http.ts": "6ef74393421256e4f9945878bed7762af406a12866041f9286e06b2afdef4338", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/wasm_reflected.ts": "588aebf664d4179df3818d6521e3936d248b751637707be3a85ef24f5446531b", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/wasm_wire.ts": "99f5de736cf2492619333d2c465308716f42f8fd493c825514ba5e25be35c48a", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/runtimes/wit_wire/mod.ts": "9500cfe2b90d126463f499b447367d0dd88d2f6f0b1166b8e3c0205c149aaf6c", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/artifact_service.ts": "ed90cb99770289c3afb5ceaaab98f56be69d1259e6e6761fd6f1f29c6561f0ea", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/cookies.ts": "194c6c17e915692ba7fceda17109c1da8f426fde3e56d6dfd15a8d077d5bf789", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/mod.ts": "e6401d8b8a9a968f8feaefd618d55fbc7eaea9a16dafe0b70af50af313d86937", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/protocols/basic.ts": "99293b05820becf203822988020568e0cb8e304a477d4a85d887a6e570cb2ea6", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/protocols/internal.ts": "4b31e4780a18a281d27f69062efddf022799a1d4b3b852419f2a78df9f4c3332", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/protocols/jwt.ts": "5792f292d73730b823cd1da3133435dd23f6e1d8a88977c12298f017c5be957c", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/protocols/oauth2.ts": "d7d24eea260c318bdf48d1b31090dd8b4aa54e5320b9bc2140f7eb7f8e19a601", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/protocols/protocol.ts": "61ca77720004360879a6e3e890ef23eca5a97b85a2dd3d8a2f2fc4521c958be3", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/routes/mod.ts": "31d27a1a8edc99db7d5bbb68400821e73447f04b8106ff28f2a633f47ffd8221", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/routes/take.ts": "b6293899b75cc6c110a61fce7a0b49c2608779a01b0f735e5cfe8febe428edc6", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/auth/routes/validate.ts": "0d36f950262b608978aef8caef62900077fce352a0b33da37abd07a1482acef6", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/graphql_service.ts": "2a0bfe4e49b78412cccf2926ba9713871438cbf285df12b6e26979e9f3668dd1", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/info_service.ts": "0c5cb5a9926644b00d8129121655b6654a884f4ab3bb2a56a1b5e33c2fadafe3", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/middlewares.ts": "c996a25dffa58efc8f50e4a8f3f9df14d93b32b2bb6269c95ad0bec3cc05de94", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/playground_service.ts": "570cd407c5000bd93ddbd0a898ca5f50bb8d5f26d67684d1c592ab2c260ffce0", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/responses.ts": "b3e7f74d02e51a719968a417202c4a307b4c4dc73a73ed93ffbb76d73eef683c", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/services/rest_service.ts": "88c0a9b409beeb936ab3fc84a90ada122f38074975644036baa69dd2cf354290", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/sync/replicated_map.ts": "1191c444af253e9afd1b5d99bb203600b318bfa42efe1bfa87f1f5a58147f117", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/sync/typegraph.ts": "69fa06eae9f4676c4e8818fdb29056f4775a5d1ce04e8662a011cb777735e44b", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/system_typegraphs.ts": "a49296517ab9aeefb0a93ccbc2361969a78c8289b213115ddcba0216c359659e", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/transports/graphql/gq.ts": "7150dc876b8d2c423acf6571e4f82cb28b1d84472edbf7aec8f2db3d35099730", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/transports/graphql/graphql.ts": "db28dbff035dc4da27cbbc93596d31b9ae4c4647d8dd1ef8dd8466124dddf819", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/transports/graphql/request_parser.ts": "f808f194897a70be6f9b4125fad793b4ac6840558cae583f757fbe9c1db5cee5", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/transports/graphql/typegraph.ts": "3bca366a7d7756d02625132974fb0dc141b3b2d9d4d82679cd1a18a194e3ca86", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/transports/graphql/utils.ts": "52f41e4acc8c8e1f7438ff421562909fabfa84eee509e5fa7d3d446d631711c8", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/transports/rest/rest_schema_generator.ts": "6143277aa83e620bc1b89f5cc57952c2ed4559d4926b30afd8a7c213865cc142", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/artifacts/local.ts": "67899cac544f6c451420da2e66a7f761e51930ed524be67427409188e62097e0", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/artifacts/mod.ts": "19f8c0972b4d4832d438c6fc6dfcd485c4b3c9bb1a83d3e8a51900795cdcb5f4", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/artifacts/shared.ts": "e4881b2bdd38b1f06ffeaaac6936e963c3802c2113bb97beaf574cb4ab5ef5cc", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/hooks.ts": "0c0765b185412c564f3b23f69ade7fff9570e2acb95c548ac7b2f10b448918ab", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/memory_register.ts": "6dc0d05a471f4574b969e20ab04b21fb9aa99c8e30cbd0fe043bd8d984cee724", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/mod.ts": "0d60f19c9286f40ea28891ed235e989d9c6d41c3932d7481db52a54aaffc7ed4", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/no_limiter.ts": "820f766f78cb9546c916a6db2e1713cb9288ca17b2ab590f05e2f7748d1321af", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/rate_limiter.ts": "83b4d1197acb83065481489ef3cac1a6bf0fc9aa819fc2330c5dd177f4c79302", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegate/register.ts": "864d668ae3704984077d57c05a425cd5c74ba79bb6a42a54ef0112e1560fc543", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraph/mod.ts": "74cd1a7908222c865d6b07860630991f6369643d4b328575c5e758d72730cc67", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraph/type_node.ts": "2122369b68351e336bae60a18006b1329c95a0e82b4e25795ba3e419df493d15", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraph/types.ts": "b9bf342ffc0f26cbc7ba0bd05ef6ee037737e587340c6e117abd687b15607acb", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraph/utils.ts": "ce1a9ac71b86ccbae4334cef66e3424395349b6517bb0fdae31f3032607ac444", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraph/versions.ts": "89787a9cd05f5a630831c6b05ee17d868537aa95dbd0cdf5808030e3149c272d", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraph/visitor.ts": "d3df39cb77be23f6ea6e754db43d9b9b78dcf71fa8ed4a570c69e7102495af99", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraphs/introspection.json": "ba6920f3e9e0f37ac3cd51b1a9fa2dee59c54f95ab3729409cbb02bc842829f5", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraphs/prisma_migration.json": "9658354a08c5bfe52b2da6bb0f8860eb107f3a565dded12fd4ba93121771e0a1", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/typegraphs/typegate.json": "7205dcb9923d8354ab9a4cfb9f38a133c047ed4fd7c6436b2df0d66f2d423d37", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/types.ts": "c00d562e809aa2c773925f69467d42bf5b4146146d1a5e90d8704d0e1d56cfee", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/utils.ts": "37d7289fdfa897317947489c0e58ca4af919c582cec19394f3b49d377e1e3b76", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/utils/hash.ts": "1b0fc152d2b51c1acf542ba49ec383efea5236acb9d52526b7f6568fadb43dfb", + "https://raw.githubusercontent.com/metatypedev/metatype/6b68642b983cb94915038dec4926d6fde9b7e0c2/src/typegate/src/worker_utils.ts": "0b7e9252a0c6449299a4f604b9a5e6eb3f33ae842d3ac7f169627ccbfb285f1a" }, "workspace": { "members": { diff --git a/examples/templates/deno/api/example.ts b/examples/templates/deno/api/example.ts index 2e0c5e11e..b6639b757 100644 --- a/examples/templates/deno/api/example.ts +++ b/examples/templates/deno/api/example.ts @@ -1,6 +1,6 @@ -import { Policy, t, typegraph } from "jsr:@typegraph/sdk@0.5.0-rc.9"; -import { PythonRuntime } from "jsr:@typegraph/sdk@0.5.0-rc.9/runtimes/python"; -import { DenoRuntime } from "jsr:@typegraph/sdk@0.5.0-rc.9/runtimes/deno"; +import { Policy, t, typegraph } from "jsr:@typegraph/sdk@0.5.0"; +import { PythonRuntime } from "jsr:@typegraph/sdk@0.5.0/runtimes/python"; +import { DenoRuntime } from "jsr:@typegraph/sdk@0.5.0/runtimes/deno"; await typegraph("example", (g) => { const pub = Policy.public(); diff --git a/examples/templates/deno/compose.yml b/examples/templates/deno/compose.yml index 53edad51d..1416bae47 100644 --- a/examples/templates/deno/compose.yml +++ b/examples/templates/deno/compose.yml @@ -1,6 +1,6 @@ services: typegate: - image: ghcr.io/metatypedev/typegate:v0.5.0-rc.9 + image: ghcr.io/metatypedev/typegate:v0.5.0 restart: always ports: - "7890:7890" diff --git a/examples/templates/node/compose.yml b/examples/templates/node/compose.yml index 9aabef09c..ef891c880 100644 --- a/examples/templates/node/compose.yml +++ b/examples/templates/node/compose.yml @@ -1,6 +1,6 @@ services: typegate: - image: ghcr.io/metatypedev/typegate:v0.5.0-rc.9 + image: ghcr.io/metatypedev/typegate:v0.5.0 restart: always ports: - "7890:7890" diff --git a/examples/templates/node/package.json b/examples/templates/node/package.json index db711383a..f28bc414f 100644 --- a/examples/templates/node/package.json +++ b/examples/templates/node/package.json @@ -6,7 +6,7 @@ "dev": "MCLI_LOADER_CMD='npm x tsx' meta dev" }, "dependencies": { - "@typegraph/sdk": "^0.5.0-rc.9" + "@typegraph/sdk": "^0.5.0" }, "devDependencies": { "tsx": "^3.13.0", diff --git a/examples/templates/python/compose.yml b/examples/templates/python/compose.yml index 9aabef09c..ef891c880 100644 --- a/examples/templates/python/compose.yml +++ b/examples/templates/python/compose.yml @@ -1,6 +1,6 @@ services: typegate: - image: ghcr.io/metatypedev/typegate:v0.5.0-rc.9 + image: ghcr.io/metatypedev/typegate:v0.5.0 restart: always ports: - "7890:7890" diff --git a/examples/templates/python/pyproject.toml b/examples/templates/python/pyproject.toml index 15596621e..f2f4cadda 100644 --- a/examples/templates/python/pyproject.toml +++ b/examples/templates/python/pyproject.toml @@ -1,12 +1,12 @@ [tool.poetry] name = "example" -version = "0.5.0-rc.9" +version = "0.5.0" description = "" authors = [] [tool.poetry.dependencies] python = ">=3.8,<4.0" -typegraph = "0.5.0-rc.9" +typegraph = "0.5.0" [build-system] requires = ["poetry-core"] diff --git a/examples/typegraphs/metagen/rs/fdk.rs b/examples/typegraphs/metagen/rs/fdk.rs index e6c756fe3..df090e4c3 100644 --- a/examples/typegraphs/metagen/rs/fdk.rs +++ b/examples/typegraphs/metagen/rs/fdk.rs @@ -109,7 +109,7 @@ impl Router { } pub fn init(&self, args: InitArgs) -> Result { - static MT_VERSION: &str = "0.5.0-rc.9"; + static MT_VERSION: &str = "0.5.0"; if args.metatype_version != MT_VERSION { return Err(InitError::VersionMismatch(MT_VERSION.into())); } diff --git a/ghjk.ts b/ghjk.ts index 82986cbe8..b4819d0bb 100644 --- a/ghjk.ts +++ b/ghjk.ts @@ -3,8 +3,13 @@ // @ts-nocheck: Deno file -import { METATYPE_VERSION, PUBLISHED_VERSION } from "./tools/consts.ts"; +import { + CURRENT_VERSION, + LATEST_PRE_RELEASE_VERSION, + LATEST_RELEASE_VERSION, +} from "./tools/consts.ts"; import { file, ports, sedLock, semver, stdDeps } from "./tools/deps.ts"; +import { validateVersions } from "./tools/tasks/lock.ts"; import installs from "./tools/installs.ts"; import tasks from "./tools/tasks/mod.ts"; @@ -20,7 +25,7 @@ env("main") .vars({ RUST_LOG: "info,typegate=debug,deno=warn,swc_ecma_codegen=off,tracing::span=off,quaint=off", - TYPEGRAPH_VERSION: "0.0.3", + TYPEGRAPH_VERSION: "0.0.4", CLICOLOR_FORCE: "1", CROSS_CONFIG: "tools/Cross.toml", GIT_CLIFF_CONFIG: "tools/cliff.toml", @@ -118,11 +123,12 @@ env("dev") ports.cargobi({ crateName: "git-cliff", locked: true }), ); -task("version-print", () => console.log(METATYPE_VERSION), { - desc: "Print $METATYPE_VERSION", +task("version-print", () => console.log(CURRENT_VERSION), { + desc: "Print $CURRENT_VERSION", }); task("version-bump", async ($) => { + validateVersions(); const bumps = [ "major", "premajor", @@ -142,7 +148,7 @@ task("version-bump", async ($) => { const newVersion = semver.format( semver.increment( - semver.parse(METATYPE_VERSION), + semver.parse(CURRENT_VERSION), bump as semver.ReleaseType, { prerelease: "rc", @@ -150,15 +156,17 @@ task("version-bump", async ($) => { ), ); - $.logStep(`Bumping ${METATYPE_VERSION} → ${newVersion}`); - const lines = [[/^(export const METATYPE_VERSION = ").*(";)$/, newVersion]]; + $.logStep(`Bumping ${CURRENT_VERSION} → ${newVersion}`); + const lines = [[/^(export const CURRENT_VERSION = ").*(";)$/, newVersion]]; if (bump === "prerelease") { $.logStep( - `Bumping published version ${PUBLISHED_VERSION} → ${METATYPE_VERSION}`, + `Bumping published version ${ + LATEST_PRE_RELEASE_VERSION || LATEST_RELEASE_VERSION + } → ${CURRENT_VERSION}`, ); lines.push([ /^(export const PUBLISHED_VERSION = ").*(";)$/, - METATYPE_VERSION, + CURRENT_VERSION, ]); } @@ -166,6 +174,7 @@ task("version-bump", async ($) => { lines: { "./tools/consts.ts": lines, }, + ignores: [".metatype/**/*"], }); await $`ghjk x lock-sed`; }); diff --git a/pyproject.toml b/pyproject.toml index 3ed96e97d..8000e97af 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ [tool.poetry] name = "metatype" -version = "0.5.0-rc.9" +version = "0.5.0" description = "" authors = [] diff --git a/src/common/src/typegraph/mod.rs b/src/common/src/typegraph/mod.rs index f33c8857e..f43cc59f1 100644 --- a/src/common/src/typegraph/mod.rs +++ b/src/common/src/typegraph/mod.rs @@ -97,6 +97,9 @@ pub struct TypeMeta { pub version: String, pub random_seed: Option, pub artifacts: BTreeMap, + #[serde(skip_serializing_if = "Vec::is_empty")] + #[serde(default)] + pub namespaces: Vec, } #[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] diff --git a/src/pyrt_wit_wire/pyproject.toml b/src/pyrt_wit_wire/pyproject.toml index d7033da20..2eccd8c82 100644 --- a/src/pyrt_wit_wire/pyproject.toml +++ b/src/pyrt_wit_wire/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pyrt_wit_wire" -version = "0.5.0-rc.9" +version = "0.5.0" description = "Wasm component implementing the PythonRuntime host using wit_wire protocol." license = "MPL-2.0" readme = "README.md" diff --git a/src/typegate/src/engine/planner/mod.ts b/src/typegate/src/engine/planner/mod.ts index 59d77e2a6..3693285eb 100644 --- a/src/typegate/src/engine/planner/mod.ts +++ b/src/typegate/src/engine/planner/mod.ts @@ -116,14 +116,18 @@ export class Planner { stageId, typeIdx: stage.props.typeIdx, isTopLevel: stage.props.parent ? false : true, - node: stage.props.node // actual non aliased name + node: stage.props.node, // actual non aliased name }); } const { timer_policy_eval_retries } = this.tg.typegate.config.base; - const operationPolicies = new OperationPolicies(this.tg, orderedStageMetadata, { - timer_policy_eval_retries - }); + const operationPolicies = new OperationPolicies( + this.tg, + orderedStageMetadata, + { + timer_policy_eval_retries, + }, + ); return { stages, @@ -549,7 +553,7 @@ export class Planner { this.tg.getGraphQLType( this.tg.type(idx), false, - inputType.id.includes(key), + inputType.id?.includes(key) ?? false, ), ); diff --git a/src/typegate/src/runtimes/wit_wire/mod.ts b/src/typegate/src/runtimes/wit_wire/mod.ts index 4174b2f9f..0baa2c11d 100644 --- a/src/typegate/src/runtimes/wit_wire/mod.ts +++ b/src/typegate/src/runtimes/wit_wire/mod.ts @@ -9,7 +9,7 @@ import { getLogger } from "../../log.ts"; const logger = getLogger(import.meta); -const METATYPE_VERSION = "0.5.0-rc.9"; +const METATYPE_VERSION = "0.5.0"; export class WitWireMessenger { static async init( diff --git a/src/typegate/src/transports/graphql/typegraph.ts b/src/typegate/src/transports/graphql/typegraph.ts index b504a6cb9..005e123b6 100644 --- a/src/typegate/src/transports/graphql/typegraph.ts +++ b/src/typegate/src/transports/graphql/typegraph.ts @@ -3,6 +3,7 @@ import type { TypeGraphDS } from "../../typegraph/mod.ts"; import type { ObjectNode } from "../../typegraph/type_node.ts"; +import { Type } from "../../typegraph/type_node.ts"; import { PolicyIndices } from "../../typegraph/types.ts"; import { addNode } from "./utils.ts"; diff --git a/src/typegate/src/typegate/mod.ts b/src/typegate/src/typegate/mod.ts index ab34eb962..815699ef7 100644 --- a/src/typegate/src/typegate/mod.ts +++ b/src/typegate/src/typegate/mod.ts @@ -145,13 +145,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 +411,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( diff --git a/src/typegate/src/typegraph/types.ts b/src/typegate/src/typegraph/types.ts index ce2d855bc..2cdf64c5c 100644 --- a/src/typegate/src/typegraph/types.ts +++ b/src/typegate/src/typegraph/types.ts @@ -68,7 +68,7 @@ export type ObjectNode = { [k: string]: number; }; required?: string[]; - id: string[]; + id?: string[]; }; export type ListNode = { type: "list"; diff --git a/src/typegate/src/typegraph/versions.ts b/src/typegate/src/typegraph/versions.ts index ae16cf7a7..4ffa9fdee 100644 --- a/src/typegate/src/typegraph/versions.ts +++ b/src/typegate/src/typegraph/versions.ts @@ -4,8 +4,9 @@ import { TypeGraph, type TypeGraphDS } from "../typegraph/mod.ts"; import { globalConfig } from "../config.ts"; import * as semver from "@std/semver"; +import { ObjectNode, Type } from "./type_node.ts"; -const typegraphVersion = "0.0.3"; +const typegraphVersion = "0.0.4"; const typegraphChangelog: Record< string, @@ -38,6 +39,14 @@ const typegraphChangelog: Record< return x; }, }, + "0.0.3": { + "next": "0.0.4", + "transform": (x) => { + throw new Error( + "upgrade not allowed; please rerun the typegate with the SYNC_FORCE_REMOVE=true environment variable", + ); + }, + }, }; export function isTypegraphUpToDate(typegraph: TypeGraphDS): boolean { diff --git a/src/typegate/src/typegraphs/introspection.json b/src/typegate/src/typegraphs/introspection.json index 66947140e..d8ac20f87 100644 --- a/src/typegate/src/typegraphs/introspection.json +++ b/src/typegate/src/typegraphs/introspection.json @@ -442,7 +442,7 @@ }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/src/typegate/src/typegraphs/prisma_migration.json b/src/typegate/src/typegraphs/prisma_migration.json index 1a4da15dd..96cc49650 100644 --- a/src/typegate/src/typegraphs/prisma_migration.json +++ b/src/typegate/src/typegraphs/prisma_migration.json @@ -365,7 +365,7 @@ "context_identifier": "user", "local_excess": 5 }, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/src/typegate/src/typegraphs/typegate.json b/src/typegate/src/typegraphs/typegate.json index 16d4e7716..32442da19 100644 --- a/src/typegate/src/typegraphs/typegate.json +++ b/src/typegate/src/typegraphs/typegate.json @@ -1011,7 +1011,7 @@ "context_identifier": "user", "local_excess": 5 }, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/src/typegraph/core/Cargo.toml b/src/typegraph/core/Cargo.toml index eadd6d7ce..c1a1abaa0 100644 --- a/src/typegraph/core/Cargo.toml +++ b/src/typegraph/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "typegraph_core" -version = "0.5.0-rc.9" +version = "0.5.0" edition = "2021" [lib] diff --git a/src/typegraph/core/src/global_store.rs b/src/typegraph/core/src/global_store.rs index 305ccdf3d..fd50066cd 100644 --- a/src/typegraph/core/src/global_store.rs +++ b/src/typegraph/core/src/global_store.rs @@ -105,7 +105,7 @@ impl Store { thread_local! { pub static STORE: RefCell = RefCell::new(Store::new()); - pub static SDK_VERSION: String = "0.5.0-rc.9".to_owned(); + pub static SDK_VERSION: String = "0.5.0".to_owned(); } fn with_store T>(f: F) -> T { diff --git a/src/typegraph/core/src/snapshots/typegraph_core__tests__successful_serialization.snap b/src/typegraph/core/src/snapshots/typegraph_core__tests__successful_serialization.snap index f8e5b2a0d..7b6782cfe 100644 --- a/src/typegraph/core/src/snapshots/typegraph_core__tests__successful_serialization.snap +++ b/src/typegraph/core/src/snapshots/typegraph_core__tests__successful_serialization.snap @@ -108,7 +108,7 @@ expression: typegraph.0 }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/src/typegraph/core/src/typegraph.rs b/src/typegraph/core/src/typegraph.rs index e6ee32fda..fa41dc8d2 100644 --- a/src/typegraph/core/src/typegraph.rs +++ b/src/typegraph/core/src/typegraph.rs @@ -67,7 +67,7 @@ thread_local! { static TG: RefCell> = const { RefCell::new(None) }; } -static TYPEGRAPH_VERSION: &str = "0.0.3"; +static TYPEGRAPH_VERSION: &str = "0.0.4"; pub fn with_tg(f: impl FnOnce(&TypegraphContext) -> T) -> Result { TG.with(|tg| { @@ -108,7 +108,6 @@ pub fn init(params: TypegraphInitParams) -> Result<()> { dynamic: params.dynamic.unwrap_or(true), endpoints: vec![], }, - cors: params.cors.into(), auths: vec![], prefix: params.prefix, @@ -117,6 +116,7 @@ pub fn init(params: TypegraphInitParams) -> Result<()> { outjection_secrets: vec![], random_seed: Default::default(), artifacts: Default::default(), + namespaces: Default::default(), }, types: vec![], saved_store_state: Some(Store::save()), diff --git a/src/typegraph/deno/deno.json b/src/typegraph/deno/deno.json index 0b0ea829e..6baa3fd40 100644 --- a/src/typegraph/deno/deno.json +++ b/src/typegraph/deno/deno.json @@ -1,6 +1,6 @@ { "name": "@typegraph/sdk", - "version": "0.5.0-rc.9", + "version": "0.5.0", "publish": { "exclude": [ "!src/gen", diff --git a/src/typegraph/python/pyproject.toml b/src/typegraph/python/pyproject.toml index 921b7e608..b3bc83d44 100644 --- a/src/typegraph/python/pyproject.toml +++ b/src/typegraph/python/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "typegraph" -version = "0.5.0-rc.9" +version = "0.5.0" description = "Declarative API development platform. Build backend components with WASM, Typescript and Python, no matter where and how your (legacy) systems are." authors = ["Metatype Contributors "] license = "MPL-2.0" diff --git a/src/typegraph/python/typegraph/__init__.py b/src/typegraph/python/typegraph/__init__.py index c88a4adc4..472f696ba 100644 --- a/src/typegraph/python/typegraph/__init__.py +++ b/src/typegraph/python/typegraph/__init__.py @@ -5,4 +5,4 @@ from typegraph.policy import Policy # noqa from typegraph import effects as fx # noqa -version = "0.5.0-rc.9" +version = "0.5.0" diff --git a/src/xtask/Cargo.toml b/src/xtask/Cargo.toml index 49320dbf5..9892f82a0 100644 --- a/src/xtask/Cargo.toml +++ b/src/xtask/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "xtask" -version = "0.5.0-rc.9" +version = "0.5.0" edition = "2021" # this allows us to exclude the rust files diff --git a/tests/e2e/published/common.ts b/tests/e2e/published/common.ts new file mode 100644 index 000000000..b4b112446 --- /dev/null +++ b/tests/e2e/published/common.ts @@ -0,0 +1,54 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + +import { MetaTest } from "test-utils/test.ts"; +import { $ } from "@local/tools/deps.ts"; +import { downloadAndExtractCli } from "./utils.ts"; +import { newTempDir } from "test-utils/dir.ts"; + +type PreludeStepsOutput = { + publishedBin: string; + examplesDir: string; +}; + +export async function downloadSteps( + t: MetaTest, + version: string, +): Promise { + let publishedBin = ""; + await t.should( + `download published cli (fat version) v${version}`, + async () => { + publishedBin = await downloadAndExtractCli(version); + }, + ); + + const repoDir = await newTempDir(); + const examplesDir = $.path( + await newTempDir({ + dir: undefined, + }), + ); + + await t.should( + "download example typegraphs for the published version", + async () => { + const tag = `v${version}`; + // FIXME: cache across test runs + await $`git clone https://github.com/metatypedev/metatype.git --depth 1 --branch ${tag}` + .cwd(repoDir) + .stdout("piped") + .stderr("piped") + .printCommand(); + + await $.path(repoDir).join("metatype/examples").copy(examplesDir, { + overwrite: true, + }); + }, + ); + + return { + publishedBin, + examplesDir: examplesDir.toString(), + }; +} diff --git a/tests/e2e/published/config.ts b/tests/e2e/published/config.ts new file mode 100644 index 000000000..c912fdd15 --- /dev/null +++ b/tests/e2e/published/config.ts @@ -0,0 +1,67 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + +import { transformSyncConfig } from "@metatype/typegate/config.ts"; +import { clearSyncData, setupSync } from "test-utils/hooks.ts"; + +const defaultSyncEnvs = { + // SYNC_REDIS_URL: "redis://:password@localhost:6379/12", + SYNC_S3_HOST: "http://localhost:9000", + SYNC_S3_REGION: "local", + SYNC_S3_ACCESS_KEY: "minio", + SYNC_S3_SECRET_KEY: "password", + // SYNC_S3_BUCKET: "upgrade-test", + SYNC_S3_PATH_STYLE: "true", + SYNC_FORCE_REMOVE: "false", +}; + +export function config(p: { redisDb: number; s3Bucket: string }) { + const syncEnvs = { + SYNC_REDIS_URL: `redis://:password@localhost:6379/${p.redisDb}`, + SYNC_S3_BUCKET: p.s3Bucket, + ...defaultSyncEnvs, + }; + const syncConfig = transformSyncConfig({ + redis_url: new URL(syncEnvs.SYNC_REDIS_URL), + s3_host: new URL(syncEnvs.SYNC_S3_HOST), + s3_region: syncEnvs.SYNC_S3_REGION, + s3_access_key: syncEnvs.SYNC_S3_ACCESS_KEY, + s3_secret_key: syncEnvs.SYNC_S3_SECRET_KEY, + s3_bucket: syncEnvs.SYNC_S3_BUCKET, + s3_path_style: true, + force_remove: false, + }); + + return { syncConfig, syncEnvs }; +} + +export class Config { + syncEnvs: Record; + syncConfig: ReturnType; + + constructor(redisDb: number, s3Bucket: string) { + this.syncEnvs = { + SYNC_REDIS_URL: `redis://:password@localhost:6379/${redisDb}`, + SYNC_S3_BUCKET: s3Bucket, + ...defaultSyncEnvs, + }; + this.syncConfig = transformSyncConfig({ + redis_url: new URL(this.syncEnvs.SYNC_REDIS_URL), + s3_host: new URL(this.syncEnvs.SYNC_S3_HOST), + s3_region: this.syncEnvs.SYNC_S3_REGION, + s3_access_key: this.syncEnvs.SYNC_S3_ACCESS_KEY, + s3_secret_key: this.syncEnvs.SYNC_S3_SECRET_KEY, + s3_bucket: this.syncEnvs.SYNC_S3_BUCKET, + s3_path_style: true, + force_remove: false, + }); + } + + async clearSyncData() { + await clearSyncData(this.syncConfig); + } + + async setupSync() { + await setupSync(this.syncConfig); + } +} diff --git a/tests/e2e/published/published_test.ts b/tests/e2e/published/published_test.ts deleted file mode 100644 index 93fb9cb03..000000000 --- a/tests/e2e/published/published_test.ts +++ /dev/null @@ -1,494 +0,0 @@ -// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. -// SPDX-License-Identifier: MPL-2.0 - -import { Meta } from "test-utils/mod.ts"; -import { projectDir } from "@local/tools/utils.ts"; -import { $ } from "@local/tools/deps.ts"; -import { PUBLISHED_VERSION, PYTHON_VERSION } from "@local/tools/consts.ts"; -import { download } from "download"; -import { Untar } from "@std/archive/untar"; -import { copy } from "@std/io/copy"; -import { readerFromStreamReader } from "@std/io/reader-from-stream-reader"; -import { encodeBase64 } from "@std/encoding/base64"; -import { Lines } from "test-utils/process.ts"; -import { newTempDir } from "test-utils/dir.ts"; -import { transformSyncConfig } from "@metatype/typegate/config.ts"; -import { clearSyncData, setupSync } from "test-utils/hooks.ts"; -import { assertEquals } from "@std/assert"; - -const previousVersion = PUBLISHED_VERSION; - -const tempDir = $.path(projectDir).join("tmp"); - -type Path = typeof tempDir; - -function getAssetName(version: string) { - return `meta-cli-v${version}-${Deno.build.target}`; -} - -const syncEnvs = { - SYNC_REDIS_URL: "redis://:password@localhost:6379/12", - SYNC_S3_HOST: "http://localhost:9000", - SYNC_S3_REGION: "local", - SYNC_S3_ACCESS_KEY: "minio", - SYNC_S3_SECRET_KEY: "password", - SYNC_S3_BUCKET: "upgrade-test", - SYNC_S3_PATH_STYLE: "true", -}; - -const syncConfig = transformSyncConfig({ - redis_url: new URL(syncEnvs.SYNC_REDIS_URL), - s3_host: new URL(syncEnvs.SYNC_S3_HOST), - s3_region: syncEnvs.SYNC_S3_REGION, - s3_access_key: syncEnvs.SYNC_S3_ACCESS_KEY, - s3_secret_key: syncEnvs.SYNC_S3_SECRET_KEY, - s3_bucket: syncEnvs.SYNC_S3_BUCKET, - s3_path_style: true, - force_remove: false -}); - -// put here typegraphs that are to be excluded -// from the test -const disabled = [] as string[]; - -async function checkMetaBin(path: typeof tempDir, version: string) { - try { - if (!(await path.exists())) { - return false; - } - const res = await $`bash -c 'meta-old --version'` - .env("PATH", `${path.parent()!.toString()}:${Deno.env.get("PATH")}`) - .stdout("piped"); - if (res.stdout.includes(version)) { - return true; - } - throw new Error(`version mismatch: ${res.stdout}`); - } catch (e) { - console.error(e); - return false; - } -} - -// download the fat version of the cli on the latest stable release -export async function downloadAndExtractCli(version: string) { - const name = getAssetName(version); - const extractTargetDir = tempDir.join(name); - const metaBin = extractTargetDir.join("meta-old"); - if (await checkMetaBin(metaBin, version)) { - return metaBin.toString(); - } - const url = - `https://github.com/metatypedev/metatype/releases/download/v${version}/${name}.tar.gz`; - console.log("Downloading from", url); - const archiveName = `${name}.tar.gz`; - const _fileObj = await download(url, { - file: archiveName, - dir: tempDir.toString(), - }); - const archivePath = tempDir.join(archiveName); - using file = await Deno.open(archivePath.toString()); - const reader = file.readable.pipeThrough(new DecompressionStream("gzip")); - const untar = new Untar(readerFromStreamReader(reader.getReader())); - - await extractTargetDir.ensureDir(); - - for await (const entry of untar) { - if (entry.fileName !== "meta") { - throw new Error("unexpected"); - } - using target = await Deno.open(metaBin.toString(), { - create: true, - write: true, - mode: 0o755, - }); - const res = await copy(entry, target); - console.log(`successfully written ${res} bytes`); - } - - await Deno.remove(archivePath.toString()); - - if (!(await checkMetaBin(metaBin, version))) { - throw new Error("unexpected"); - } - return metaBin.toString(); -} - -type CopyCodeParams = { - branch: string; - destDir: Path; - files: (string | [string, string])[]; -}; - -async function copyCode({ branch, files, destDir: dest }: CopyCodeParams) { - const destDir = $.path(dest); - console.log("copyCode", { branch, files, destDir }); - const repoDir = $.path(`.metatype/old/${branch}`); - if (!(await repoDir.exists())) { - await $`git clone https://github.com/metatypedev/metatype.git ${repoDir} --depth 1 --branch ${branch}` - .stdout("inherit") - .stderr("inherit") - .printCommand(); - } - - await $.co( - files.map((file) => { - const [source, dest] = Array.isArray(file) ? file : [file, file]; - // if (dest.endsWith("/")) { - // return $.path(repoDir).join(source).copyToDir(destDir.join(dest), { - // overwrite: true, - // }); - // } - return $.path(repoDir).join(source).copy(destDir.join(dest), { - overwrite: true, - }); - }), - ); -} - -// This also tests the published NPM version of the SDK -Meta.test( - { - name: "typegate upgrade", - async setup() { - await clearSyncData(syncConfig); - await setupSync(syncConfig); - }, - async teardown() { - await clearSyncData(syncConfig); - }, - // FIXME temporarily disabled, will be re-enabled the next related - // PR with a typegraph migration script - // - at `src/typegate/src/typegraph/version.ts` - ignore: true, - }, - async (t) => { - let publishedBin = ""; - await t.should("download published cli (fat version)", async () => { - publishedBin = await downloadAndExtractCli(previousVersion); - }); - - const metaBinDir = $.path(publishedBin).parent()!.toString(); - const tgSecret = encodeBase64( - globalThis.crypto.getRandomValues(new Uint8Array(64)), - ); - - const typegateTempDir = await newTempDir(); - const repoDir = await newTempDir(); - const examplesDir = $.path( - await newTempDir({ - dir: undefined, - }), - ); - t.addCleanup(async () => { - await $.co([ - $.removeIfExists(typegateTempDir), - $.removeIfExists(repoDir), - // $.removeIfExists(examplesDir), - ]); - }); - - const port = String(t.port + 1); - - const proc = new Deno.Command("meta-old", { - args: ["typegate"], - env: { - ...Deno.env.toObject(), - PATH: `${metaBinDir}:${Deno.env.get("PATH")}`, - TG_SECRET: tgSecret, - TG_ADMIN_PASSWORD: "password", - TMP_DIR: typegateTempDir, - TG_PORT: port, - LOG_LEVEL: "DEBUG", - // TODO should not be necessary - VERSION: previousVersion, - ...syncEnvs, - }, - stdout: "piped", - }).spawn(); - - await t.should( - "download example typegraphs for the published version", - async () => { - const tag = `v${previousVersion}`; - - await copyCode({ - branch: tag, - files: ["examples"], - destDir: examplesDir, - }); - - const typegraphsDir = examplesDir.join("typegraphs"); - for await (const entry of typegraphsDir.readDir()) { - const path = typegraphsDir.relative(entry.path); - if (disabled.includes(path.toString())) { - await entry.path.remove().catch((_e) => {}); - } - } - - // NOTE: we clean out the deno.json used by the examples - // before adding the published version - // by default @typegraph/sdk/ needs that trailing slash - // due to https://github.com/WICG/import-maps?tab=readme-ov-file#packages-via-trailing-slashes - await examplesDir.join("deno.json").writeJson({}); - await $.raw`bash -c 'deno add @typegraph/sdk@${previousVersion}'` - .cwd(examplesDir) - .stdout("inherit") - .printCommand(); - }, - ); - - const typegraphs: string[] = []; - - const stdout = new Lines(proc.stdout); - await stdout.readWhile((line) => { - console.log(`typegate>`, line); - return !line.includes(`typegate ready on :${port}`); - }); - stdout.readWhile((line) => { - const match = line.match(/Initializing engine '(.+)'/); - if (match) { - typegraphs.push(match[1]); - } - console.log("typegate counting matches>", line); - return true; - }, null); - - await t.should("successfully deploy on the published version", async () => { - const command = - `meta-old deploy --target dev --threads=4 --allow-dirty --gate http://localhost:${port} -vvv`; - const res = await $`bash -c ${command}` - .cwd(examplesDir.join("typegraphs")) - .env("PATH", `${metaBinDir}:${Deno.env.get("PATH")}`); - console.log(res); - }); - - await stdout.close(); - proc.kill("SIGKILL"); - const status = await proc.status; - console.log({ status }); - - const typegraphs2: string[] = []; - - await t.should("upgrade the typegate to the current version", async () => { - const port = String(t.port + 2); - const proc = new Deno.Command("meta-full", { - args: [ - "typegate", - `--main-url`, - import.meta.resolve("../../../src/typegate/src/main.ts"), - `--import-map-url`, - import.meta.resolve("../../../import_map.json"), - ], - env: { - ...Deno.env.toObject(), - TG_SECRET: tgSecret, - TG_ADMIN_PASSWORD: "password", - TMP_DIR: typegateTempDir, - TG_PORT: `${port}`, - LOG_LEVEL: "DEBUG", - // TODO should not be necessary - VERSION: previousVersion, - ...syncEnvs, - }, - stdout: "piped", - }).spawn(); - - const stdout = new Lines(proc.stdout); - - await stdout.readWhile((line) => { - console.log("typegate>", line); - const match = $.stripAnsi(line).match(/reloaded addition: (.+)/); - if (match) { - typegraphs2.push(match[1]); - } - return !line.includes(`typegate ready on :${port}`); - }); - - await stdout.close(); - proc.kill("SIGKILL"); - const status = await proc.status; - console.log({ status }); - }); - - await t.should("have the same typegraphs", () => { - assertEquals(typegraphs.sort(), typegraphs2.sort()); - }); - - await Deno.remove(typegateTempDir, { recursive: true }); - }, -); - -Meta.test( - { - name: "published SDK tests", - async setup() { - await clearSyncData(syncConfig); - await setupSync(syncConfig); - }, - async teardown() { - await clearSyncData(syncConfig); - }, - }, - async (t) => { - let publishedBin = ""; - await t.should("download published cli (fat version)", async () => { - publishedBin = await downloadAndExtractCli(previousVersion); - }); - - const metaBinDir = $.path(publishedBin).parent()!.toString(); - - const tmpDir = $.path(t.tempDir); - const tgSecret = encodeBase64( - globalThis.crypto.getRandomValues(new Uint8Array(64)), - ); - - const typegateTempDir = await tmpDir.join(".metatype").ensureDir(); - - const port = String(t.port - 10); - - const proc = $`bash -c 'meta-old typegate -vvvv'` - .env({ - PATH: `${metaBinDir}:${Deno.env.get("PATH")}`, - TG_SECRET: tgSecret, - TG_ADMIN_PASSWORD: "password", - TMP_DIR: typegateTempDir.toString(), - TG_PORT: `${port}`, - LOG_LEVEL: "DEBUG", - // TODO should not be necessary - VERSION: previousVersion, - DEBUG: "true", - ...syncEnvs, - }) - .stdout("piped") - .noThrow() - .spawn(); - - const stdout = new Lines(proc.stdout()); - console.log("waiting on typegate to be ready"); - - await stdout.readWhile((line) => { - console.error("typegate>", line); - return !line.includes(`typegate ready on :${port}`); - }); - - const tgsDir = $.path( - await newTempDir({ - dir: undefined, - }), - ); - // t.addCleanup(() => $.removeIfExists(tgsDir)); - - await tgsDir.join("metatype.yml").writeText(` -typegates: - dev: - url: "http://localhost:${port}" - username: admin - password: password - secrets: - roadmap-func: - POSTGRES: "postgresql://postgres:password@localhost:5432/db?schema=roadmap_func2" - BASIC_andim: hunter2 - -typegraphs: - materializers: - prisma: - migrations_path: "migrations" -`); - // FIXME: enable after 0.5.0.-rc.8 releases - /* await t.should("work with JSR npm", async () => { - const npmJsrDir = await tgsDir.join("npm_jsr").ensureDir(); - await $`pnpm init`.cwd(npmJsrDir); - await $`pnpm --package=jsr dlx jsr add @typegraph/sdk@${PUBLISHED_VERSION}` - .cwd( - npmJsrDir, - ); - await copyCode({ - branch: `v${previousVersion}`, - destDir: npmJsrDir, - files: [ - ["examples/typegraphs/func.ts", "tg.ts"], - ["examples/typegraphs/scripts", "scripts"], - ["examples/templates/node/tsconfig.json", "tsconfig.json"], - ], - }); - await $.co([ - npmJsrDir - .join("package.json") - .readJson() - .then((pkg) => - npmJsrDir - .join("package.json") - .writeJson({ ...(pkg as object), type: "module" }) - ), - ]); - - const command = - `meta-old deploy --target dev --allow-dirty --gate http://localhost:${port} -vvv -f tg.ts`; - await $`bash -c ${command}` - .cwd(npmJsrDir) - .env("PATH", `${metaBinDir}:${Deno.env.get("PATH")}`) - .env("MCLI_LOADER_CMD", "pnpm --package=tsx dlx tsx") - .env("RUST_LOG", "trace"); - }); - - await t.should("work with JSR deno", async () => { - const denoJsrDir = await tgsDir.join("deno_jsr").ensureDir(); - await denoJsrDir.join("deno.json").writeJson({}); - await $`bash -c 'deno add @typegraph/sdk@${PUBLISHED_VERSION}'`.cwd( - denoJsrDir, - ); - await copyCode({ - branch: `v${previousVersion}`, - files: [ - ["examples/typegraphs/func.ts", "tg.ts"], - ["examples/typegraphs/scripts", "scripts"], - ], - destDir: denoJsrDir, - }); - - const command = - `meta-old deploy --target dev --allow-dirty --gate http://localhost:${port} -vvv -f tg.ts`; - await $`bash -c ${command}` - .cwd(denoJsrDir) - .env("PATH", `${metaBinDir}:${Deno.env.get("PATH")}`) - .env("MCLI_LOADER_CMD", `deno run -A --config deno.json`) - .env("RUST_LOG", "trace"); - }); */ - - await t.should("work with pypa", async () => { - const pypaDir = await tgsDir.join("pypa").ensureDir(); - await $ - .raw`poetry init -n --python=${PYTHON_VERSION} --dependency=typegraph:${PUBLISHED_VERSION}` - .cwd( - pypaDir, - ); - await $.co([ - pypaDir.join("README.md").ensureFile(), - $`bash -sx` - .stdinText([ - `python3 -m venv .venv`, - `source .venv/bin/activate`, - `poetry install --no-root`, - ].join("\n")) - .cwd( - pypaDir, - ), - $.path("examples/typegraphs/func.py").copy(pypaDir.join("tg.py")), - $.path("examples/typegraphs/scripts").copyToDir(pypaDir), - ]); - - const command = `source .venv/bin/activate &&` + - ` ${metaBinDir}/meta-old deploy --target dev --allow-dirty --gate http://localhost:${port} -vvv -f tg.py`; - await $`bash -c ${command}` - .cwd(pypaDir) - .env("PATH", `${metaBinDir}:${Deno.env.get("PATH")}`) - .env("MCLI_LOADER_PY", `poetry run python`) - .env("RUST_LOG", "trace"); - }); - - proc.kill("SIGKILL"); - const status = await proc; - console.log({ status }); - await stdout.close(); - }, -); diff --git a/tests/e2e/published/sdk_test.ts b/tests/e2e/published/sdk_test.ts new file mode 100644 index 000000000..90463ca73 --- /dev/null +++ b/tests/e2e/published/sdk_test.ts @@ -0,0 +1,183 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + +import { Meta } from "test-utils/mod.ts"; +import { $ } from "@local/tools/deps.ts"; +import { + LATEST_PRE_RELEASE_VERSION, + LATEST_RELEASE_VERSION, + PYTHON_VERSION, +} from "@local/tools/consts.ts"; +import { encodeBase64 } from "@std/encoding/base64"; +import { Lines } from "test-utils/process.ts"; +import { Config } from "./config.ts"; +import { downloadSteps } from "./common.ts"; + +const testConfig = new Config(12, "published-sdk-test"); + +const previousVersions = [LATEST_RELEASE_VERSION]; +if (LATEST_PRE_RELEASE_VERSION) { + previousVersions.push(LATEST_PRE_RELEASE_VERSION); +} + +for (const version of previousVersions) { + Meta.test( + { + name: `published SDK tests: v${version}`, + async setup() { + await testConfig.clearSyncData(); + await testConfig.setupSync(); + }, + async teardown() { + await testConfig.clearSyncData(); + }, + ignore: version === LATEST_RELEASE_VERSION, + }, + async (t) => { + const { publishedBin, examplesDir } = await downloadSteps(t, version); + + const metaBinDir = $.path(publishedBin).parent()!.toString(); + + const tmpDir = $.path(t.tempDir); + const tgSecret = encodeBase64( + globalThis.crypto.getRandomValues(new Uint8Array(64)), + ); + + const typegateTempDir = await tmpDir.join(".metatype").ensureDir(); + + const port = String(t.port - 10); + + const proc = $`bash -c 'meta-old typegate -vvvv'` + .env({ + PATH: `${metaBinDir}:${Deno.env.get("PATH")}`, + TG_SECRET: tgSecret, + TG_ADMIN_PASSWORD: "password", + TMP_DIR: typegateTempDir.toString(), + TG_PORT: `${port}`, + // TODO should not be necessary + VERSION: version, + DEBUG: "true", + ...(version.startsWith("0.4") ? { LOG_LEVEL: "DEBUG" } : {}), + ...testConfig.syncEnvs, + }) + .stdout("piped") + .noThrow() + .spawn(); + + const stdout = new Lines(proc.stdout()); + console.log("waiting on typegate to be ready"); + + const readyMessage = version.startsWith("0.5") + ? `typegate ready on :${port}` + : `typegate ready on ${port}`; + await stdout.readWhile((line) => { + console.error("typegate>", line); + return !line.includes(readyMessage); + }); + + const tgsDir = $.path( + examplesDir, + ).join("typegraphs"); + // t.addCleanup(() => $.removeIfExists(tgsDir)); + + await tgsDir.join("metatype.yml").writeText(` + typegates: + dev: + url: "http://localhost:${port}" + username: admin + password: password + secrets: + roadmap-func: + POSTGRES: "postgresql://postgres:password@localhost:5432/db?schema=roadmap_func2" + BASIC_andim: hunter2 + + typegraphs: + materializers: + prisma: + migrations_path: "migrations" + `); + + await t.should("work with JSR npm", async () => { + const npmJsrDir = await tgsDir.join("npm_jsr").ensureDir(); + await $`pnpm init`.cwd(npmJsrDir); + await $`pnpm --package=jsr dlx jsr add @typegraph/sdk@${version}` + .cwd( + npmJsrDir, + ); + await $.co([ + $.path("examples/typegraphs/func.ts").copy(npmJsrDir.join("tg.ts")), + $.path("examples/typegraphs/scripts").copyToDir(npmJsrDir), + $.path("examples/templates/node/tsconfig.json").copyToDir(npmJsrDir), + npmJsrDir + .join("package.json") + .readJson() + .then((pkg) => + npmJsrDir + .join("package.json") + .writeJson({ ...(pkg as object), type: "module" }) + ), + ]); + + const command = + `meta-old deploy --target dev --allow-dirty --gate http://localhost:${port} -vvv -f tg.ts`; + await $`bash -c ${command}` + .cwd(npmJsrDir) + .env("PATH", `${metaBinDir}:${Deno.env.get("PATH")}`) + .env("MCLI_LOADER_CMD", "pnpm --package=tsx dlx tsx") + .env("RUST_LOG", "trace"); + }); + + await t.should("work with JSR deno", async () => { + const denoJsrDir = await tgsDir.join("deno_jsr").ensureDir(); + await denoJsrDir.join("deno.json").writeJson({}); + await $`bash -c 'deno add @typegraph/sdk@${version}'`.cwd( + denoJsrDir, + ); + await $.co([ + $.path("examples/typegraphs/func.ts").copy(denoJsrDir.join("tg.ts")), + $.path("examples/typegraphs/scripts").copyToDir(denoJsrDir), + ]); + + const command = + `meta-old deploy --target dev --allow-dirty --gate http://localhost:${port} -vvv -f tg.ts`; + await $`bash -c ${command}` + .cwd(denoJsrDir) + .env("PATH", `${metaBinDir}:${Deno.env.get("PATH")}`) + // FIXME: rename to deno.jsonc on bump 0.4.9 + .env("MCLI_LOADER_CMD", `deno run -A --config deno.json`) + .env("RUST_LOG", "trace"); + }); + + await t.should("work with pypa", async () => { + const pypaDir = await tgsDir.join("pypa").ensureDir(); + await $ + .raw`poetry init -n --python=${PYTHON_VERSION} --dependency=typegraph:${version}` + .cwd( + pypaDir, + ); + await $.co([ + pypaDir.join("README.md").ensureFile(), + $`bash -c 'python3 -m venv .venv && source .venv/bin/activate && poetry install --no-root'` + .cwd( + pypaDir, + ), + $.path("examples/typegraphs/func.py").copy(pypaDir.join("tg.py")), + $.path("examples/typegraphs/scripts").copyToDir(pypaDir), + ]); + + const command = `source .venv/bin/activate &&` + + ` ${metaBinDir}/meta-old deploy --target dev --allow-dirty --gate http://localhost:${port} -vvv -f tg.py`; + await $`bash -c ${command}` + .cwd(pypaDir) + .env("PATH", `${metaBinDir}:${Deno.env.get("PATH")}`) + .env("MCLI_LOADER_PY", `poetry run python`) + .env("RUST_LOG", "trace"); + }); + + proc.kill("SIGKILL"); + const status = await proc; + console.log({ status }); + await stdout.close(); + }, + ); +} diff --git a/tests/e2e/published/typegate_upgrade_test.ts b/tests/e2e/published/typegate_upgrade_test.ts new file mode 100644 index 000000000..b422e5e18 --- /dev/null +++ b/tests/e2e/published/typegate_upgrade_test.ts @@ -0,0 +1,198 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + +import { Meta } from "test-utils/mod.ts"; +import { $ } from "@local/tools/deps.ts"; +import { encodeBase64 } from "@std/encoding/base64"; +import { newTempDir } from "test-utils/dir.ts"; +import { Config } from "./config.ts"; +import { downloadAndExtractCli } from "./utils.ts"; +import { Lines } from "test-utils/process.ts"; +import { assertEquals } from "@std/assert"; +import { LATEST_RELEASE_VERSION } from "@local/tools/consts.ts"; + +// TODO remove after the next release +// The build.rs script now uses a META_CMD env var allowing us +// to use meta-old +const disabled: string[] = [ + "metagen-rs.ts", +]; + +const testConfig = new Config(13, "typegate-upgrade-test"); + +const previousVersion = LATEST_RELEASE_VERSION; + +// This also tests the published NPM version of the SDK +Meta.test( + { + name: "typegate upgrade", + async setup() { + await testConfig.clearSyncData(); + await testConfig.setupSync(); + }, + async teardown() { + await testConfig.clearSyncData(); + }, + ignore: previousVersion === "0.4.10", + }, + async (t) => { + let publishedBin = ""; + await t.should("download published cli (fat version)", async () => { + publishedBin = await downloadAndExtractCli(previousVersion); + }); + + const metaBinDir = $.path(publishedBin).parent()!.toString(); + const tgSecret = encodeBase64( + globalThis.crypto.getRandomValues(new Uint8Array(64)), + ); + + const typegateTempDir = await newTempDir(); + const repoDir = await newTempDir(); + const examplesDir = $.path( + await newTempDir({ + dir: undefined, + }), + ); + t.addCleanup(async () => { + await $.co([ + $.removeIfExists(typegateTempDir), + $.removeIfExists(repoDir), + // $.removeIfExists(examplesDir), + ]); + }); + + const port = String(t.port + 1); + + const proc = new Deno.Command("meta-old", { + args: ["typegate"], + env: { + ...Deno.env.toObject(), + LOG_LEVEL: "DEBUG", + PATH: `${metaBinDir}:${Deno.env.get("PATH")}`, + TG_SECRET: tgSecret, + TG_ADMIN_PASSWORD: "password", + TMP_DIR: typegateTempDir, + TG_PORT: port, + // TODO should not be necessary + VERSION: previousVersion, + ...testConfig.syncEnvs, + }, + stdout: "piped", + }).spawn(); + + await t.should( + "download example typegraphs for the published version", + async () => { + const tag = `v${previousVersion}`; + + // FIXME: cache across test runs + await $`git clone https://github.com/metatypedev/metatype.git --depth 1 --branch ${tag}` + .cwd(repoDir) + .stdout("piped") + .stderr("piped") + .printCommand(); + + await $.path(repoDir).join("metatype/examples").copy(examplesDir, { + overwrite: true, + }); + const typegraphsDir = examplesDir.join("typegraphs"); + for await (const entry of typegraphsDir.readDir()) { + const path = typegraphsDir.relative(entry.path); + if (disabled.includes(path.toString())) { + await entry.path.remove().catch((_e) => {}); + } + } + + // NOTE: we clean out the deno.json used by the examples + // before adding the published version + // by default @typegraph/sdk/ needs that trailing slash + // due to https://github.com/WICG/import-maps?tab=readme-ov-file#packages-via-trailing-slashes + await examplesDir.join("deno.json").writeJson({}); + await $.raw`bash -c 'deno add @typegraph/sdk@${previousVersion}'` + .cwd(examplesDir) + .stdout("inherit") + .printCommand(); + }, + ); + + const typegraphs: string[] = []; + + const stdout = new Lines(proc.stdout); + await stdout.readWhile((line) => { + console.log(`typegate>`, line); + return !line.includes(`typegate ready on ${port}`); + }); + stdout.readWhile((line) => { + const match = line.match(/Initializing engine '(.+)'/); + if (match) { + typegraphs.push(match[1]); + } + console.log("typegate counting matches>", line); + return true; + }, null); + + await t.should("successfully deploy on the published version", async () => { + const command = + `meta-old deploy --target dev --threads=4 --allow-dirty --gate http://localhost:${port} -vvv`; + const res = await $`bash -c ${command}` + .cwd(examplesDir.join("typegraphs")) + .env("PATH", `${metaBinDir}:${Deno.env.get("PATH")}`); + console.log(res); + }); + + await stdout.close(); + proc.kill("SIGKILL"); + const status = await proc.status; + console.log({ status }); + + const typegraphs2: string[] = []; + + await t.should("upgrade the typegate to the current version", async () => { + const port = String(t.port + 2); + const proc = new Deno.Command("meta-full", { + args: [ + "typegate", + `--main-url`, + import.meta.resolve("../../../src/typegate/src/main.ts"), + `--import-map-url`, + import.meta.resolve("../../../import_map.json"), + ], + env: { + ...Deno.env.toObject(), + TG_SECRET: tgSecret, + TG_ADMIN_PASSWORD: "password", + TMP_DIR: typegateTempDir, + TG_PORT: `${port}`, + // TODO should not be necessary + VERSION: previousVersion, + ...testConfig.syncEnvs, + }, + stdout: "piped", + }).spawn(); + + const stdout = new Lines(proc.stdout); + + await stdout.readWhile((line) => { + console.log("typegate>", line); + const match = $.stripAnsi(line).match(/reloaded addition: (.+)/); + if (match) { + typegraphs2.push(match[1]); + } + return !line.includes(`typegate ready on :${port}`); + }); + + await stdout.close(); + proc.kill("SIGKILL"); + const status = await proc.status; + console.log({ status }); + }); + + console.log({ typegraphs: typegraphs.sort() }); + + await t.should("have the same typegraphs", () => { + assertEquals(typegraphs.sort(), typegraphs2.sort()); + }); + + await Deno.remove(typegateTempDir, { recursive: true }); + }, +); diff --git a/tests/e2e/published/utils.ts b/tests/e2e/published/utils.ts new file mode 100644 index 000000000..8058aa9b0 --- /dev/null +++ b/tests/e2e/published/utils.ts @@ -0,0 +1,79 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + +import { $ } from "@local/tools/deps.ts"; +import { projectDir } from "@local/tools/utils.ts"; + +import { download } from "download"; +import { Untar } from "@std/archive/untar"; +import { copy } from "@std/io/copy"; +import { encodeBase64 } from "@std/encoding/base64"; +import { readerFromStreamReader } from "@std/io/reader-from-stream-reader"; + +const tempDir = $.path(projectDir).join("tmp"); + +function getAssetName(version: string) { + return `meta-cli-v${version}-${Deno.build.target}`; +} + +async function checkMetaBin(path: typeof tempDir, version: string) { + try { + if (!(await path.exists())) { + return false; + } + const res = await $`bash -c 'meta-old --version'` + .env("PATH", `${path.parent()!.toString()}:${Deno.env.get("PATH")}`) + .stdout("piped"); + if (res.stdout.includes(version)) { + return true; + } + throw new Error(`version mismatch: ${res.stdout}`); + } catch (e) { + console.error(e); + return false; + } +} + +// download the fat version of the cli on the latest stable release +export async function downloadAndExtractCli(version: string) { + const name = getAssetName(version); + const extractTargetDir = tempDir.join(name); + const metaBin = extractTargetDir.join("meta-old"); + if (await checkMetaBin(metaBin, version)) { + return metaBin.toString(); + } + const url = + `https://github.com/metatypedev/metatype/releases/download/v${version}/${name}.tar.gz`; + console.log("Downloading from", url); + const archiveName = `${name}.tar.gz`; + const _fileObj = await download(url, { + file: archiveName, + dir: tempDir.toString(), + }); + const archivePath = tempDir.join(archiveName); + using file = await Deno.open(archivePath.toString()); + const reader = file.readable.pipeThrough(new DecompressionStream("gzip")); + const untar = new Untar(readerFromStreamReader(reader.getReader())); + + await extractTargetDir.ensureDir(); + + for await (const entry of untar) { + if (entry.fileName !== "meta") { + throw new Error("unexpected"); + } + using target = await Deno.open(metaBin.toString(), { + create: true, + write: true, + mode: 0o755, + }); + const res = await copy(entry, target); + console.log(`successfully written ${res} bytes`); + } + + await Deno.remove(archivePath.toString()); + + if (!(await checkMetaBin(metaBin, version))) { + throw new Error("unexpected"); + } + return metaBin.toString(); +} diff --git a/tests/e2e/typegraph/__snapshots__/typegraph_test.ts.snap b/tests/e2e/typegraph/__snapshots__/typegraph_test.ts.snap index 782d9a47d..8ec8548b3 100644 --- a/tests/e2e/typegraph/__snapshots__/typegraph_test.ts.snap +++ b/tests/e2e/typegraph/__snapshots__/typegraph_test.ts.snap @@ -257,7 +257,7 @@ snapshot[`typegraphs creation 1`] = ` "context_identifier": "user", "local_excess": 5 }, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } @@ -404,7 +404,7 @@ snapshot[`typegraphs creation 2`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } @@ -655,7 +655,7 @@ snapshot[`typegraphs creation 3`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": { "scripts/three.ts": { @@ -926,7 +926,7 @@ snapshot[`typegraphs creation 4`] = ` "context_identifier": "user", "local_excess": 5 }, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } @@ -1073,7 +1073,7 @@ snapshot[`typegraphs creation 5`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } @@ -1324,7 +1324,7 @@ snapshot[`typegraphs creation 6`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": { "scripts/three.ts": { diff --git a/tests/metagen/__snapshots__/metagen_test.ts.snap b/tests/metagen/__snapshots__/metagen_test.ts.snap index 99f9dd69a..355d8dd03 100644 --- a/tests/metagen/__snapshots__/metagen_test.ts.snap +++ b/tests/metagen/__snapshots__/metagen_test.ts.snap @@ -454,7 +454,7 @@ impl Router { } pub fn init(&self, args: InitArgs) -> Result { - static MT_VERSION: &str = "0.5.0-rc.9"; + static MT_VERSION: &str = "0.5.0"; if args.metatype_version != MT_VERSION { return Err(InitError::VersionMismatch(MT_VERSION.into())); } @@ -1253,7 +1253,7 @@ impl Router { } pub fn init(&self, args: InitArgs) -> Result { - static MT_VERSION: &str = "0.5.0-rc.9"; + static MT_VERSION: &str = "0.5.0"; if args.metatype_version != MT_VERSION { return Err(InitError::VersionMismatch(MT_VERSION.into())); } diff --git a/tests/metagen/typegraphs/sample/rs/Cargo.toml b/tests/metagen/typegraphs/sample/rs/Cargo.toml index 40b12ca2c..a3b710bca 100644 --- a/tests/metagen/typegraphs/sample/rs/Cargo.toml +++ b/tests/metagen/typegraphs/sample/rs/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "sample_client" edition = "2021" -version = "0.5.0-rc.9" +version = "0.5.0" [dependencies] metagen-client.workspace = true diff --git a/tests/metagen/typegraphs/sample/rs_upload/Cargo.toml b/tests/metagen/typegraphs/sample/rs_upload/Cargo.toml index 9855c0e56..699c850d4 100644 --- a/tests/metagen/typegraphs/sample/rs_upload/Cargo.toml +++ b/tests/metagen/typegraphs/sample/rs_upload/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "sample_client_upload" edition = "2021" -version = "0.5.0-rc.9" +version = "0.5.0" [dependencies] metagen-client.workspace = true diff --git a/tests/runtimes/graphql/__snapshots__/graphql_test.ts.snap b/tests/runtimes/graphql/__snapshots__/graphql_test.ts.snap index 4517c2ad0..f4a986ebe 100644 --- a/tests/runtimes/graphql/__snapshots__/graphql_test.ts.snap +++ b/tests/runtimes/graphql/__snapshots__/graphql_test.ts.snap @@ -978,7 +978,7 @@ snapshot[`Typegraph generation with GraphQL runtime 1`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/tests/runtimes/grpc/__snapshots__/grpc_test.ts.snap b/tests/runtimes/grpc/__snapshots__/grpc_test.ts.snap index 9451e12f2..6ae559771 100644 --- a/tests/runtimes/grpc/__snapshots__/grpc_test.ts.snap +++ b/tests/runtimes/grpc/__snapshots__/grpc_test.ts.snap @@ -128,7 +128,7 @@ snapshot[`Typegraph using grpc 1`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } @@ -264,7 +264,7 @@ snapshot[`Typegraph using grpc 2`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/tests/runtimes/kv/__snapshots__/kv_test.ts.snap b/tests/runtimes/kv/__snapshots__/kv_test.ts.snap index 4af57a581..5760f1fe4 100644 --- a/tests/runtimes/kv/__snapshots__/kv_test.ts.snap +++ b/tests/runtimes/kv/__snapshots__/kv_test.ts.snap @@ -244,7 +244,7 @@ snapshot[`Typegraph using kv 1`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } @@ -496,7 +496,7 @@ snapshot[`Typegraph using kv 2`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/tests/runtimes/s3/__snapshots__/s3_test.ts.snap b/tests/runtimes/s3/__snapshots__/s3_test.ts.snap index 511b87ffe..2f6a77152 100644 --- a/tests/runtimes/s3/__snapshots__/s3_test.ts.snap +++ b/tests/runtimes/s3/__snapshots__/s3_test.ts.snap @@ -352,7 +352,7 @@ snapshot[`s3 typegraphs 1`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/tests/runtimes/temporal/__snapshots__/temporal_test.ts.snap b/tests/runtimes/temporal/__snapshots__/temporal_test.ts.snap index 11d763c39..0389bfdc6 100644 --- a/tests/runtimes/temporal/__snapshots__/temporal_test.ts.snap +++ b/tests/runtimes/temporal/__snapshots__/temporal_test.ts.snap @@ -278,7 +278,7 @@ snapshot[`Typegraph using temporal 1`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } @@ -595,7 +595,7 @@ snapshot[`Typegraph using temporal 2`] = ` }, "auths": [], "rate": null, - "version": "0.0.3", + "version": "0.0.4", "randomSeed": null, "artifacts": {} } diff --git a/tests/runtimes/wasm_reflected/rust/Cargo.toml b/tests/runtimes/wasm_reflected/rust/Cargo.toml index 7723fac0c..9125fe278 100644 --- a/tests/runtimes/wasm_reflected/rust/Cargo.toml +++ b/tests/runtimes/wasm_reflected/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rust" -version = "0.5.0-rc.9" +version = "0.5.0" edition = "2021" [lib] diff --git a/tools/consts.ts b/tools/consts.ts index 670acdb47..60140a8be 100644 --- a/tools/consts.ts +++ b/tools/consts.ts @@ -1,15 +1,16 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -export const METATYPE_VERSION = "0.5.0-rc.9"; -export const PUBLISHED_VERSION = "0.5.0-rc.8"; +export const CURRENT_VERSION = "0.5.0"; +export const LATEST_RELEASE_VERSION = "0.4.10"; +export const LATEST_PRE_RELEASE_VERSION = "0.5.0-rc.9"; export const GHJK_VERSION = "v0.2.1"; export const GHJK_ACTION_VERSION = "318209a9d215f70716a4ac89dbeb9653a2deb8bc"; export const RUST_VERSION = "1.80.1"; export const DENO_VERSION = "1.46.3"; export const WASMTIME_VERSION = "25.0.2"; export const WASMTIME_PY_VERSION = "25.0.0"; -export const TYPEGRAPH_VERSION = "0.0.3"; +export const TYPEGRAPH_VERSION = "0.0.4"; export const PRISMA_VERSION = "5.20.0"; export const SDK_PACKAGE_NAME_TS = "@typegraph/sdk"; export const PYTHON_VERSION = "3.9.19"; @@ -23,17 +24,17 @@ export const sedLockLines: Record = { [/([\s-]+uses:\s+metatypedev\/setup-ghjk@).+()/, GHJK_ACTION_VERSION], ], "tests/**/*.snap": [ - [/(\s*static\s*MT_VERSION:\s*&str\s*=\s*").+(";)/, METATYPE_VERSION], + [/(\s*static\s*MT_VERSION:\s*&str\s*=\s*").+(";)/, CURRENT_VERSION], ], "src/typegraph/python/typegraph/__init__.py": [ - ['(version = ").+(")', METATYPE_VERSION], + ['(version = ").+(")', CURRENT_VERSION], ], "src/typegraph/core/src/global_store.rs": [ - [/(\s{4}pub static SDK_VERSION.+=\s?").*(".+;)/, METATYPE_VERSION], + [/(\s{4}pub static SDK_VERSION.+=\s?").*(".+;)/, CURRENT_VERSION], ], "src/typegraph/python/pyproject.toml": [['(description = ").+(")', TAGLINE]], "**/Cargo.toml": [ - [/^(version = ").+(")/, METATYPE_VERSION], + [/^(version = ").+(")/, CURRENT_VERSION], ['(description = ").+(")', TAGLINE], [ /([\w-]+\s*=\s*\{\s*git\s*=\s*"https:\/\/github\.com\/prisma\/prisma-engines"\s*,\s*tag\s*=\s*").+("\s*\})/, @@ -47,7 +48,7 @@ export const sedLockLines: Record = { ['(wasmtime-wasi = ").+(")', WASMTIME_VERSION], ], "src/typegraph/deno/deno.json": [ - [/(\s*"version"\s*:\s*").+(",?)/, METATYPE_VERSION], + [/(\s*"version"\s*:\s*").+(",?)/, CURRENT_VERSION], ], "tools/deps.ts": [[/(.*\/metatypedev\/ghjk\/)[^\/]*(\/.*)/, GHJK_VERSION]], "tools/cross.Dockerfile": [["(ARG GHJK_VERSION=).*()", GHJK_VERSION]], @@ -57,7 +58,7 @@ export const sedLockLines: Record = { ["(ARG GHJK_VERSION=).*()", GHJK_VERSION], ], "src/typegate/src/runtimes/wit_wire/mod.ts": [ - [/(const\s+METATYPE_VERSION = ").*(";)/, METATYPE_VERSION], + [/(const\s+METATYPE_VERSION = ").*(";)/, CURRENT_VERSION], ], "src/typegate/src/typegraph/versions.ts": [ ['(const typegraphVersion = ").*(";)', TYPEGRAPH_VERSION], @@ -69,24 +70,27 @@ export const sedLockLines: Record = { ['( TYPEGRAPH_VERSION: ").+(")', TYPEGRAPH_VERSION], ['( GHJK_VERSION: ").+(")', GHJK_VERSION], ], + "ghjk.ts": [ + ['( TYPEGRAPH_VERSION: ").+(",)', TYPEGRAPH_VERSION], + ], "docs/metatype.dev/docusaurus.config.js": [['( tagline: ").+(",)', TAGLINE]], "**/pyproject.toml": [ - ['(version = ").+(")', METATYPE_VERSION], + ['(version = ").+(")', CURRENT_VERSION], [/(wasmtime = "\^).+(")/, WASMTIME_PY_VERSION], ], "examples/templates/**/compose.yml": [ - ["( image: ghcr.io/metatypedev/typegate:v).+()", METATYPE_VERSION], + ["( image: ghcr.io/metatypedev/typegate:v).+()", CURRENT_VERSION], ], "examples/templates/**/pyproject.toml": [ - ['(typegraph = ").+(")', METATYPE_VERSION], + ['(typegraph = ").+(")', CURRENT_VERSION], ], "examples/templates/**/package.json": [ - [/(\s*"@typegraph\/sdk"\s*:\s*"\^).+(",?)/, METATYPE_VERSION], + [/(\s*"@typegraph\/sdk"\s*:\s*"\^).+(",?)/, CURRENT_VERSION], ], "examples/templates/**/*.ts": [ [ - /(import\s+.+\s+from "jsr:@typegraph\/sdk@)[^\/]+(\/.+";)/, - METATYPE_VERSION, + /(import\s+.+\s+from "jsr:@typegraph\/sdk@)[^\/]+((?:\/.+)?";)/, + CURRENT_VERSION, ], ], "CONTRIBUTING.md": [[/(GHJK_VERSION=").*(")/, GHJK_VERSION]], diff --git a/tools/deps.ts b/tools/deps.ts index 6ebd60a1c..e14846d04 100644 --- a/tools/deps.ts +++ b/tools/deps.ts @@ -46,6 +46,7 @@ export { red, yellow, } from "jsr:@std/fmt@^1.0.0/colors"; +export { assert } from "jsr:@std/assert@^1.0.3"; export { format as formatDuration } from "jsr:@std/fmt@^1.0.0/duration"; export { mergeReadableStreams, TextLineStream } from "jsr:@std/streams@1"; export type {} from "jsr:@std/path@^1.0.2"; diff --git a/tools/jsr/deno2node.ts b/tools/jsr/deno2node.ts index 6254e357e..1fc30fa5a 100644 --- a/tools/jsr/deno2node.ts +++ b/tools/jsr/deno2node.ts @@ -3,7 +3,7 @@ import { dnt, expandGlobSync, join } from "../deps.ts"; import { copyFilesAt, removeExtension } from "../utils.ts"; -import { METATYPE_VERSION, SDK_PACKAGE_NAME_TS, TAGLINE } from "../consts.ts"; +import { CURRENT_VERSION, SDK_PACKAGE_NAME_TS, TAGLINE } from "../consts.ts"; import { fromRoot, outDir } from "./common.ts"; import { srcDir } from "./common.ts"; @@ -56,7 +56,7 @@ await dnt.build({ packageManager: "pnpm", package: { name: SDK_PACKAGE_NAME_TS, - version: METATYPE_VERSION, + version: CURRENT_VERSION, description: TAGLINE, license: "MPL-2.0", repository: { diff --git a/tools/jsr/jsr-gen.ts b/tools/jsr/jsr-gen.ts index 00bb23b62..4aed86de0 100644 --- a/tools/jsr/jsr-gen.ts +++ b/tools/jsr/jsr-gen.ts @@ -1,7 +1,7 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { METATYPE_VERSION, SDK_PACKAGE_NAME_TS } from "../consts.ts"; +import { CURRENT_VERSION, SDK_PACKAGE_NAME_TS } from "../consts.ts"; import { $, existsSync, expandGlob, join } from "../deps.ts"; import { copyFilesAt } from "../utils.ts"; import { removeExtension } from "../utils.ts"; @@ -57,7 +57,7 @@ Deno.writeTextFileSync( JSON.stringify( { name: SDK_PACKAGE_NAME_TS, - version: METATYPE_VERSION, + version: CURRENT_VERSION, // ungitignore // https://jsr.io/docs/troubleshooting#excluded-module-error publish: { diff --git a/tools/tasks/lock.ts b/tools/tasks/lock.ts index b6803b742..ac4230788 100644 --- a/tools/tasks/lock.ts +++ b/tools/tasks/lock.ts @@ -1,13 +1,22 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { copyLock, type DenoTaskDefArgs, parseArgs, sedLock } from "../deps.ts"; +import { + assert, + copyLock, + type DenoTaskDefArgs, + parseArgs, + sedLock, + semver, +} from "../deps.ts"; import * as consts from "../consts.ts"; export default { "lock-sed": { desc: "Update versions", fn: async ($) => { + validateVersions(); + const args = parseArgs(Deno.args, { boolean: ["check"], default: { version: false, check: false }, @@ -50,3 +59,29 @@ export default { }, }, } satisfies Record; + +export function validateVersions() { + const currentVersion = semver.parse(consts.CURRENT_VERSION); + const latestRelease = semver.parse(consts.LATEST_RELEASE_VERSION); + const prerelease = currentVersion.prerelease ?? []; + const isPreRelease = prerelease.length > 0; + const latestPreRelease = isPreRelease + ? semver.parse(consts.LATEST_PRE_RELEASE_VERSION) + : null; + + if (!isPreRelease || (isPreRelease && prerelease[1] == 0)) { + assert(latestPreRelease == null, "expected no latest pre-release version"); + } + + if (isPreRelease) { + assert( + semver.greaterThan(currentVersion, latestPreRelease!), + "expected current version to be greater than latest pre-release version", + ); + } + + assert( + semver.greaterThan(currentVersion, latestRelease), + "expected current version to be greater than latest release version", + ); +} diff --git a/tools/test.ts b/tools/test.ts index c27af1ea6..4456b14be 100755 --- a/tools/test.ts +++ b/tools/test.ts @@ -538,7 +538,7 @@ class TestResultConsumer { Math.floor( duration / 60_000, ) - }m${Math.floor(duration / 1_000)}s:`, + }m${Math.floor((duration % 60_000) / 1_000)}s:`, ); console.log(` successes: ${this.#counts.success}/${this.results.length}`); diff --git a/whiz.yaml b/whiz.yaml index 336c4e2c4..0808177b2 100644 --- a/whiz.yaml +++ b/whiz.yaml @@ -3,7 +3,7 @@ # process will leak in the bg and hog the port env: - TYPEGRAPH_VERSION: "0.0.3" + TYPEGRAPH_VERSION: "0.0.4" CLICOLOR_FORCE: "1" TIMER_MAX_TIMEOUT_MS: "30000"