diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 83d68461..3e7b8f21 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,3 +13,4 @@ jobs: - uses: denoland/setup-deno@v2 - run: deno fmt --check + - run: deno task test diff --git a/deno.json b/deno.json index 1ac127d0..b8fb4060 100644 --- a/deno.json +++ b/deno.json @@ -6,6 +6,7 @@ "@std/fs": "jsr:@std/fs@^0.229.3", "@std/html": "jsr:@std/html@^1.0.3", "@std/media-types": "jsr:@std/media-types@^1.0.3", + "@std/path": "jsr:@std/path@^1.0.8", "ga4": "https://raw.githubusercontent.com/denoland/ga4/04a1ce209116f158b5ef1658b957bdb109db68ed/mod.ts", "lume/": "https://deno.land/x/lume@v2.4.1/", "@orama/wc-components/": "https://unpkg.com/@orama/wc-components@0.1.7/", @@ -18,7 +19,8 @@ "debug": "deno task build && deno task prod", "prod": "cd _site && deno run --allow-read --allow-env --allow-net server.ts", "reference": "cd reference_gen && deno task types && deno task doc", - "lume": "echo \"import 'lume/cli.ts'\" | deno run -A -" + "lume": "echo \"import 'lume/cli.ts'\" | deno run -A -", + "test": "deno test -A" }, "compilerOptions": { "types": [ @@ -27,6 +29,11 @@ "jsx": "precompile", "jsxImportSource": "npm:preact" }, + "test": { + "exclude": [ + "middleware" + ] + }, "exclude": [ "_site", "reference_gen" diff --git a/deno.lock b/deno.lock index cca2aaad..d20af93d 100644 --- a/deno.lock +++ b/deno.lock @@ -2,43 +2,90 @@ "version": "4", "specifiers": { "jsr:@davidbonnet/astring@1.8.6": "1.8.6", + "jsr:@db/sqlite@*": "0.12.0", + "jsr:@db/sqlite@0.12": "0.12.0", + "jsr:@denosaurs/plug@1": "1.0.6", + "jsr:@hono/hono@*": "4.6.11", + "jsr:@luca/cases@1": "1.0.0", + "jsr:@oak/commons@1": "1.0.0", + "jsr:@oak/oak@*": "17.1.3", + "jsr:@std/assert@*": "1.0.8", + "jsr:@std/assert@0.217": "0.217.0", + "jsr:@std/assert@0.221": "0.221.0", + "jsr:@std/assert@1": "1.0.8", "jsr:@std/assert@^1.0.6": "1.0.8", + "jsr:@std/async@*": "1.0.5", + "jsr:@std/bytes@*": "1.0.4", + "jsr:@std/bytes@1": "1.0.4", + "jsr:@std/bytes@^1.0.2": "1.0.4", + "jsr:@std/bytes@^1.0.3": "1.0.4", + "jsr:@std/cli@*": "1.0.6", "jsr:@std/cli@1.0.6": "1.0.6", "jsr:@std/cli@^1.0.6": "1.0.6", + "jsr:@std/collections@*": "1.0.9", "jsr:@std/collections@^1.0.5": "1.0.9", + "jsr:@std/crypto@*": "1.0.3", + "jsr:@std/crypto@1": "1.0.3", "jsr:@std/crypto@1.0.3": "1.0.3", + "jsr:@std/crypto@^1.0.3": "1.0.3", + "jsr:@std/csv@*": "1.0.3", "jsr:@std/dotenv@~0.225.2": "0.225.2", + "jsr:@std/encoding@*": "1.0.5", + "jsr:@std/encoding@0.221": "0.221.0", + "jsr:@std/encoding@1": "1.0.5", "jsr:@std/encoding@1.0.5": "1.0.5", "jsr:@std/encoding@^1.0.5": "1.0.5", + "jsr:@std/fmt@*": "1.0.3", + "jsr:@std/fmt@0.221": "0.221.0", "jsr:@std/fmt@1.0.3": "1.0.3", "jsr:@std/fmt@^1.0.2": "1.0.3", "jsr:@std/fmt@^1.0.3": "1.0.3", "jsr:@std/front-matter@1.0.5": "1.0.5", "jsr:@std/fs@*": "1.0.5", + "jsr:@std/fs@0.221": "0.221.0", "jsr:@std/fs@1.0.5": "1.0.5", "jsr:@std/fs@^1.0.4": "1.0.5", "jsr:@std/fs@~0.229.3": "0.229.3", "jsr:@std/html@1.0.3": "1.0.3", "jsr:@std/html@^1.0.3": "1.0.3", + "jsr:@std/http@*": "1.0.9", + "jsr:@std/http@1": "1.0.9", "jsr:@std/http@1.0.9": "1.0.9", "jsr:@std/internal@^1.0.5": "1.0.5", + "jsr:@std/io@0.224": "0.224.9", "jsr:@std/io@0.225": "0.225.0", "jsr:@std/json@1": "1.0.1", "jsr:@std/jsonc@1.0.1": "1.0.1", "jsr:@std/log@0.224.9": "0.224.9", + "jsr:@std/media-types@1": "1.1.0", "jsr:@std/media-types@^1.0.3": "1.1.0", "jsr:@std/net@^1.0.4": "1.0.4", + "jsr:@std/path@*": "1.0.8", + "jsr:@std/path@0.217": "0.217.0", + "jsr:@std/path@0.221": "0.221.0", + "jsr:@std/path@1": "1.0.8", "jsr:@std/path@1.0.0-rc.1": "1.0.0-rc.1", "jsr:@std/path@1.0.8": "1.0.8", "jsr:@std/path@^1.0.7": "1.0.8", + "jsr:@std/path@^1.0.8": "1.0.8", + "jsr:@std/streams@^1.0.4": "1.0.8", "jsr:@std/streams@^1.0.7": "1.0.8", + "jsr:@std/toml@*": "1.0.1", "jsr:@std/toml@1.0.1": "1.0.1", "jsr:@std/toml@^1.0.1": "1.0.1", "jsr:@std/ulid@1": "1.0.0", + "jsr:@std/uuid@*": "1.0.4", "jsr:@std/yaml@*": "1.0.5", "jsr:@std/yaml@1.0.5": "1.0.5", "jsr:@std/yaml@^1.0.5": "1.0.5", + "jsr:@supabase/supabase-js@2": "2.46.1", "npm:@js-temporal/polyfill@0.4.4": "0.4.4", + "npm:@supabase/auth-js@2.65.1": "2.65.1", + "npm:@supabase/functions-js@2.4.3": "2.4.3", + "npm:@supabase/node-fetch@2.6.15": "2.6.15", + "npm:@supabase/postgrest-js@1.16.3": "1.16.3", + "npm:@supabase/realtime-js@2.10.7": "2.10.7", + "npm:@supabase/storage-js@2.7.1": "2.7.1", "npm:@types/estree@1.0.6": "1.0.6", "npm:@types/node@*": "22.5.4", "npm:ansi-regex@*": "6.1.0", @@ -53,6 +100,7 @@ "npm:markdown-it@14.1.0": "14.1.0", "npm:meriyah@6.0.3": "6.0.3", "npm:mongodb@6.1.0": "6.1.0", + "npm:path-to-regexp@6.2.1": "6.2.1", "npm:postcss-import@16.1.0": "16.1.0_postcss@8.4.47", "npm:postcss@8.4.47": "8.4.47", "npm:preact-render-to-string@6.5.11": "6.5.11_preact@10.24.3", @@ -68,15 +116,74 @@ "@davidbonnet/astring@1.8.6": { "integrity": "98b4914c8863cdf8c0ff83bb5c528caa67a8dca6020ad6234113499f00583e3a" }, + "@db/sqlite@0.12.0": { + "integrity": "dd1ef7f621ad50fc1e073a1c3609c4470bd51edc0994139c5bf9851de7a6d85f", + "dependencies": [ + "jsr:@denosaurs/plug", + "jsr:@std/path@0.217" + ] + }, "@deno/gfm@0.8.2": { "integrity": "a7528367cbd954a2d0de316bd0097ee92f06d2cb66502c8574de133ed223424f" }, + "@denosaurs/plug@1.0.6": { + "integrity": "6cf5b9daba7799837b9ffbe89f3450510f588fafef8115ddab1ff0be9cb7c1a7", + "dependencies": [ + "jsr:@std/encoding@0.221", + "jsr:@std/fmt@0.221", + "jsr:@std/fs@0.221", + "jsr:@std/path@0.221" + ] + }, + "@hono/hono@4.6.11": { + "integrity": "07399d911f09e94b7dc1e0e0a0577d35fe66578af20163d513958364c4e9e702" + }, + "@luca/cases@1.0.0": { + "integrity": "b5f9471f1830595e63a2b7d62821ac822a19e16899e6584799be63f17a1fbc30" + }, + "@oak/commons@1.0.0": { + "integrity": "49805b55603c3627a9d6235c0655aa2b6222d3036b3a13ff0380c16368f607ac", + "dependencies": [ + "jsr:@std/assert@1", + "jsr:@std/bytes@1", + "jsr:@std/crypto@1", + "jsr:@std/encoding@1", + "jsr:@std/http@1", + "jsr:@std/media-types@1" + ] + }, + "@oak/oak@17.1.3": { + "integrity": "d89296c22db91681dd3a2a1e1fd14e258d0d5a9654de55637aee5b661c159f33", + "dependencies": [ + "jsr:@oak/commons", + "jsr:@std/assert@1", + "jsr:@std/bytes@1", + "jsr:@std/crypto@1", + "jsr:@std/http@1", + "jsr:@std/io@0.224", + "jsr:@std/media-types@1", + "jsr:@std/path@1", + "npm:path-to-regexp" + ] + }, + "@std/assert@0.217.0": { + "integrity": "c98e279362ca6982d5285c3b89517b757c1e3477ee9f14eb2fdf80a45aaa9642" + }, + "@std/assert@0.221.0": { + "integrity": "a5f1aa6e7909dbea271754fd4ab3f4e687aeff4873b4cef9a320af813adb489a" + }, "@std/assert@1.0.8": { "integrity": "ebe0bd7eb488ee39686f77003992f389a06c3da1bbd8022184804852b2fa641b", "dependencies": [ "jsr:@std/internal" ] }, + "@std/async@1.0.5": { + "integrity": "31d68214bfbb31bd4c6022401d484e3964147c76c9220098baa703a39b6c2da6" + }, + "@std/bytes@1.0.4": { + "integrity": "11a0debe522707c95c7b7ef89b478c13fb1583a7cfb9a85674cd2cc2e3a28abc" + }, "@std/cli@1.0.6": { "integrity": "d22d8b38c66c666d7ad1f2a66c5b122da1704f985d3c47f01129f05abb6c5d3d" }, @@ -86,12 +193,24 @@ "@std/crypto@1.0.3": { "integrity": "a2a32f51ddef632d299e3879cd027c630dcd4d1d9a5285d6e6788072f4e51e7f" }, + "@std/csv@1.0.3": { + "integrity": "623acf0dcb88d62ba727c3611ad005df7f109ede8cac833e3986f540744562e5", + "dependencies": [ + "jsr:@std/streams@^1.0.4" + ] + }, "@std/dotenv@0.225.2": { "integrity": "e2025dce4de6c7bca21dece8baddd4262b09d5187217e231b033e088e0c4dd23" }, + "@std/encoding@0.221.0": { + "integrity": "d1dd76ef0dc5d14088411e6dc1dede53bf8308c95d1537df1214c97137208e45" + }, "@std/encoding@1.0.5": { "integrity": "ecf363d4fc25bd85bd915ff6733a7e79b67e0e7806334af15f4645c569fefc04" }, + "@std/fmt@0.221.0": { + "integrity": "379fed69bdd9731110f26b9085aeb740606b20428ce6af31ef6bd45ef8efa62a" + }, "@std/fmt@1.0.3": { "integrity": "97765c16aa32245ff4e2204ecf7d8562496a3cb8592340a80e7e554e0bb9149f" }, @@ -102,6 +221,13 @@ "jsr:@std/yaml@^1.0.5" ] }, + "@std/fs@0.221.0": { + "integrity": "028044450299de8ed5a716ade4e6d524399f035513b85913794f4e81f07da286", + "dependencies": [ + "jsr:@std/assert@0.221", + "jsr:@std/path@0.221" + ] + }, "@std/fs@0.229.3": { "integrity": "783bca21f24da92e04c3893c9e79653227ab016c48e96b3078377ebd5222e6eb", "dependencies": [ @@ -123,15 +249,21 @@ "jsr:@std/cli@^1.0.6", "jsr:@std/encoding@^1.0.5", "jsr:@std/fmt@^1.0.3", - "jsr:@std/media-types", + "jsr:@std/media-types@^1.0.3", "jsr:@std/net", "jsr:@std/path@^1.0.7", - "jsr:@std/streams" + "jsr:@std/streams@^1.0.7" ] }, "@std/internal@1.0.5": { "integrity": "54a546004f769c1ac9e025abd15a76b6671ddc9687e2313b67376125650dc7ba" }, + "@std/io@0.224.9": { + "integrity": "4414664b6926f665102e73c969cfda06d2c4c59bd5d0c603fd4f1b1c840d6ee3", + "dependencies": [ + "jsr:@std/bytes@^1.0.2" + ] + }, "@std/io@0.225.0": { "integrity": "c1db7c5e5a231629b32d64b9a53139445b2ca640d828c26bf23e1c55f8c079b3" }, @@ -149,7 +281,7 @@ "dependencies": [ "jsr:@std/fmt@^1.0.2", "jsr:@std/fs@^1.0.4", - "jsr:@std/io" + "jsr:@std/io@0.225" ] }, "@std/media-types@1.1.0": { @@ -158,6 +290,18 @@ "@std/net@1.0.4": { "integrity": "2f403b455ebbccf83d8a027d29c5a9e3a2452fea39bb2da7f2c04af09c8bc852" }, + "@std/path@0.217.0": { + "integrity": "1217cc25534bca9a2f672d7fe7c6f356e4027df400c0e85c0ef3e4343bc67d11", + "dependencies": [ + "jsr:@std/assert@0.217" + ] + }, + "@std/path@0.221.0": { + "integrity": "0a36f6b17314ef653a3a1649740cc8db51b25a133ecfe838f20b79a56ebe0095", + "dependencies": [ + "jsr:@std/assert@0.221" + ] + }, "@std/path@1.0.0-rc.1": { "integrity": "b8c00ae2f19106a6bb7cbf1ab9be52aa70de1605daeb2dbdc4f87a7cbaf10ff6" }, @@ -165,19 +309,40 @@ "integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be" }, "@std/streams@1.0.8": { - "integrity": "b41332d93d2cf6a82fe4ac2153b930adf1a859392931e2a19d9fabfb6f154fb3" + "integrity": "b41332d93d2cf6a82fe4ac2153b930adf1a859392931e2a19d9fabfb6f154fb3", + "dependencies": [ + "jsr:@std/bytes@^1.0.3" + ] }, "@std/toml@1.0.1": { "integrity": "b55b407159930f338d384b1f8fd317c8e8a35e27ebb8946155f49e3a158d16c4", "dependencies": [ - "jsr:@std/collections" + "jsr:@std/collections@^1.0.5" ] }, "@std/ulid@1.0.0": { "integrity": "d41c3d27a907714413649fee864b7cde8d42ee68437d22b79d5de4f81d808780" }, + "@std/uuid@1.0.4": { + "integrity": "f4233149cc8b4753cc3763fd83a7c4101699491f55c7be78dc7b30281946d7a0", + "dependencies": [ + "jsr:@std/bytes@^1.0.2", + "jsr:@std/crypto@^1.0.3" + ] + }, "@std/yaml@1.0.5": { "integrity": "71ba3d334305ee2149391931508b2c293a8490f94a337eef3a09cade1a2a2742" + }, + "@supabase/supabase-js@2.46.1": { + "integrity": "9cefe1552806d5dc00545b924605539b1b0865691483799cf8c081fbdd17d5c9", + "dependencies": [ + "npm:@supabase/auth-js", + "npm:@supabase/functions-js", + "npm:@supabase/node-fetch", + "npm:@supabase/postgrest-js", + "npm:@supabase/realtime-js", + "npm:@supabase/storage-js" + ] } }, "npm": { @@ -252,6 +417,45 @@ "@pkgjs/parseargs@0.11.0": { "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==" }, + "@supabase/auth-js@2.65.1": { + "integrity": "sha512-IA7i2Xq2SWNCNMKxwmPlHafBQda0qtnFr8QnyyBr+KaSxoXXqEzFCnQ1dGTy6bsZjVBgXu++o3qrDypTspaAPw==", + "dependencies": [ + "@supabase/node-fetch" + ] + }, + "@supabase/functions-js@2.4.3": { + "integrity": "sha512-sOLXy+mWRyu4LLv1onYydq+10mNRQ4rzqQxNhbrKLTLTcdcmS9hbWif0bGz/NavmiQfPs4ZcmQJp4WqOXlR4AQ==", + "dependencies": [ + "@supabase/node-fetch" + ] + }, + "@supabase/node-fetch@2.6.15": { + "integrity": "sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==", + "dependencies": [ + "whatwg-url@5.0.0" + ] + }, + "@supabase/postgrest-js@1.16.3": { + "integrity": "sha512-HI6dsbW68AKlOPofUjDTaosiDBCtW4XAm0D18pPwxoW3zKOE2Ru13Z69Wuys9fd6iTpfDViNco5sgrtnP0666A==", + "dependencies": [ + "@supabase/node-fetch" + ] + }, + "@supabase/realtime-js@2.10.7": { + "integrity": "sha512-OLI0hiSAqQSqRpGMTUwoIWo51eUivSYlaNBgxsXZE7PSoWh12wPRdVt0psUMaUzEonSB85K21wGc7W5jHnT6uA==", + "dependencies": [ + "@supabase/node-fetch", + "@types/phoenix", + "@types/ws", + "ws" + ] + }, + "@supabase/storage-js@2.7.1": { + "integrity": "sha512-asYHcyDR1fKqrMpytAS1zjyEfvxuOIp1CIXX7ji4lHHcJKqyk+sLl/Vxgm4sN6u8zvuUtae9e4kDxQP2qrwWBA==", + "dependencies": [ + "@supabase/node-fetch" + ] + }, "@types/estree@1.0.6": { "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, @@ -274,6 +478,9 @@ "undici-types" ] }, + "@types/phoenix@1.6.5": { + "integrity": "sha512-xegpDuR+z0UqG9fwHqNoy3rI7JDlvaPh2TY47Fl80oq6g+hXT+c/LEuE43X48clZ6lOfANl5WrPur9fYO1RJ/w==" + }, "@types/webidl-conversions@7.0.3": { "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" }, @@ -284,6 +491,12 @@ "@types/webidl-conversions" ] }, + "@types/ws@8.5.13": { + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "dependencies": [ + "@types/node" + ] + }, "accepts@1.3.8": { "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": [ @@ -369,7 +582,7 @@ "http-errors", "iconv-lite", "on-finished", - "qs@6.11.0", + "qs", "raw-body", "type-is", "unpipe" @@ -461,8 +674,8 @@ "cookie@0.5.0": { "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" }, - "cross-spawn@7.0.5": { - "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "cross-spawn@7.0.6": { + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dependencies": [ "path-key", "shebang-command", @@ -516,8 +729,8 @@ "ee-first@1.1.1": { "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, - "electron-to-chromium@1.5.57": { - "integrity": "sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==" + "electron-to-chromium@1.5.63": { + "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==" }, "emoji-regex@8.0.0": { "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" @@ -577,9 +790,9 @@ "methods", "on-finished", "parseurl", - "path-to-regexp", + "path-to-regexp@0.1.7", "proxy-addr", - "qs@6.11.0", + "qs", "range-parser", "safe-buffer", "send", @@ -717,7 +930,7 @@ "extend", "gaxios", "google-auth-library", - "qs@6.13.0", + "qs", "url-template", "uuid" ] @@ -1040,6 +1253,9 @@ "path-to-regexp@0.1.7": { "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, + "path-to-regexp@6.2.1": { + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + }, "picocolors@1.1.1": { "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, @@ -1149,12 +1365,6 @@ "side-channel" ] }, - "qs@6.13.0": { - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dependencies": [ - "side-channel" - ] - }, "queue-microtask@1.2.3": { "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, @@ -1475,10 +1685,16 @@ "strip-ansi@7.1.0" ] }, + "ws@8.18.0": { + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==" + }, "yaml@2.6.0": { "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==" } }, + "redirects": { + "https://deno.land/x/r2d2/mod.ts": "https://deno.land/x/r2d2@v2.0.0/mod.ts" + }, "remote": { "https://deno.land/std@0.120.0/async/deadline.ts": "1d6ac7aeaee22f75eb86e4e105d6161118aad7b41ae2dd14f4cfd3bf97472b93", "https://deno.land/std@0.120.0/async/debounce.ts": "b2f693e4baa16b62793fd618de6c003b63228db50ecfe3bd51fc5f6dc0bc264b", @@ -1495,6 +1711,49 @@ "https://deno.land/std@0.143.0/datetime/mod.ts": "dcab9ae7be83cbf74b7863e83bd16e7c646a8dea2f019092905630eb7a545739", "https://deno.land/std@0.143.0/datetime/tokenizer.ts": "7381e28f6ab51cb504c7e132be31773d73ef2f3e1e50a812736962b9df1e8c47", "https://deno.land/std@0.143.0/http/cookie.ts": "526f27762fad7bf84fbe491de7eba7c406057501eec6edcad7884a16b242fddf", + "https://deno.land/std@0.160.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", + "https://deno.land/std@0.160.0/_util/os.ts": "8a33345f74990e627b9dfe2de9b040004b08ea5146c7c9e8fe9a29070d193934", + "https://deno.land/std@0.160.0/async/abortable.ts": "87aa7230be8360c24ad437212311c9e8d4328854baec27b4c7abb26e85515c06", + "https://deno.land/std@0.160.0/async/deadline.ts": "48ac998d7564969f3e6ec6b6f9bf0217ebd00239b1b2292feba61272d5dd58d0", + "https://deno.land/std@0.160.0/async/debounce.ts": "dc8b92d4a4fe7eac32c924f2b8d3e62112530db70cadce27042689d82970b350", + "https://deno.land/std@0.160.0/async/deferred.ts": "d8fb253ffde2a056e4889ef7e90f3928f28be9f9294b6505773d33f136aab4e6", + "https://deno.land/std@0.160.0/async/delay.ts": "0419dfc993752849692d1f9647edf13407c7facc3509b099381be99ffbc9d699", + "https://deno.land/std@0.160.0/async/mod.ts": "dd0a8ed4f3984ffabe2fcca7c9f466b7932d57b1864ffee148a5d5388316db6b", + "https://deno.land/std@0.160.0/async/mux_async_iterator.ts": "3447b28a2a582224a3d4d3596bccbba6e85040da3b97ed64012f7decce98d093", + "https://deno.land/std@0.160.0/async/pool.ts": "ef9eb97b388543acbf0ac32647121e4dbe629236899586c4d4311a8770fbb239", + "https://deno.land/std@0.160.0/async/tee.ts": "9af3a3e7612af75861308b52249e167f5ebc3dcfc8a1a4d45462d96606ee2b70", + "https://deno.land/std@0.160.0/bytes/bytes_list.ts": "aba5e2369e77d426b10af1de0dcc4531acecec27f9b9056f4f7bfbf8ac147ab4", + "https://deno.land/std@0.160.0/bytes/equals.ts": "3c3558c3ae85526f84510aa2b48ab2ad7bdd899e2e0f5b7a8ffc85acb3a6043a", + "https://deno.land/std@0.160.0/bytes/mod.ts": "b2e342fd3669176a27a4e15061e9d588b89c1aaf5008ab71766e23669565d179", + "https://deno.land/std@0.160.0/crypto/_fnv/fnv32.ts": "aa9bddead8c6345087d3abd4ef35fb9655622afc333fc41fff382b36e64280b5", + "https://deno.land/std@0.160.0/crypto/_fnv/fnv64.ts": "625d7e7505b6cb2e9801b5fd6ed0a89256bac12b2bbb3e4664b85a88b0ec5bef", + "https://deno.land/std@0.160.0/crypto/_fnv/index.ts": "a8f6a361b4c6d54e5e89c16098f99b6962a1dd6ad1307dbc97fa1ecac5d7060a", + "https://deno.land/std@0.160.0/crypto/_fnv/util.ts": "4848313bed7f00f55be3cb080aa0583fc007812ba965b03e4009665bde614ce3", + "https://deno.land/std@0.160.0/crypto/_wasm_crypto/lib/deno_std_wasm_crypto.generated.mjs": "258b484c2da27578bec61c01d4b62c21f72268d928d03c968c4eb590cb3bd830", + "https://deno.land/std@0.160.0/crypto/_wasm_crypto/mod.ts": "6c60d332716147ded0eece0861780678d51b560f533b27db2e15c64a4ef83665", + "https://deno.land/std@0.160.0/crypto/keystack.ts": "e481eed28007395e554a435e880fee83a5c73b9259ed8a135a75e4b1e4f381f7", + "https://deno.land/std@0.160.0/crypto/mod.ts": "fadedc013b4a86fda6305f1adc6d1c02225834d53cff5d95cc05f62b25127517", + "https://deno.land/std@0.160.0/crypto/timing_safe_equal.ts": "82a29b737bc8932d75d7a20c404136089d5d23629e94ba14efa98a8cc066c73e", + "https://deno.land/std@0.160.0/datetime/formatter.ts": "7c8e6d16a0950f400aef41b9f1eb9168249869776ec520265dfda785d746589e", + "https://deno.land/std@0.160.0/datetime/mod.ts": "ea927ca96dfb28c7b9a5eed5bdc7ac46bb9db38038c4922631895cea342fea87", + "https://deno.land/std@0.160.0/datetime/tokenizer.ts": "7381e28f6ab51cb504c7e132be31773d73ef2f3e1e50a812736962b9df1e8c47", + "https://deno.land/std@0.160.0/encoding/base64.ts": "c57868ca7fa2fbe919f57f88a623ad34e3d970d675bdc1ff3a9d02bba7409db2", + "https://deno.land/std@0.160.0/encoding/base64url.ts": "a5f82a9fa703bd85a5eb8e7c1296bc6529e601ebd9642cc2b5eaa6b38fa9e05a", + "https://deno.land/std@0.160.0/encoding/hex.ts": "4cc5324417cbb4ac9b828453d35aed45b9cc29506fad658f1f138d981ae33795", + "https://deno.land/std@0.160.0/fmt/colors.ts": "9e36a716611dcd2e4865adea9c4bec916b5c60caad4cdcdc630d4974e6bb8bd4", + "https://deno.land/std@0.160.0/io/buffer.ts": "fae02290f52301c4e0188670e730cd902f9307fb732d79c4aa14ebdc82497289", + "https://deno.land/std@0.160.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3", + "https://deno.land/std@0.160.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09", + "https://deno.land/std@0.160.0/path/_util.ts": "d16be2a16e1204b65f9d0dfc54a9bc472cafe5f4a190b3c8471ec2016ccd1677", + "https://deno.land/std@0.160.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633", + "https://deno.land/std@0.160.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee", + "https://deno.land/std@0.160.0/path/mod.ts": "56fec03ad0ebd61b6ab39ddb9b0ddb4c4a5c9f2f4f632e09dd37ec9ebfd722ac", + "https://deno.land/std@0.160.0/path/posix.ts": "6b63de7097e68c8663c84ccedc0fd977656eb134432d818ecd3a4e122638ac24", + "https://deno.land/std@0.160.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", + "https://deno.land/std@0.160.0/path/win32.ts": "ee8826dce087d31c5c81cd414714e677eb68febc40308de87a2ce4b40e10fb8d", + "https://deno.land/std@0.160.0/testing/_diff.ts": "a23e7fc2b4d8daa3e158fa06856bedf5334ce2a2831e8bf9e509717f455adb2c", + "https://deno.land/std@0.160.0/testing/_format.ts": "cd11136e1797791045e639e9f0f4640d5b4166148796cad37e6ef75f7d7f3832", + "https://deno.land/std@0.160.0/testing/asserts.ts": "1e340c589853e82e0807629ba31a43c84ebdcdeca910c4a9705715dfdb0f5ce8", "https://deno.land/std@0.170.0/_util/asserts.ts": "d0844e9b62510f89ce1f9878b046f6a57bf88f208a10304aab50efcb48365272", "https://deno.land/std@0.170.0/_util/os.ts": "8a33345f74990e627b9dfe2de9b040004b08ea5146c7c9e8fe9a29070d193934", "https://deno.land/std@0.170.0/encoding/base64.ts": "8605e018e49211efc767686f6f687827d7f5fd5217163e981d8d693105640d7a", @@ -1508,6 +1767,11 @@ "https://deno.land/std@0.170.0/path/posix.ts": "b859684bc4d80edfd4cad0a82371b50c716330bed51143d6dcdbe59e6278b30c", "https://deno.land/std@0.170.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", "https://deno.land/std@0.170.0/path/win32.ts": "7cebd2bda6657371adc00061a1d23fdd87bcdf64b4843bb148b0b24c11b40f69", + "https://deno.land/std@0.203.0/bytes/bytes_list.ts": "ecf5098c230b793970f43c06e8f30d70b937c031658365aeb3de9a8ae4d406a3", + "https://deno.land/std@0.203.0/bytes/concat.ts": "d26d6f3d7922e6d663dacfcd357563b7bf4a380ce5b9c2bbe0c8586662f25ce2", + "https://deno.land/std@0.203.0/collections/chunk.ts": "f82c52a82ad9338018570c42f6de0fb132fcb14914c31a444e360ac104d7b55b", + "https://deno.land/std@0.203.0/io/read_delim.ts": "8ea988eac1503c7118bfcf00b4e4a422450548af8e18328f6f599553cfe78012", + "https://deno.land/std@0.203.0/streams/write_all.ts": "4cdd36256f892fe7aead46338054f6ea813a63765e87bda4c60e8c5a57d1c5c1", "https://deno.land/x/case@2.1.1/lowerCase.ts": "86d5533f9587ed60003181591e40e648838c23f371edfa79d00288153d113b16", "https://deno.land/x/case@2.1.1/normalCase.ts": "6a8b924da9ab0790d99233ae54bfcfc996d229cb91b2533639fe20972cc33dac", "https://deno.land/x/case@2.1.1/snakeCase.ts": "ee2ab4e2c931d30bb79190d090c21eb5c00d1de1b7a9a3e7f33e035ae431333b", @@ -1625,10 +1889,8 @@ "https://deno.land/x/esbuild@v0.24.0/mod.js": "15b51f08198c373555700a695b6c6630a86f2c254938e81be7711eb6d4edc74e", "https://deno.land/x/lume@v2.4.1/cli.ts": "dcdc9d6abc1a219f1b972772ba27be33cebeffebb3db2d82a3f3d752d789a758", "https://deno.land/x/lume@v2.4.1/cli/build.ts": "a3acda3c702d6a51a8fe65ea3abc17813deea0db71e442de6120a747f56a2466", - "https://deno.land/x/lume@v2.4.1/cli/build_worker.ts": "0a829ac3baadabc1c77103e0110429b67a4dc2a781898d21272087d34dc7be74", "https://deno.land/x/lume@v2.4.1/cli/cms.ts": "7f3f46c3353661a7679926d0ddcfe3e596f3c97ad2de7f535bde5906e42c3f5a", "https://deno.land/x/lume@v2.4.1/cli/create.ts": "f340056e3b01a61007f82b47a174ede55df2d80d343e492a3853d44007bb8fc6", - "https://deno.land/x/lume@v2.4.1/cli/missing_worker_apis.ts": "70625ded7fee5de7d215e0829ce8dc4bb7060f6a496c09db880ebaec8b3efb92", "https://deno.land/x/lume@v2.4.1/cli/run.ts": "27e7c84c2bcadc3aa4ca4fbad02330f33000dca9a2ef41780bad3676606bc029", "https://deno.land/x/lume@v2.4.1/cli/upgrade.ts": "a11e7c9024f78c2e7376c57b4a99e389dbf490769779d2d37a4a3ccd6ef27d9e", "https://deno.land/x/lume@v2.4.1/cli/utils.ts": "4697e4280ff62b537507ed707ec84ea707b0519f8de32e2e762f498104a8d1ae", @@ -1667,7 +1929,6 @@ "https://deno.land/x/lume@v2.4.1/core/utils/lume_config.ts": "1dd321aea867cbd5e744c6a81f82cd6caf4095ba93cabd03c667368be19494ba", "https://deno.land/x/lume@v2.4.1/core/utils/lume_version.ts": "96ce8c0144b5adbc170f388b60be706244d1bd100413e748e9cf23878838c87c", "https://deno.land/x/lume@v2.4.1/core/utils/merge_data.ts": "a574d97eeaa1513d30440488f52e988f0fe2085397611852673cea10076f01ff", - "https://deno.land/x/lume@v2.4.1/core/utils/net.ts": "7827473a96b28950ab8083582a1f810e56ab265c28196494d9d714f1e0c17e8a", "https://deno.land/x/lume@v2.4.1/core/utils/object.ts": "e00ee6e91264064772c87e69e128a09ba0e30c2c41be4a5302881f59f456fc31", "https://deno.land/x/lume@v2.4.1/core/utils/page_content.ts": "e7d4323a7b66d1ae26c1263dd5a13a0c5e9f73583c9cf83454ad61f157d8351d", "https://deno.land/x/lume@v2.4.1/core/utils/page_date.ts": "2a3d9c203df298ca61f568fdf509945f127f990769623c3edfd753d39807b757", @@ -1701,12 +1962,7 @@ "https://deno.land/x/lume@v2.4.1/deps/vento.ts": "50bb794a4aa7a65c0394d585277bfe85f2c44fd19a0d848dfa54cba52cf55b62", "https://deno.land/x/lume@v2.4.1/deps/xml.ts": "ca44c214383270649e96947571f997e8d8a0b120a2e038f2f3684783256b3921", "https://deno.land/x/lume@v2.4.1/deps/yaml.ts": "cbcf4d295ed88066e12a718750f09cebbf30fefa32e186844b597bce74b35557", - "https://deno.land/x/lume@v2.4.1/middlewares/logger.ts": "c96f1a9f9d5757555b6f141865ce8551ac176f90c8ee3e9ad797b2b400a9a567", - "https://deno.land/x/lume@v2.4.1/middlewares/no_cache.ts": "0119e3ae3a596ab12c42df693b93e5b03dd9608e289d862242751a9739438f35", - "https://deno.land/x/lume@v2.4.1/middlewares/no_cors.ts": "4d24619b5373c98bcc3baf404db47ba088c87ac8538ea1784e58d197b81d4d02", "https://deno.land/x/lume@v2.4.1/middlewares/not_found.ts": "4507842d422267062c34662dceab17affcaad01858a5890fda163a8ddeb31487", - "https://deno.land/x/lume@v2.4.1/middlewares/reload.ts": "ec723e917bd12c83f65fc39a66592add9ec2ab56a1ad17f429ba749d32c218f9", - "https://deno.land/x/lume@v2.4.1/middlewares/reload_client.js": "992ac4a2f4a9fb4a1ab5f23f674ef202a43d73652cdebcf7b1552b482a7410ef", "https://deno.land/x/lume@v2.4.1/mod.ts": "f93dcbc0ccb7a9e6cab93d0e8f1f0643b112f3084bedc603379dc1b47d7d380d", "https://deno.land/x/lume@v2.4.1/plugins/check_urls.ts": "316851b70200446a573b4269ae2793d414fc8f8083800b3197f543376ed81784", "https://deno.land/x/lume@v2.4.1/plugins/esbuild.ts": "2970f854f678eaa43ebc20a15e751fc8b9bc891b82f24b56553fc773cafaa29a", @@ -1732,6 +1988,141 @@ "https://deno.land/x/lume_markdown_plugins@v0.7.0/toc/anchors.ts": "8a4a1c6b2c63156622695ceba57fa7100a6e5f109c9a383a1dcaf755233c8184", "https://deno.land/x/lume_markdown_plugins@v0.7.0/toc/mod.ts": "8c7aa6e1dcfabda4264503495a3875388108cd9a5a94b54853b45a8e8cba9f78", "https://deno.land/x/lume_markdown_plugins@v0.7.0/utils.ts": "6e6c3c394709eff39080562732c2dafe404f225253aaded937133ea694c4b735", + "https://deno.land/x/openai@v4.53.0/_shims/MultipartBody.ts": "fe06a56b54ae358c9cf99823096e34b36795fdba2e17513f0e9539210edd797d", + "https://deno.land/x/openai@v4.53.0/_shims/mod.ts": "2e253cb26bfa7060bd37e45626e60e4bf3e7b3fb3e0f559fdfdeef94c73f9372", + "https://deno.land/x/openai@v4.53.0/core.ts": "4d78de4c114f5048120eb34c4e94286e69e9c1453cb03791296e79e0e5713bc2", + "https://deno.land/x/openai@v4.53.0/error.ts": "a8721373ee2bb58af749b537af4adf320f73b576b9f4263072e98c4a099578ad", + "https://deno.land/x/openai@v4.53.0/lib/AbstractAssistantStreamRunner.ts": "2e7a0a6c3dc541d8eea15f0c2c6c394a4373458707103c210a4c7d1ddb04f5b7", + "https://deno.land/x/openai@v4.53.0/lib/AbstractChatCompletionRunner.ts": "04e896780c3ac2a82de55e17823d6fef1e49ea7632d998149986ae45d2eb0c47", + "https://deno.land/x/openai@v4.53.0/lib/AssistantStream.ts": "00257f487b45d1f0d4edf859da067c0d48e65b1b08400004a54ce572611d0cb2", + "https://deno.land/x/openai@v4.53.0/lib/ChatCompletionRunner.ts": "0d1cc40d99cd64b7d573ab95f9cb75750f24f9829da91e12573122842985a2d0", + "https://deno.land/x/openai@v4.53.0/lib/ChatCompletionStream.ts": "e5721b3a8c1edb8442c4ab11db947ae2437c6fc999fc2b53d3b1f4b3c27b3549", + "https://deno.land/x/openai@v4.53.0/lib/ChatCompletionStreamingRunner.ts": "9bcaae3760dd5f9b54d5d4b2ba79b8731bb3dc79214c26e5d0bbdfe809747dd2", + "https://deno.land/x/openai@v4.53.0/lib/RunnableFunction.ts": "f45a16776de983da6b65e5748eb2c581b6ea9d3849bda0026f24659cf0be2d2c", + "https://deno.land/x/openai@v4.53.0/lib/Util.ts": "aa555aecdbba8b0ae2e8a982a6797cabc0942fa0d2e99ce629d243d9032941b8", + "https://deno.land/x/openai@v4.53.0/lib/chatCompletionUtils.ts": "4991d3e698a54f8e4273eb0f1d73851f7ba549a0a32fabbcd739627677003cb9", + "https://deno.land/x/openai@v4.53.0/lib/jsonschema.ts": "ed31a7861e19e505c43aa7612579b2739243ee8e8dd47ccb5f8908fa5ff3b5f0", + "https://deno.land/x/openai@v4.53.0/mod.ts": "e4dc0441bfd7c750dc92f4b5c50b3eb07167484d51f353656ce4604e0ae29f39", + "https://deno.land/x/openai@v4.53.0/pagination.ts": "02a6737ca6c987cab6effa2788327d022b9e0edc95dd98db0be986383f484e22", + "https://deno.land/x/openai@v4.53.0/resource.ts": "c496dbda8dc6324d25fcef3d7233310935259d6aa0baf4b0d95039e4913f6380", + "https://deno.land/x/openai@v4.53.0/resources/audio/audio.ts": "baddf217421e2c09aa67d6977d9d98bc119edb7167ae6fd3e821778d8c702f19", + "https://deno.land/x/openai@v4.53.0/resources/audio/speech.ts": "5a472cf379bdacc20a4f9f9af1588c948c1cf3eb27858742d7ba56493f18fd67", + "https://deno.land/x/openai@v4.53.0/resources/audio/transcriptions.ts": "6cbdf36139d4606289ea0724155d25499f6af3531a5f2073e44d3d87718314df", + "https://deno.land/x/openai@v4.53.0/resources/audio/translations.ts": "329dfbab7c3ae7a9244379735f113008b5cd959e791076a2f26c01bf83ef998e", + "https://deno.land/x/openai@v4.53.0/resources/batches.ts": "c74d0c40fd748fae60107297a10a62a1a98a646ac2a1b20e9be8499bdceeda57", + "https://deno.land/x/openai@v4.53.0/resources/beta/assistants.ts": "fef426851227af9b7d504af0e44ff3a6f371dc2f44ce6c742ee4097bcabee981", + "https://deno.land/x/openai@v4.53.0/resources/beta/beta.ts": "2e4c2ad66515f2ec5a1e3a2ccb6f29425b5a06bf2b8a600efb3e4303e61e516a", + "https://deno.land/x/openai@v4.53.0/resources/beta/chat/chat.ts": "80dc8786a4b895e9fb152495496f44ac669e95fbb9c2f5a3c0bd379f408b1e1c", + "https://deno.land/x/openai@v4.53.0/resources/beta/chat/completions.ts": "5e15cb9095f34d2a51e6e79a83dc5a53dc32e9ab99e607ba59732271612ffd19", + "https://deno.land/x/openai@v4.53.0/resources/beta/threads/messages.ts": "1bc3c64b57179fa2689156379bb6407f1a699ee28bfc1755f5f6826265ac5803", + "https://deno.land/x/openai@v4.53.0/resources/beta/threads/runs/runs.ts": "bc8cc5cbed02644358ec05073b5637e486b82b74051afbcd56953052a7f2f2e4", + "https://deno.land/x/openai@v4.53.0/resources/beta/threads/runs/steps.ts": "51d85d9618f79a38d491c56e1aa8d43b943432ee8f41ae726006a4ec7fc25074", + "https://deno.land/x/openai@v4.53.0/resources/beta/threads/threads.ts": "7d775ae576b45fe70238b33ca2be15b149d3b3b43b0fa32a9ed9079c8ad9cdb9", + "https://deno.land/x/openai@v4.53.0/resources/beta/vector-stores/file-batches.ts": "b1f53967214c8cec017b20bfa6310061608b3ef278f0fec21b53104b7fe82f91", + "https://deno.land/x/openai@v4.53.0/resources/beta/vector-stores/files.ts": "d8f8ea175b6ec1524226eade57240e68e234c98ddff12e9c8a2f7f532cb9d89f", + "https://deno.land/x/openai@v4.53.0/resources/beta/vector-stores/vector-stores.ts": "a3b3e0f7704fbd8ba22c76e401ca4e8375b55cdf5f14460f00f62e8004b41934", + "https://deno.land/x/openai@v4.53.0/resources/chat/chat.ts": "175eb0092c40450400e5942c3b4661d52a55b1ff1240449a28fc705182505c93", + "https://deno.land/x/openai@v4.53.0/resources/chat/completions.ts": "6550395bcf8f8fa1b52884d27496ea23119ba4d8c64a771b7c0dc7f52fc44e64", + "https://deno.land/x/openai@v4.53.0/resources/chat/mod.ts": "533faa7d352b1291cac0200a91e5c638361070285336631a76a0a26debc99d60", + "https://deno.land/x/openai@v4.53.0/resources/completions.ts": "c8b2569f34b26205b0d9d348e594586d3ead6571caf84920171dd5b7a057322d", + "https://deno.land/x/openai@v4.53.0/resources/embeddings.ts": "2a28c666fe9c42bb860bdfa1b27c4aae96c548159aa7e7030a384cfbb00a7465", + "https://deno.land/x/openai@v4.53.0/resources/files.ts": "8b733524f9c3afc5b31646749de92d81679b62a130c9715b3782aa9d30ced00c", + "https://deno.land/x/openai@v4.53.0/resources/fine-tuning/fine-tuning.ts": "5cb89d96fc6d914ae2d68257a4d08a1f12c140c12b7892a14393177ca9c4ca2b", + "https://deno.land/x/openai@v4.53.0/resources/fine-tuning/jobs/checkpoints.ts": "d5a62d828186fb54b50ac2aa0f82a8f9b0c66a7ece0728e79e30cf6e19251bdf", + "https://deno.land/x/openai@v4.53.0/resources/fine-tuning/jobs/jobs.ts": "bbc91853e90d0568624c15755a32220779e086bd9917778b54dcaa104a817413", + "https://deno.land/x/openai@v4.53.0/resources/images.ts": "21ec14b419819914398f4bc2575608a938a298b77357b0bc17cbdbfb624a2280", + "https://deno.land/x/openai@v4.53.0/resources/mod.ts": "e077965c210ee091bd88b5ac44269bce163b4f31a48e1c5403320a70ffe356a5", + "https://deno.land/x/openai@v4.53.0/resources/models.ts": "fc8620e0d93158560be0e941bbb298870c7f85515ec2a411602fb46a1269ea93", + "https://deno.land/x/openai@v4.53.0/resources/moderations.ts": "828dbc64a89c361299f6d169cf0d04736e22d9caf4e6f44acce58f269caf1118", + "https://deno.land/x/openai@v4.53.0/resources/shared.ts": "3e8f4151a77d5dbe1e76ac2af061dc49463790adca54ad6e242a21c7c85114ec", + "https://deno.land/x/openai@v4.53.0/resources/uploads/parts.ts": "261610445bbbacdf913aec27d9084dbdd95c524b5eb74c0a3b9cb650d6135584", + "https://deno.land/x/openai@v4.53.0/resources/uploads/uploads.ts": "db02e2c94315ad657909bcbf45e2c74c6de8c4b5afba34639ce373c437296cd9", + "https://deno.land/x/openai@v4.53.0/streaming.ts": "04f85a25d5143758473521223e58003a59cc617fa57755e5a62ba96741cb50ef", + "https://deno.land/x/openai@v4.53.0/uploads.ts": "33857c766326193dd038ca77382f3b361ef92038a938de312f3f95aa77531a46", + "https://deno.land/x/openai@v4.53.0/version.ts": "93f94da5905e95a6632efbb8b0f0c56e16ce862de99f1a44f224c0972de3ec98", + "https://deno.land/x/openai@v4.68.1/_shims/MultipartBody.ts": "fe06a56b54ae358c9cf99823096e34b36795fdba2e17513f0e9539210edd797d", + "https://deno.land/x/openai@v4.68.1/_shims/mod.ts": "2e253cb26bfa7060bd37e45626e60e4bf3e7b3fb3e0f559fdfdeef94c73f9372", + "https://deno.land/x/openai@v4.68.1/_vendor/partial-json-parser/parser.ts": "5ee7caf85edb570fb4b95a81e8fb48fc3c9450b70a46efe7f9c1a2010738d060", + "https://deno.land/x/openai@v4.68.1/core.ts": "1a22d633616438e05192c7220c2e6206ce16fb1c46316a50ac4b0e786b1617cb", + "https://deno.land/x/openai@v4.68.1/error.ts": "ffe2c1e6a373a88593c70289b94a44a508a925fde16807e489fa146b538f37de", + "https://deno.land/x/openai@v4.68.1/internal/decoders/line.ts": "6ca47bdd694f2b96506012aa3f4d23a82d71d44dbe66f6f07d62e4733b161bfb", + "https://deno.land/x/openai@v4.68.1/internal/qs/formats.ts": "7bbe68548238a984644a723bd045614c5b0e81c1a0ae5c3acc050931442d67d7", + "https://deno.land/x/openai@v4.68.1/internal/qs/mod.ts": "eab02831aa5e2896d12b824cebf9b2c3a0fc718e8488a05b6d7c2d35895c102a", + "https://deno.land/x/openai@v4.68.1/internal/qs/stringify.ts": "777514fc7107d6878a8ac80897bd4ca6f9be7ecf67ecf51f57359ec5e7186763", + "https://deno.land/x/openai@v4.68.1/internal/qs/types.ts": "9c319089f022ad9d1fd95d87e2232de8c352bb980ee51de757b4bc23181cfbc2", + "https://deno.land/x/openai@v4.68.1/internal/qs/utils.ts": "9a2ecb6321ed49aa4e6f7cd7a47778365c7c3778283264c7c5e1756bfd7b97d1", + "https://deno.land/x/openai@v4.68.1/lib/AbstractChatCompletionRunner.ts": "be24ad750e83495a1ec0ea2a6695798f6210e5f939a5d358597f3e46836c7d7c", + "https://deno.land/x/openai@v4.68.1/lib/AssistantStream.ts": "4d7ab356cc77299e98a5926908ed080de2af0083bba6a1ffeb5509bc8f8d0a9d", + "https://deno.land/x/openai@v4.68.1/lib/ChatCompletionRunner.ts": "f2038e4b0000d59bdfe601703ca9326085e493ba4b90ed8186a61d75d2377248", + "https://deno.land/x/openai@v4.68.1/lib/ChatCompletionStream.ts": "4cb95561b01aa471895d398f1461a96c7272b0efd2c010ad1d4b9620a7ae1f47", + "https://deno.land/x/openai@v4.68.1/lib/ChatCompletionStreamingRunner.ts": "35f8658c5fb354a724f59eca13731523bf565520b5923c00d995b09e2ea9a56f", + "https://deno.land/x/openai@v4.68.1/lib/EventStream.ts": "14836091490ea45c9d1168dd91c179dbad7757ca7c7f953049f2bce10b0cbf6e", + "https://deno.land/x/openai@v4.68.1/lib/RunnableFunction.ts": "640a9d35f27b470a95711d841295ccc530b851dec274f9a70bcd12cb04041545", + "https://deno.land/x/openai@v4.68.1/lib/Util.ts": "aa555aecdbba8b0ae2e8a982a6797cabc0942fa0d2e99ce629d243d9032941b8", + "https://deno.land/x/openai@v4.68.1/lib/chatCompletionUtils.ts": "4991d3e698a54f8e4273eb0f1d73851f7ba549a0a32fabbcd739627677003cb9", + "https://deno.land/x/openai@v4.68.1/lib/jsonschema.ts": "ed31a7861e19e505c43aa7612579b2739243ee8e8dd47ccb5f8908fa5ff3b5f0", + "https://deno.land/x/openai@v4.68.1/lib/parser.ts": "1461923499c521d97bdb7223adc228b3e1073f52d7d7c48822423081b8cc5c0c", + "https://deno.land/x/openai@v4.68.1/mod.ts": "c6a4cb63aa253223a0de019872b6ec6fdbeb5dcec321e35a520484b3fea91904", + "https://deno.land/x/openai@v4.68.1/pagination.ts": "02a6737ca6c987cab6effa2788327d022b9e0edc95dd98db0be986383f484e22", + "https://deno.land/x/openai@v4.68.1/resource.ts": "c496dbda8dc6324d25fcef3d7233310935259d6aa0baf4b0d95039e4913f6380", + "https://deno.land/x/openai@v4.68.1/resources/audio/audio.ts": "45b72cb5faa51c5823d7cc6b7629887373a0f3ccff6509c2d591ef08f1429a56", + "https://deno.land/x/openai@v4.68.1/resources/audio/speech.ts": "406fd5cb6d9799dfbad09f4c9156797114550552f63d9a1822846b4e79f1950e", + "https://deno.land/x/openai@v4.68.1/resources/audio/transcriptions.ts": "c0c9bdfb7a8c118947c70e8bb0d6e3e448c2a7dbf79ebfaa8beca5398dad87cb", + "https://deno.land/x/openai@v4.68.1/resources/audio/translations.ts": "b09cafa74f0f4e9a6d78a687d898d1d9057556142c7df6d5b469f2693a8911d9", + "https://deno.land/x/openai@v4.68.1/resources/batches.ts": "c74d0c40fd748fae60107297a10a62a1a98a646ac2a1b20e9be8499bdceeda57", + "https://deno.land/x/openai@v4.68.1/resources/beta/assistants.ts": "dcf463ceb2424d6cbf8a3785c7d4074226b4a45388567773e5b88d62b81d871b", + "https://deno.land/x/openai@v4.68.1/resources/beta/beta.ts": "18d141633c9ca356feed84f71789d37a0076f711012de4f0120a50226f9eaf88", + "https://deno.land/x/openai@v4.68.1/resources/beta/chat/chat.ts": "80dc8786a4b895e9fb152495496f44ac669e95fbb9c2f5a3c0bd379f408b1e1c", + "https://deno.land/x/openai@v4.68.1/resources/beta/chat/completions.ts": "4599a35da9351cd58ab46e536c3f62e207762f64655786de1f931438c125bf57", + "https://deno.land/x/openai@v4.68.1/resources/beta/threads/messages.ts": "51acea64463644078110c67e280a49f630a8cefa62d7cff20c8e2e1fa10ebf0d", + "https://deno.land/x/openai@v4.68.1/resources/beta/threads/runs/runs.ts": "a26a407ef55673e38e6c51abc8623a6469aed59d8a8fdde8706993e54694cb27", + "https://deno.land/x/openai@v4.68.1/resources/beta/threads/runs/steps.ts": "6c4860df114632ff38fafb2e1dc7485b77dcf88570bc07544016c847db4ed21b", + "https://deno.land/x/openai@v4.68.1/resources/beta/threads/threads.ts": "e410ba22441ce0d8dcfc155a5b57823189ff77ece733f6e8b932db4f3706f22f", + "https://deno.land/x/openai@v4.68.1/resources/beta/vector-stores/file-batches.ts": "9b727c0aa5306580bfc0c474ce1871968707dfa3906fba05d737f95cc05af406", + "https://deno.land/x/openai@v4.68.1/resources/beta/vector-stores/files.ts": "fff8fa00e3df2608741e7b83a95264b3bf9400bf9fe820e2a5ae72d7ea3f0198", + "https://deno.land/x/openai@v4.68.1/resources/beta/vector-stores/vector-stores.ts": "544bdb83534d746d5577801c092a92e1d515571d68fa6509954089b11e813c91", + "https://deno.land/x/openai@v4.68.1/resources/chat/chat.ts": "8209074deaa9a91a7c0fb660eba0bf09358c450cb0e9a2c0ed3df902e05658f6", + "https://deno.land/x/openai@v4.68.1/resources/chat/completions.ts": "3695d31c7256a0042be45746b65148eedc94ba89460be4e8a82a179981766126", + "https://deno.land/x/openai@v4.68.1/resources/chat/mod.ts": "5bf995771df8aa7e86c1ede244f3d710841fb60276456e016a2f5fca595f3388", + "https://deno.land/x/openai@v4.68.1/resources/completions.ts": "eed691559845988ce6ae9149fd4529977addb38174cb94165ebb7fc101fe052d", + "https://deno.land/x/openai@v4.68.1/resources/embeddings.ts": "f85f38aeb2963535a11065b4a1852e07ab5428ec1b0b7997d3d1027f0d4adc4d", + "https://deno.land/x/openai@v4.68.1/resources/files.ts": "b3edff249bbd1bd29c4bac1d2d32dfb44e9afbea0cbf31f37b240748059cff55", + "https://deno.land/x/openai@v4.68.1/resources/fine-tuning/fine-tuning.ts": "5cb89d96fc6d914ae2d68257a4d08a1f12c140c12b7892a14393177ca9c4ca2b", + "https://deno.land/x/openai@v4.68.1/resources/fine-tuning/jobs/checkpoints.ts": "d5a62d828186fb54b50ac2aa0f82a8f9b0c66a7ece0728e79e30cf6e19251bdf", + "https://deno.land/x/openai@v4.68.1/resources/fine-tuning/jobs/jobs.ts": "cce555739996ad8611963b2d68d328c757fa1535fa8fc347982ca8fae2d3d7ac", + "https://deno.land/x/openai@v4.68.1/resources/images.ts": "5774e74b1e88b7ba696272fac83a41c1558737d2640da64bcdfb11ba253b0943", + "https://deno.land/x/openai@v4.68.1/resources/mod.ts": "feac7be25f772e37663e9764a5c6ba6d95ee8aa44a664e119a858bd8c005f52f", + "https://deno.land/x/openai@v4.68.1/resources/models.ts": "fc8620e0d93158560be0e941bbb298870c7f85515ec2a411602fb46a1269ea93", + "https://deno.land/x/openai@v4.68.1/resources/moderations.ts": "b9fb1e5f9597b46628f0181decbbcef7abf54bfbe0f57953669e6c26b45ed6ee", + "https://deno.land/x/openai@v4.68.1/resources/shared.ts": "79abd8e478551d04209384197e86a7bc390a5a3de5d10b0f60aa67c9af4ad3b4", + "https://deno.land/x/openai@v4.68.1/resources/uploads/parts.ts": "261610445bbbacdf913aec27d9084dbdd95c524b5eb74c0a3b9cb650d6135584", + "https://deno.land/x/openai@v4.68.1/resources/uploads/uploads.ts": "6d42e5238aecba708eed1b48ad5eab37d7a9950d06e5f74aa059c8b94cfeff36", + "https://deno.land/x/openai@v4.68.1/streaming.ts": "cde0b254d2a56e2e737b93a80109bead39ebfe9a44595f4d6625a3e1b56311d0", + "https://deno.land/x/openai@v4.68.1/uploads.ts": "8dd7822de2fdb6a46be3941af43788000d4a2b56104180403f68999370d04542", + "https://deno.land/x/openai@v4.68.1/version.ts": "0aac2b4f2e0b91678d8e325ff480fdc863631c896e0e0e2354b3acc988b95d6e", + "https://deno.land/x/postgres@v0.17.0/client.ts": "348779c9f6a1c75ef1336db662faf08dce7d2101ff72f0d1e341ba1505c8431d", + "https://deno.land/x/postgres@v0.17.0/client/error.ts": "0817583b666fd546664ed52c1d37beccc5a9eebcc6e3c2ead20ada99b681e5f7", + "https://deno.land/x/postgres@v0.17.0/connection/auth.ts": "1070125e2ac4ca4ade36d69a4222d37001903092826d313217987583edd61ce9", + "https://deno.land/x/postgres@v0.17.0/connection/connection.ts": "428ed3efa055870db505092b5d3545ef743497b7b4b72cf8f0593e7dd4788acd", + "https://deno.land/x/postgres@v0.17.0/connection/connection_params.ts": "52bfe90e8860f584b95b1b08c254dde97c3aa763c4b6bee0c80c5930e35459e0", + "https://deno.land/x/postgres@v0.17.0/connection/message.ts": "f9257948b7f87d58bfbfe3fc6e2e08f0de3ef885655904d56a5f73655cc22c5a", + "https://deno.land/x/postgres@v0.17.0/connection/message_code.ts": "466719008b298770c366c5c63f6cf8285b7f76514dadb4b11e7d9756a8a1ddbf", + "https://deno.land/x/postgres@v0.17.0/connection/packet.ts": "050aeff1fc13c9349e89451a155ffcd0b1343dc313a51f84439e3e45f64b56c8", + "https://deno.land/x/postgres@v0.17.0/connection/scram.ts": "0c7a2551fe7b1a1c62dd856b7714731a7e7534ccca10093336782d1bfc5b2bd2", + "https://deno.land/x/postgres@v0.17.0/deps.ts": "f47ccb41f7f97eaad455d94f407ef97146ae99443dbe782894422c869fbba69e", + "https://deno.land/x/postgres@v0.17.0/mod.ts": "a1e18fd9e6fedc8bc24e5aeec3ae6de45e2274be1411fb66e9081420c5e81d7d", + "https://deno.land/x/postgres@v0.17.0/pool.ts": "892db7b5e1787988babecc994a151ebbd7d017f080905cbe9c3d7b44a73032a9", + "https://deno.land/x/postgres@v0.17.0/query/array_parser.ts": "f8a229d82c3801de8266fa2cc4afe12e94fef8d0c479e73655c86ed3667ef33f", + "https://deno.land/x/postgres@v0.17.0/query/decode.ts": "44a4a6cbcf494ed91a4fecae38a57dce63a7b519166f02c702791d9717371419", + "https://deno.land/x/postgres@v0.17.0/query/decoders.ts": "16cb0e60227d86692931e315421b15768c78526e3aeb84e25fcc4111096de9fd", + "https://deno.land/x/postgres@v0.17.0/query/encode.ts": "5f1418a2932b7c2231556e4a5f5f56efef48728014070cfafe7656963f342933", + "https://deno.land/x/postgres@v0.17.0/query/oid.ts": "8c33e1325f34e4ca9f11a48b8066c8cfcace5f64bc1eb17ad7247af4936999e1", + "https://deno.land/x/postgres@v0.17.0/query/query.ts": "edb473cbcfeff2ee1c631272afb25d079d06b66b5853f42492725b03ffa742b6", + "https://deno.land/x/postgres@v0.17.0/query/transaction.ts": "8e75c3ce0aca97da7fe126e68f8e6c08d640e5c8d2016e62cee5c254bebe7fe8", + "https://deno.land/x/postgres@v0.17.0/query/types.ts": "a6dc8024867fe7ccb0ba4b4fa403ee5d474c7742174128c8e689c3b5e5eaa933", + "https://deno.land/x/postgres@v0.17.0/utils/deferred.ts": "dd94f2a57355355c47812b061a51b55263f72d24e9cb3fdb474c7519f4d61083", + "https://deno.land/x/postgres@v0.17.0/utils/utils.ts": "19c3527ddd5c6c4c49ae36397120274c7f41f9d3cbf479cb36065d23329e9f90", + "https://deno.land/x/r2d2@v2.0.0/mod.ts": "9dd57845ed23db1a80e8df3ebaec4bd1ff1a39bbf533b4ee2a40f9c895cd662b", "https://deno.land/x/vento@v1.12.11/deps.ts": "47ad104c87a32292e978f0fba4f69954f7feff3b403833858e1cc51c5313e9db", "https://deno.land/x/vento@v1.12.11/mod.ts": "296c9cc4253c1b88a94fc630a05d9a12947a908966f2db43968141f1c282a7d6", "https://deno.land/x/vento@v1.12.11/plugins/echo.ts": "59adb9137e736029cf18e3d95e010803c8728046d0d040702c16c4930c7b6160", @@ -1765,7 +2156,9 @@ "jsr:@std/fs@~0.229.3", "jsr:@std/html@^1.0.3", "jsr:@std/media-types@^1.0.3", + "jsr:@std/path@^1.0.8", "npm:googleapis@144", + "npm:preact@*", "npm:tailwindcss@^3.4.9" ] } diff --git a/examples_test.ts b/examples_test.ts new file mode 100644 index 00000000..93eeb44f --- /dev/null +++ b/examples_test.ts @@ -0,0 +1,21 @@ +import { join } from "@std/path"; +import { walk } from "@std/fs"; +import { assertEquals, assertNotMatch } from "@std/assert"; + +const decoder = new TextDecoder(); + +Deno.test("Check examples", async (t) => { + for await (const item of walk("./examples")) { + const path = join("examples", item.name); + + if (!path.endsWith(".ts")) continue; + + await t.step("Check graph: " + path, async () => { + const result = await new Deno.Command(Deno.execPath(), { + args: ["info", path], + }).output(); + assertEquals(result.code, 0); + assertNotMatch(decoder.decode(result.stdout), /\(resolve error\)/); + }); + } +});