+2
-2
deno.json
+2
-2
deno.json
···
1
1
{
2
2
"tasks": {
3
-
"index": "deno run --watch -A --env-file main-index.ts",
4
-
"view": "deno run --watch -A --env-file main-view.ts"
3
+
"index": "deno run --watch -A --env-file --unstable-broadcast-channel main-index.ts",
4
+
"view": "deno run --watch -A --env-file --unstable-broadcast-channel main-view.ts"
5
5
},
6
6
"imports": {
7
7
"@std/assert": "jsr:@std/assert@1"
+170
-2
deno.lock
+170
-2
deno.lock
···
1309
1309
},
1310
1310
"redirects": {
1311
1311
"https://esm.sh/@alloc/quick-lru@^5.2.0?target=denonext": "https://esm.sh/@alloc/quick-lru@5.2.0?target=denonext",
1312
+
"https://esm.sh/@atproto/api": "https://esm.sh/@atproto/api@0.16.3",
1313
+
"https://esm.sh/@atproto/common-web@^0.4.2?target=denonext": "https://esm.sh/@atproto/common-web@0.4.2?target=denonext",
1314
+
"https://esm.sh/@atproto/lexicon@^0.4.13?target=denonext": "https://esm.sh/@atproto/lexicon@0.4.13?target=denonext",
1315
+
"https://esm.sh/@atproto/oauth-client-browser": "https://esm.sh/@atproto/oauth-client-browser@0.3.30",
1316
+
"https://esm.sh/@atproto/syntax@^0.4.0?target=denonext": "https://esm.sh/@atproto/syntax@0.4.0?target=denonext",
1317
+
"https://esm.sh/@atproto/xrpc@^0.7.2?target=denonext": "https://esm.sh/@atproto/xrpc@0.7.2?target=denonext",
1312
1318
"https://esm.sh/@jridgewell/gen-mapping@^0.3.2?target=denonext": "https://esm.sh/@jridgewell/gen-mapping@0.3.13?target=denonext",
1313
1319
"https://esm.sh/@jridgewell/resolve-uri@^3.1.0?target=denonext": "https://esm.sh/@jridgewell/resolve-uri@3.1.2?target=denonext",
1314
1320
"https://esm.sh/@jridgewell/sourcemap-codec@^1.4.14?target=denonext": "https://esm.sh/@jridgewell/sourcemap-codec@1.5.5?target=denonext",
···
1318
1324
"https://esm.sh/@nodelib/fs.walk@^1.2.3?target=denonext": "https://esm.sh/@nodelib/fs.walk@1.2.8?target=denonext",
1319
1325
"https://esm.sh/@tailwindcss/line-clamp?target=denonext": "https://esm.sh/@tailwindcss/line-clamp@0.4.4?target=denonext",
1320
1326
"https://esm.sh/autoprefixer@10": "https://esm.sh/autoprefixer@10.4.21",
1327
+
"https://esm.sh/await-lock@^2.2.2?target=denonext": "https://esm.sh/await-lock@2.2.2?target=denonext",
1321
1328
"https://esm.sh/braces@^3.0.3?target=denonext": "https://esm.sh/braces@3.0.3?target=denonext",
1322
1329
"https://esm.sh/browserslist@^4.24.4?target=denonext": "https://esm.sh/browserslist@4.25.3?target=denonext",
1323
1330
"https://esm.sh/camelcase-css@^2.0.1?target=denonext": "https://esm.sh/camelcase-css@2.0.1?target=denonext",
···
1407
1414
"https://esm.sh/fraction.js@^4.3.7?target=denonext": "https://esm.sh/fraction.js@4.3.7?target=denonext",
1408
1415
"https://esm.sh/glob-parent@^5.1.2?target=denonext": "https://esm.sh/glob-parent@5.1.2?target=denonext",
1409
1416
"https://esm.sh/glob-parent@^6.0.2?target=denonext": "https://esm.sh/glob-parent@6.0.2?target=denonext",
1417
+
"https://esm.sh/graphemer@^1.4.0?target=denonext": "https://esm.sh/graphemer@1.4.0?target=denonext",
1410
1418
"https://esm.sh/is-extglob@^2.1.1?target=denonext": "https://esm.sh/is-extglob@2.1.1?target=denonext",
1411
1419
"https://esm.sh/is-glob@^4.0.1?target=denonext": "https://esm.sh/is-glob@4.0.3?target=denonext",
1412
1420
"https://esm.sh/is-glob@^4.0.3?target=denonext": "https://esm.sh/is-glob@4.0.3?target=denonext",
1421
+
"https://esm.sh/iso-datestring-validator@^2.2.2?target=denonext": "https://esm.sh/iso-datestring-validator@2.2.2?target=denonext",
1413
1422
"https://esm.sh/jiti@^1.21.6/dist/babel?target=denonext": "https://esm.sh/jiti@1.21.7/dist/babel?target=denonext",
1414
1423
"https://esm.sh/jiti@^1.21.6?target=denonext": "https://esm.sh/jiti@1.21.7?target=denonext",
1424
+
"https://esm.sh/jose@^5.2.0?target=denonext": "https://esm.sh/jose@5.10.0?target=denonext",
1415
1425
"https://esm.sh/lines-and-columns@^1.1.6?target=denonext": "https://esm.sh/lines-and-columns@1.2.4?target=denonext",
1426
+
"https://esm.sh/lru-cache@^10.2.0?target=denonext": "https://esm.sh/lru-cache@10.4.3?target=denonext",
1416
1427
"https://esm.sh/merge2@^1.3.0?target=denonext": "https://esm.sh/merge2@1.4.1?target=denonext",
1417
1428
"https://esm.sh/micromatch@^4.0.8?target=denonext": "https://esm.sh/micromatch@4.0.8?target=denonext",
1429
+
"https://esm.sh/multiformats@^9.4.2/basics?target=denonext": "https://esm.sh/multiformats@9.9.0/basics?target=denonext",
1430
+
"https://esm.sh/multiformats@^9.9.0/bases/base64?target=denonext": "https://esm.sh/multiformats@9.9.0/bases/base64?target=denonext",
1431
+
"https://esm.sh/multiformats@^9.9.0/cid?target=denonext": "https://esm.sh/multiformats@9.9.0/cid?target=denonext",
1418
1432
"https://esm.sh/nanoid@^3.3.11/non-secure?target=denonext": "https://esm.sh/nanoid@3.3.11/non-secure?target=denonext",
1419
1433
"https://esm.sh/node-releases@^2.0.19/data/processed/envs.json?module": "https://esm.sh/node-releases@2.0.19/data/processed/envs.json?module",
1420
1434
"https://esm.sh/node-releases@^2.0.19/data/release-schedule/release-schedule.json?module": "https://esm.sh/node-releases@2.0.19/data/release-schedule/release-schedule.json?module",
···
1438
1452
"https://esm.sh/queue-microtask@^1.2.2?target=denonext": "https://esm.sh/queue-microtask@1.2.3?target=denonext",
1439
1453
"https://esm.sh/reusify@^1.0.4?target=denonext": "https://esm.sh/reusify@1.1.0?target=denonext",
1440
1454
"https://esm.sh/run-parallel@^1.1.9?target=denonext": "https://esm.sh/run-parallel@1.2.0?target=denonext",
1455
+
"https://esm.sh/scheduler@^0.26.0?target=denonext": "https://esm.sh/scheduler@0.26.0?target=denonext",
1441
1456
"https://esm.sh/source-map-js@^1.2.1?target=denonext": "https://esm.sh/source-map-js@1.2.1?target=denonext",
1442
1457
"https://esm.sh/sucrase@^3.35.0?target=denonext": "https://esm.sh/sucrase@3.35.0?target=denonext",
1443
1458
"https://esm.sh/tailwindcss@3": "https://esm.sh/tailwindcss@3.4.17",
1444
1459
"https://esm.sh/tailwindcss@^4.0.0-beta.9/plugin?target=denonext": "https://esm.sh/tailwindcss@4.1.12/plugin?target=denonext",
1460
+
"https://esm.sh/tlds@^1.234.0?target=denonext": "https://esm.sh/tlds@1.259.0?target=denonext",
1445
1461
"https://esm.sh/to-regex-range@^5.0.1?target=denonext": "https://esm.sh/to-regex-range@5.0.1?target=denonext",
1446
1462
"https://esm.sh/ts-interface-checker@^0.1.9?target=denonext": "https://esm.sh/ts-interface-checker@0.1.13?target=denonext",
1447
-
"https://esm.sh/util-deprecate@^1.0.2?target=denonext": "https://esm.sh/util-deprecate@1.0.2?target=denonext"
1463
+
"https://esm.sh/util-deprecate@^1.0.2?target=denonext": "https://esm.sh/util-deprecate@1.0.2?target=denonext",
1464
+
"https://esm.sh/zod@^3.23.8?target=denonext": "https://esm.sh/zod@3.25.76?target=denonext"
1448
1465
},
1449
1466
"remote": {
1450
1467
"https://esm.sh/@alloc/quick-lru@5.2.0/denonext/quick-lru.mjs": "18d5ab8b0ee2b8c0ba55eab65a86f126f480d5d0ca85eeefa32f9ee2e399f110",
1451
1468
"https://esm.sh/@alloc/quick-lru@5.2.0?target=denonext": "8506b81cc497d3d01a8b06176598c36333efab2f6773b5f681f4bfbeba33079d",
1469
+
"https://esm.sh/@atproto-labs/did-resolver@0.2.0/denonext/did-resolver.mjs": "a88663c45be439196b85c03cd1b6bc904b5b33c2aca0f3bab716f1a8c305d7e6",
1470
+
"https://esm.sh/@atproto-labs/fetch@0.2.3/denonext/fetch.mjs": "eaabcb75b50ef9b62d749e0e6843f11d60204526a0296ff84a99c8d8385862bc",
1471
+
"https://esm.sh/@atproto-labs/handle-resolver@0.3.0/denonext/handle-resolver.mjs": "5ce886fa149d802d864b9988d0be71d18e37e06b7aab5a941a482aaa7b2d9da6",
1472
+
"https://esm.sh/@atproto-labs/identity-resolver@0.3.0/denonext/identity-resolver.mjs": "36cf98e9478813b6e5eb6e33da8771f2dd33a2e8ba587d32803dc0b766cd5cab",
1473
+
"https://esm.sh/@atproto-labs/pipe@0.1.1/denonext/pipe.mjs": "9432ecdd24724682a612fc0f47f019366a1ebf5e3fd2ffa9ef6b5176419ed84f",
1474
+
"https://esm.sh/@atproto-labs/simple-store-memory@0.1.3/denonext/simple-store-memory.mjs": "789ef49fe6b81024631fd4340183c670f3f35b1be8ca773d5c14f7a040dd0b89",
1475
+
"https://esm.sh/@atproto-labs/simple-store@0.2.0/denonext/simple-store.mjs": "1829d20db9d7157cfd85b3968dacf60aaab1fa77742612ae0ea193a616feec21",
1476
+
"https://esm.sh/@atproto/api@0.16.3": "c50f915ec53d1d48b2fbf88c74ae6d41da255e9ac6e7449ca6c8a723a1fa419b",
1477
+
"https://esm.sh/@atproto/api@0.16.3/denonext/api.mjs": "1fd08820fbc9cc67f29c4dfacf1f5b806ac67d1ee3bbdfcbc0bafcf07fda0cf2",
1478
+
"https://esm.sh/@atproto/common-web@0.4.2/denonext/common-web.mjs": "350a01dc9ea0e21c5b85c166d269f53c3348ec3daaf94b97e035d0256366a2ef",
1479
+
"https://esm.sh/@atproto/common-web@0.4.2?target=denonext": "bb0d13657e0fc4565eaf217a456ea6a48c2ca5178ecbb6692eb0d538ef51a4cd",
1480
+
"https://esm.sh/@atproto/did@0.1.5/denonext/did.mjs": "1ae8eff7a842a509499f7efd1a1db842087499e2f03138ac8400f9558f926733",
1481
+
"https://esm.sh/@atproto/jwk-jose@0.1.10/denonext/jwk-jose.mjs": "d4e05a0828e23532f185e301ec2b70c5bc4632691992b21f7d4af43e5ffe784c",
1482
+
"https://esm.sh/@atproto/jwk-webcrypto@0.1.10/denonext/jwk-webcrypto.mjs": "ba106ae637353dcbaa7e8b7e6a0cb888e707261383a9c56eaa4a7fe4d8ad3519",
1483
+
"https://esm.sh/@atproto/jwk@0.5.0/denonext/jwk.mjs": "5791d0fc7369da7993594d23ff00df612d43b33611b293df66476e07a0033b0a",
1484
+
"https://esm.sh/@atproto/lexicon@0.4.13/denonext/lexicon.mjs": "eed494b224e5d28b2d1b1c0e88740b16eeaab1b1739c1d9b3120feb35f238de4",
1485
+
"https://esm.sh/@atproto/lexicon@0.4.13?target=denonext": "df4a5757c00257ca4289db10271075cd3e89d48c9d5664d1e40ad3db933ea3ab",
1486
+
"https://esm.sh/@atproto/oauth-client-browser@0.3.30": "d5df31ac9f9536879c8e1dbc8a5f3b9dc6635321044aaceda6f89028e416bd84",
1487
+
"https://esm.sh/@atproto/oauth-client-browser@0.3.30/denonext/oauth-client-browser.mjs": "cae96820945c788497c365ce0b99decacf17b6b0b08ab3489e71fa2f7a62fdc6",
1488
+
"https://esm.sh/@atproto/oauth-client@0.5.4/denonext/oauth-client.mjs": "75c5656274abcd6fba39aef3d6eb5b1ae53459a01665b17e9699db87278891b0",
1489
+
"https://esm.sh/@atproto/oauth-types@0.4.1/denonext/oauth-types.mjs": "aa73bced2c5dda2b693f2c7eccddf2c26ef8f263553ee3be3ce0bd387ce75de0",
1490
+
"https://esm.sh/@atproto/syntax@0.4.0/denonext/syntax.mjs": "e03d230b4bce87f75b6af7826e654db0ccc1ee1e8a0399522b708bfbb72534f9",
1491
+
"https://esm.sh/@atproto/syntax@0.4.0?target=denonext": "d64c2ed239cf18dde908f4e6e78ad2771d29f879318eec4b567e9737f0b4a0cf",
1492
+
"https://esm.sh/@atproto/xrpc@0.7.2/denonext/xrpc.mjs": "8b6a604c52f49f0e958185275f5553326d93178d468de49b0a6a8081882f8840",
1493
+
"https://esm.sh/@atproto/xrpc@0.7.2?target=denonext": "0d01d68187689e970d63c99364a99659c6846e0eedc7abb9227ba082d0546a70",
1452
1494
"https://esm.sh/@jridgewell/gen-mapping@0.3.13/denonext/gen-mapping.mjs": "297f733cd1f48cde4050055e4379df23b701394106946ec8692f41fd4fbc06a3",
1453
1495
"https://esm.sh/@jridgewell/gen-mapping@0.3.13?target=denonext": "d3eb8a4aee09dd989ae0d8121874e9ef41d7b1c2261a8809250654d040b54e83",
1454
1496
"https://esm.sh/@jridgewell/resolve-uri@3.1.2/denonext/resolve-uri.mjs": "2da147ad4f55ddeff542640347c789ff19db8db4ead77cce27a0c171f5f5c349",
···
1466
1508
"https://esm.sh/@tailwindcss/line-clamp@0.4.4?target=denonext": "1fbc5f55d06b23c8fc79d58f00831983224f1c15b5249de3cd0a2d51fed22572",
1467
1509
"https://esm.sh/autoprefixer@10.4.21": "2bb14916b2e4881a32ee311720679c3e57e2d04f45ac808f4f71ae4e0923801c",
1468
1510
"https://esm.sh/autoprefixer@10.4.21/denonext/autoprefixer.mjs": "0d9874129a69bb35c1392f38f09e6a5a747c0eeb8c2b29e7fc8d4c1868337d92",
1511
+
"https://esm.sh/await-lock@2.2.2/denonext/await-lock.mjs": "6787201229bc4ccae3aabbcee4086ea60b803bb476b37e576ec135e954f3ae5a",
1512
+
"https://esm.sh/await-lock@2.2.2?target=denonext": "62d8dd2ac9a50e115f76d05f309f437a8dbc6e53ff508c70addf07ed40ad0077",
1469
1513
"https://esm.sh/braces@3.0.3/denonext/braces.mjs": "a3909393c947301c3b6348ab2378bd4f96fe001009b9beb44dcf1030dd717f47",
1470
1514
"https://esm.sh/braces@3.0.3?target=denonext": "58c0fed5cc432a2192aad7eeaf6e3988b96830a6c6ec0ad51dfc97578b2e8dee",
1471
1515
"https://esm.sh/browserslist@4.25.3/denonext/browserslist.mjs": "df95a5657a9d8a83aa8e834a82e1747b3d6e8ea1ee8d41676c665e05d803c103",
···
1640
1684
"https://esm.sh/glob-parent@5.1.2?target=denonext": "0e04ba2ebac5a052f7d5671a73c19f72407c2660bd3d5a5be577dd1ffcdfc7dc",
1641
1685
"https://esm.sh/glob-parent@6.0.2/denonext/glob-parent.mjs": "e629258fece4c22cb6d3a108a97c95ea8df4d735e4c79630f2a7da870bbafa23",
1642
1686
"https://esm.sh/glob-parent@6.0.2?target=denonext": "e30aa6b9dc68fbde857f7495eb6f05c7c41b5e5a7453be63a48cfd62269aacdb",
1687
+
"https://esm.sh/graphemer@1.4.0/denonext/graphemer.mjs": "5a2c9e558258abf5f67d95a6814b6a3ef0bb3ea649ed231505f42a2863d1b317",
1688
+
"https://esm.sh/graphemer@1.4.0?target=denonext": "09e56a40cab2fec5dbcce661e11517580d59b8854034d2414e4bb1576cd3254c",
1643
1689
"https://esm.sh/is-extglob@2.1.1/denonext/is-extglob.mjs": "adbceb33b529cc88849ee39364a0eea16088cefb795221d3be31c7d6c2b7a47d",
1644
1690
"https://esm.sh/is-extglob@2.1.1?target=denonext": "cc21d63edf9dcc600d613af9dc30eeac8c8ee324104dab9f978fa567ec8f3ae4",
1645
1691
"https://esm.sh/is-glob@4.0.3/denonext/is-glob.mjs": "4555ca21a3af8a883c44c977fd1ff03be73dd7927dea188443992d01749b845d",
1646
1692
"https://esm.sh/is-glob@4.0.3?target=denonext": "5fef477a765ea5f14bff33ee18156cd8398e8fba5fea6fa636ebe2280349e3ce",
1693
+
"https://esm.sh/iso-datestring-validator@2.2.2/denonext/iso-datestring-validator.mjs": "ed32c001968af2e58843b98d99f95fa09d7e5b056ae4ad2a30ce0d436daa087e",
1694
+
"https://esm.sh/iso-datestring-validator@2.2.2?target=denonext": "de296e64bf5da2fb01f4b909d22a6c1676fcc52a1c6f176aa5307df37eacb217",
1647
1695
"https://esm.sh/jiti@1.21.7/denonext/dist/babel.mjs": "95d8f0b529fdeeb7b12eacfa93d6ad80c4548b2b407022e08608c6789b8e7d9f",
1648
1696
"https://esm.sh/jiti@1.21.7/denonext/jiti.mjs": "75830015c5c1f473ae2014286ed7f9f66b88404641efdfef8c18731463295c7b",
1649
1697
"https://esm.sh/jiti@1.21.7/dist/babel?target=denonext": "238960d30e4169f10b16b90db8b8e0e3695d3d13b589c2cbde7a70d5eb8761b2",
1650
1698
"https://esm.sh/jiti@1.21.7?target=denonext": "8b16749a8a79eafecd65003c0a14082274620e9521e2a0137e5825ee353898e8",
1699
+
"https://esm.sh/jose@5.10.0/denonext/base64url.mjs": "539aace7c49b2261745da4ec543d941618d11a294c4e7799d6face203aebfc45",
1700
+
"https://esm.sh/jose@5.10.0/denonext/decode/protected_header.mjs": "73ce892cbc903722e5628006b329d836d29af384eeb99e18f4e8ad3888d5c241",
1701
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/jwt/produce.mjs": "72409fb814f902126eeca273e6c6855685ab0715f2ef95a5f61b29015862472b",
1702
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/aesgcmkw.mjs": "c0363171d95389f30ed6a8de16fdb3c8f123e1d7cb92f39011393c1038faf044",
1703
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/buffer_utils.mjs": "2b23cfebda877dbfc41c9a69438a158ffb31731d97308baa01621d73ef959f2b",
1704
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/cek.mjs": "85c4e75e70bb1da9960b6825e1bf985eb37881d7d23fa76e2bc2efb8ca071812",
1705
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/check_iv_length.mjs": "38783fdf60c458e435a42e588da9d4097fd2d096d92129673674da037d1defd8",
1706
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/check_key_type.mjs": "9d4b6990a0b8523681db4cef0bde67b957ef6f29f5708ce871225eb6f24d4e63",
1707
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/crypto_key.mjs": "59dc27357c645bbe213439acee0ef9ad481bd9ed751041ebe8801a108431aa00",
1708
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/encrypt_key_management.mjs": "35dd301ef6820956d2f5668d92786764dcbb459fae1136d5d11dae3d839a2e9d",
1709
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/epoch.mjs": "b594e6e3d563fd8b437b924b8738ce883d5d4fc1126dfd0ca230fd5c0fae02e8",
1710
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/invalid_key_input.mjs": "19a65328e952d4031c09c1315abe803ea1fdc9934f0fa4f455379bc3c072921a",
1711
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/is_disjoint.mjs": "85ebfe6f46e0feb55cd79e41626717594b2f1e997d54c9a66a255998b626bc51",
1712
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/is_jwk.mjs": "12240833a4979333cb4f8fad5f065c7cb9fff1d5e4d589a073ec99bdf2fc234d",
1713
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/is_object.mjs": "a477fb6116adc68383ea964f6e9b5542427e7638d192a23e93a683c5797ab387",
1714
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/iv.mjs": "3edfe59dfc97f12b3fff5535f95f0bf690d6dd1bd0140baf7a86d705313f09c2",
1715
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/jwt_claims_set.mjs": "67658e0bde825ea75aeecb740e34cee41b754ed0092b25f6a4e822d9d06f3d92",
1716
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/private_symbols.mjs": "5c8542caf07cd0e88f442c3cf16bf67b74108b8fa10f93f41141840fed183af9",
1717
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/secs.mjs": "aaab2389b4a39d7cdd422908aa1f60fb93b075df47acab0c4f42838ccca23c81",
1718
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/validate_algorithms.mjs": "095384ff18fb772f980bdb504474dfe87a5ec02730d5c510d59ef2d95e5efd06",
1719
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/lib/validate_crit.mjs": "176fa8b63805db36ef0eaa7490eef27c43352eec53ac2843920ab7b353282809",
1720
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/aeskw.mjs": "1ca307484491e42a7cd7be95f9a3a9a6504d433f4920f1a611f3faeb27ab9848",
1721
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/asn1.mjs": "71e4c6e67ed71454ad786e5ba25f1ed0634c527d1ef15f053116927828b9ed5b",
1722
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/base64url.mjs": "32bb04a70098ab611900258e09901161e0022265a4ff09c1f6a585f0d0dfe308",
1723
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/bogus.mjs": "26b5a2bace42941799dcb891f5676678bb2017ab64778e94923fe71a040d1719",
1724
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/check_cek_length.mjs": "b1511d0ecbc2bf90a8b50ebe9baa15eab169dfa3d3ad3a2a556474a69cb2a344",
1725
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/check_key_length.mjs": "3aec7aaa6c36c0b1c984cccfd476b310c3678dd8a5b07331e292c0a005b97798",
1726
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/decrypt.mjs": "f81f1f103e787deee890cf5d97a2c91b59a03e63efaf479c7844b0c20983a454",
1727
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/digest.mjs": "b170cf6543920f6c12d147c6a8914f8e626d686226e50af820fc0effadfa413e",
1728
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/ecdhes.mjs": "5eb732da9266ebdeb62b424dd898523ddbf4c09ca6144e53cca86793e611d65b",
1729
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/encrypt.mjs": "5a8563d9813f837850edf6e814f535e36fc6373673850ec4e75221f0de3ee90e",
1730
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/generate.mjs": "b6e73ada71e897f6f189ef2e2ffa7a4a91fbaf675d6d0aa86d6121d4c68dc07a",
1731
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/get_sign_verify_key.mjs": "8e91861e258c0fdf9988b0460a113158a01294b5541c56292314e6f345caa6a6",
1732
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/is_key_like.mjs": "43e10261870d4a65beb24cb868befc0e9aaff002b9ebf90257ffdaf073c636d7",
1733
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/jwk_to_key.mjs": "46ef0a4df4d689f2065bac957dae4e6572071797675123a08749bf83992abacc",
1734
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/normalize_key.mjs": "0e915ab84055caa0f3e031f9d5a545608e22976d22b03b35485b38611a8c282e",
1735
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/pbes2kw.mjs": "d964c662b1e8cd72e143bf13fe90eb7213ce21fa7b4aadeebba8394e0ec32db8",
1736
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/random.mjs": "1fd349b6114345bbd8d67407dcb83efca1720b9b862a4e1ca232427149a167c0",
1737
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/rsaes.mjs": "12cdf94a5b92eec19456f9df4b8ef2265cad392612345c36aa28065506cb8c51",
1738
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/subtle_dsa.mjs": "04a41e3a9ac0f77c9b34b84be050ff0a27c2d768eadb30a464d57567f857cd46",
1739
+
"https://esm.sh/jose@5.10.0/denonext/dist/browser/runtime/webcrypto.mjs": "a7ca0ccea9e87fa0698d48f5a0832cb28fea137705f4c494ff3f3c83bde57cf1",
1740
+
"https://esm.sh/jose@5.10.0/denonext/errors.mjs": "10bd291dfa016ffa8a5228e18bbc0c147b24c88725061bec323d1c1498bfde3b",
1741
+
"https://esm.sh/jose@5.10.0/denonext/jose.mjs": "745abba7b218a451fb747ab7250eb67bf62c7eaa0d2ed98fc7db4320b3ac2371",
1742
+
"https://esm.sh/jose@5.10.0/denonext/jwe/compact/decrypt.mjs": "868abeef0f4bc4bf499bbb4d64febc9121bf7f9d01132df8e19b7d7d50a0af07",
1743
+
"https://esm.sh/jose@5.10.0/denonext/jwe/compact/encrypt.mjs": "f0063936a5a8f9e4c50a978ad0bb23baf842eb20dc4e4982fa5363045685871e",
1744
+
"https://esm.sh/jose@5.10.0/denonext/jwe/flattened/decrypt.mjs": "49596d5a985ab0a850eb7924f53888253669f059f4687320790cbe04641ddea8",
1745
+
"https://esm.sh/jose@5.10.0/denonext/jwe/flattened/encrypt.mjs": "b70bb208e1cefcd08758fe39af6e9bc46dd475b3182c209c084dd6fd6575819b",
1746
+
"https://esm.sh/jose@5.10.0/denonext/jwe/general/decrypt.mjs": "16d59263b205635a9063a9c6256d92373d1e32ddf632d1ccc06a1a4c0cf769f7",
1747
+
"https://esm.sh/jose@5.10.0/denonext/jwe/general/encrypt.mjs": "6acc66f0eee89603c2bb5089af9cef5f579ab38533c3e0fe49625b479736efaa",
1748
+
"https://esm.sh/jose@5.10.0/denonext/jwk/embedded.mjs": "c13d8092a672bba2ce7fcf6d94804f89ce278842f829a041a1c8eef6019bb489",
1749
+
"https://esm.sh/jose@5.10.0/denonext/jwk/thumbprint.mjs": "428799b05c6ab4455e0d34a2974be42053f3fbcee2af5a7c829dcfc4d457aab7",
1750
+
"https://esm.sh/jose@5.10.0/denonext/jwks/local.mjs": "2f1492c3761af03bae601c48494d43b481740dcb01286461a0589f0978033696",
1751
+
"https://esm.sh/jose@5.10.0/denonext/jwks/remote.mjs": "7c352605a7b5f7048f139452253ad5705db74ed7391e36bbe6be3e947b83fd83",
1752
+
"https://esm.sh/jose@5.10.0/denonext/jws/compact/sign.mjs": "4f345eac0d98cf5074193e251879b67b9c6b5d4aea6648f0e19169776f4ee59f",
1753
+
"https://esm.sh/jose@5.10.0/denonext/jws/compact/verify.mjs": "25d3749082196faefe6ca4b656b2aba0a3c030e21a6b8b06355459dc203549e7",
1754
+
"https://esm.sh/jose@5.10.0/denonext/jws/flattened/sign.mjs": "c00c6af48d50c0d6d50490ec24666bcabb85b4f2cdef1216fd2eb7c1fff2959e",
1755
+
"https://esm.sh/jose@5.10.0/denonext/jws/flattened/verify.mjs": "d5fe93eb720b2ea659be49bbf0cadcea137de0024edd5c630ab058a69691fae7",
1756
+
"https://esm.sh/jose@5.10.0/denonext/jws/general/sign.mjs": "612872a9dda21c24756b95fdfd8555cd5e7a7541e996fdfa95d0f68a3545c4d8",
1757
+
"https://esm.sh/jose@5.10.0/denonext/jws/general/verify.mjs": "fc43cdd11c19eb9e8636b3710d4728a36f82480c19b2e75bfd9a9f4c31f7d029",
1758
+
"https://esm.sh/jose@5.10.0/denonext/jwt/decode.mjs": "40b1699324c4c97c95661ae286fff14c5b18dabe6d96343b04c31456ef73026a",
1759
+
"https://esm.sh/jose@5.10.0/denonext/jwt/decrypt.mjs": "acdf2a910bb295403edc53e7fb5f098e8d8c45c59cd079082745abd9b225f22e",
1760
+
"https://esm.sh/jose@5.10.0/denonext/jwt/encrypt.mjs": "3fe7a9dde4a875028bbd72828c86a1fcf82f168a8eeee69ce1662a6b2a4ea635",
1761
+
"https://esm.sh/jose@5.10.0/denonext/jwt/sign.mjs": "490e0d0f9f16eb648362686ec477694a37065fc5c7a4c64c5b1e6ddb2e281248",
1762
+
"https://esm.sh/jose@5.10.0/denonext/jwt/unsecured.mjs": "f20d4176b9b09f31460d141899d860b0d56d5dae4429f7625b1186ea0807489b",
1763
+
"https://esm.sh/jose@5.10.0/denonext/jwt/verify.mjs": "8baef7b4f3d23422fb51192d1df07326719db00f8fc601b35463fd8515c45a3e",
1764
+
"https://esm.sh/jose@5.10.0/denonext/key/export.mjs": "817e555aa3e0f87a9d4715affd72447f93e3bb0e4c8feafc16095f826759efcd",
1765
+
"https://esm.sh/jose@5.10.0/denonext/key/generate/keypair.mjs": "5722cb2dc742d9e1f9eec179288294a13a7c26b8b273b25a3e28830c7017b687",
1766
+
"https://esm.sh/jose@5.10.0/denonext/key/generate/secret.mjs": "74453b742576819a5f5245f7fc47617b5da766a60afd9751b5b1e14a099c9fff",
1767
+
"https://esm.sh/jose@5.10.0/denonext/key/import.mjs": "e488ba70e5eee01134d352c7ba00e3eb25093252c05a63e9d6e4185b2e6836eb",
1768
+
"https://esm.sh/jose@5.10.0?target=denonext": "43705c1f40e5191081bcac2851ad8265f03c23bf751f9b84260ac2874f8ce209",
1651
1769
"https://esm.sh/lines-and-columns@1.2.4/denonext/lines-and-columns.mjs": "785cd1f5843f3645f9304248e4cf77987a71c6e2e7207d5b5200c9ea8ed67cdc",
1652
1770
"https://esm.sh/lines-and-columns@1.2.4?target=denonext": "24df63eccd321681ded34cf71de26b252de505ac6fe86fff5f5fafb810f86441",
1771
+
"https://esm.sh/lru-cache@10.4.3/denonext/lru-cache.mjs": "ba5ee5ff9067a3a33de530b47c0ce7e81cdff92937e5519258ed422b7e23fbdb",
1772
+
"https://esm.sh/lru-cache@10.4.3?target=denonext": "e0a3f66d0dbb61c67fbec24fb29ba1b18e21dab43178cfba399481560e076382",
1653
1773
"https://esm.sh/merge2@1.4.1/denonext/merge2.mjs": "b7e2fe0b629b75aabc963fd1e6635d6dcf59f5f2df42111df1ced9d3d064fcec",
1654
1774
"https://esm.sh/merge2@1.4.1?target=denonext": "a1286ee0e809c60cde57dcd9357fe3979d10abf74324608c83eb5640088c5053",
1655
1775
"https://esm.sh/micromatch@4.0.8/denonext/micromatch.mjs": "3663f155546be362a116c4a6bcececb00df29ed5870b308809ddb255ade2a78b",
1656
1776
"https://esm.sh/micromatch@4.0.8?target=denonext": "5e66db24ea49ffe179d951391cb92d5173e4911a45a6793d189a83861dae0b2e",
1777
+
"https://esm.sh/multiformats@9.9.0/bases/base64?target=denonext": "9622b652809e84b8cbdc3834d15a306da9a9305552527668b13b1b16a6d686da",
1778
+
"https://esm.sh/multiformats@9.9.0/basics?target=denonext": "97fa53d99c2a3aa56367e5e2a34ab3d1b3dc496e4a4fe490460d2955de707361",
1779
+
"https://esm.sh/multiformats@9.9.0/cid?target=denonext": "be24427188844af21bc0b29187229c4c6e5a681b676db65b8c7fcf5277652b4b",
1780
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base10.mjs": "07ac037675bfbbf0621e7f8fd3cfeb242d1ab0955d7e965f4f3a2daa1c369b85",
1781
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base16.mjs": "7f0c9b5860c52b54170cbc8b058fe46eee1b81f52d0908055d38d2a63ec8b721",
1782
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base2.mjs": "46527ded4d9b868600b2fd8902398a31226655790bd3c5f61ffa0bd8737b0698",
1783
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base256emoji.mjs": "7c16b9576b295024837fe5d192f0b854951ac3a7c0be1be8a3c91d5f62505066",
1784
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base32.mjs": "2c42d149c299e8b8934e51ccb284b01b113d3fe432177a55b7a781d10cfbe5b2",
1785
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base36.mjs": "52dfe773e2d2650ed87c7c353e909a0d710ed83cb01eb553858eae4879a6664d",
1786
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base58.mjs": "d45f93c89f6f8a05c7ddc132c99a2bc866d1de2e8475747b6722f6322482feab",
1787
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base64.mjs": "1365d8ab96a8998be1663e7277eebc58d3207f785c9ab53533966626f153461b",
1788
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/base8.mjs": "9336d2259eb06c31fd0d1e7e5ae36e0826f39b2f73639849a403933348c7526c",
1789
+
"https://esm.sh/multiformats@9.9.0/denonext/bases/identity.mjs": "28acc5f7d4dfe7d5647e1c8d250540a50ba6397ff4f375bc41dc37fc5d5de510",
1790
+
"https://esm.sh/multiformats@9.9.0/denonext/basics.mjs": "edd1f5f7171a026940535586a6682c88f036b972a0158d10db2a5936239182ec",
1791
+
"https://esm.sh/multiformats@9.9.0/denonext/cid.mjs": "1945384d570468b0bb5bd0f394184835038d5778d701b50b6b7eb7273748d288",
1792
+
"https://esm.sh/multiformats@9.9.0/denonext/codecs/json.mjs": "a31ef601f2480daa1ed34393e91f937cef522517ca7d934b86939f8d761fe077",
1793
+
"https://esm.sh/multiformats@9.9.0/denonext/codecs/raw.mjs": "6d6b44e3bea526dd9930d61631709f45e9f10bf2e190dc19168e9b0297fb30dd",
1794
+
"https://esm.sh/multiformats@9.9.0/denonext/esm/src/bases/base.mjs": "f0057681c3f918b72d77de38d89d1f532ae4fc78b86f35db7f617c81e7ac504f",
1795
+
"https://esm.sh/multiformats@9.9.0/denonext/esm/src/bytes.mjs": "d2fa273fd87212f525dcd3863af8a3d2ca1e3ee42aca3eaee5ddd4ad6e43ba04",
1796
+
"https://esm.sh/multiformats@9.9.0/denonext/esm/src/varint.mjs": "5ea3af2ab0109f1e9f4f56fe35883f593f6b047899ada90095a5ed518d635899",
1797
+
"https://esm.sh/multiformats@9.9.0/denonext/hashes/digest.mjs": "fc07873514b182ae0897159ebdcad3dd3ceced04740aa76caf4b2e796ff6ca25",
1798
+
"https://esm.sh/multiformats@9.9.0/denonext/hashes/hasher.mjs": "44bfd064461927c2e8f161db65053d711e59e3df4b55b76bb3f9bf4c316492ad",
1799
+
"https://esm.sh/multiformats@9.9.0/denonext/hashes/identity.mjs": "43eaf0a3160c8344e2f70387d0a124f3f21363d82d3e246a7a7df4053c6199e4",
1800
+
"https://esm.sh/multiformats@9.9.0/denonext/hashes/sha2.mjs": "a0fd2e20d8753f6ca30db815bb7f20a57e2a23dd691384b11d07b5a52dbec74f",
1801
+
"https://esm.sh/multiformats@9.9.0/denonext/multiformats.mjs": "7449f492d80b1dcffcbbfb5599707e5f9c0e5a54694532f330b0f64defe27809",
1657
1802
"https://esm.sh/nanoid@3.3.11/denonext/non-secure.mjs": "1f166118c1c4b4d4b5356ef0050fed87acf28cdb8a76813803fee72188f18b30",
1658
1803
"https://esm.sh/nanoid@3.3.11/non-secure?target=denonext": "ac0c34cc5f9846db51a5d868ce6ee815f831a19b1d57a1b8bae9226fc8d68dec",
1659
1804
"https://esm.sh/node-releases@2.0.19/data/processed/envs.json?module": "62fef61ca0cdd9c90f89cdbf60280aa1ebff036ddb965f4174e69a30e6efb196",
···
1717
1862
"https://esm.sh/postcss@8.5.6?target=denonext": "d74fb26c8e5f2355773381813a2514b103cd99d9262961b6d43148f714f343da",
1718
1863
"https://esm.sh/queue-microtask@1.2.3/denonext/queue-microtask.mjs": "b0e153a240d836527feea7b9ecfa99fa8e5a5ef7e48b43092b7cecd8649a8712",
1719
1864
"https://esm.sh/queue-microtask@1.2.3?target=denonext": "fc6002fc339a8edbab36e4e6df1d245a0c3a5dc507edf4e5fb7e857f8b117aa2",
1865
+
"https://esm.sh/react-dom@19.1.1/client": "e610fc905fb8a0f45ef487496e6084a9c46e6a9b1b1fc9e77ae388d8a9489a9f",
1866
+
"https://esm.sh/react-dom@19.1.1/denonext/cjs/react-dom-server-legacy.browser.production.mjs": "46093e4d958c744635246158bbe9d1448c1168acc16ee248a1cb744c0194cc72",
1867
+
"https://esm.sh/react-dom@19.1.1/denonext/cjs/react-dom-server.browser.production.mjs": "1b65edfd064bcb0377f63e6d3d15176967ead3acd6b3aec869bd194e48522676",
1868
+
"https://esm.sh/react-dom@19.1.1/denonext/client.mjs": "747fb2c2a65ba2fc0e191c6be104de92f26e7b3559425fd2bebc71decf9358c9",
1869
+
"https://esm.sh/react-dom@19.1.1/denonext/react-dom.mjs": "a31239e9832b73257ff344fb3d8292982ee25cbc1da5edab9ba81648c30f4abd",
1870
+
"https://esm.sh/react-dom@19.1.1/denonext/server.mjs": "513c3f84f3402259c315ae6788c2dd9e671e8dc2adfa2f37d51165e156b4932f",
1871
+
"https://esm.sh/react-dom@19.1.1/server": "d8d537b44c19a05a7805396eac77f18c628e1019fb2a61cb1f1a1bce0eeeb939",
1872
+
"https://esm.sh/react@19.1.1": "4583aedf2a721df5ea4aa7308de82b5bcbee12e5ed7910061940f7434982847d",
1873
+
"https://esm.sh/react@19.1.1/denonext/react.mjs": "588ff2562af9e974efdb79cc945049768bf5ee0252543fd8fb6a48472f3db587",
1720
1874
"https://esm.sh/reusify@1.1.0/denonext/reusify.mjs": "3b91b42988a3ec3984cef34b99cd5f67b4a008609c3d4fc5d35e8f2d1aab8cef",
1721
1875
"https://esm.sh/reusify@1.1.0?target=denonext": "aea1fd894bd8993f740cf053799f9639ee649122854c1fe4a5425d5aa2dc5e96",
1722
1876
"https://esm.sh/run-parallel@1.2.0/denonext/run-parallel.mjs": "77808968c9de972bb725e73559c80e64bf9524b7d2f781941115d023fd42e7b3",
1723
1877
"https://esm.sh/run-parallel@1.2.0?target=denonext": "2acc47cfa930a6c5e502877b2e5ee9cd2a2ec81e4fcc579f3c0bdebe32590de6",
1878
+
"https://esm.sh/scheduler@0.26.0/denonext/scheduler.mjs": "b62267951094a7c42b7170c51e31f57198981b08ebfae60be0d076101a4c6f91",
1879
+
"https://esm.sh/scheduler@0.26.0?target=denonext": "102f3b685ea5271452bd93de89ab0d99668aecb08f7706e3b9c6629699dd92e0",
1724
1880
"https://esm.sh/source-map-js@1.2.1/denonext/source-map-js.mjs": "2129223e17c258b391a47907a69c0b86d1c87cbb66eea7e9b25ff555ec0bbc7c",
1725
1881
"https://esm.sh/source-map-js@1.2.1?target=denonext": "33ba5cf2ee7c1fe6b63b36c31e9075e290bc5c574055acbdc48c2f24a21d2f83",
1726
1882
"https://esm.sh/sucrase@3.35.0/denonext/sucrase.mjs": "1d1c05878a5f0656226ee064c90845d01adf23b2bff84521480ffaad6da16d21",
···
1729
1885
"https://esm.sh/tailwindcss@3.4.17/denonext/tailwindcss.mjs": "382a6a4ed82273daead6e2eb6af426822a3fbf7303387ee49db16be7699f8b45",
1730
1886
"https://esm.sh/tailwindcss@4.1.12/denonext/plugin.mjs": "349369852f7afd8ca09ef1682d94766d02e84bc45f927d0f02b374b20be70c9f",
1731
1887
"https://esm.sh/tailwindcss@4.1.12/plugin?target=denonext": "05b784ebe25c01018a0eab3fe1e1dab62bdbceb114e2371e748f967552510c00",
1888
+
"https://esm.sh/tlds@1.259.0/denonext/tlds.mjs": "574135861b248c619a791bd6a1769ee6b5b45d1d7e11f8d052c8e0e43ae6e009",
1889
+
"https://esm.sh/tlds@1.259.0?target=denonext": "9a5c7ee3354f90209f3fee0255a201ec5c9f46d28dc500ac161325c945af7389",
1732
1890
"https://esm.sh/to-regex-range@5.0.1/denonext/to-regex-range.mjs": "3f099b66f908b58dd6ee20afd1fed4616ea02fd0c118dc91ff1ed3e72d795bc7",
1733
1891
"https://esm.sh/to-regex-range@5.0.1?target=denonext": "5d6ed8b93f9fc4009378f84ade74e2681c2264b37e79f978c557037c612086ed",
1734
1892
"https://esm.sh/ts-interface-checker@0.1.13/denonext/ts-interface-checker.mjs": "482a9d9214862af127455b80dbe15559b107bb8283dc4b6ba10da16757b3dfe8",
1735
1893
"https://esm.sh/ts-interface-checker@0.1.13?target=denonext": "b1c4bedafbacf4fc6ca1b02c22601fe4e3dee3d3dc14ca3e8fb6f8656a368e72",
1894
+
"https://esm.sh/uint8arrays@3.0.0/denonext/compare.mjs": "2b8ed67b92836546e504b87733eacd3f0569050ea645920d3f2503e8e335cd01",
1895
+
"https://esm.sh/uint8arrays@3.0.0/denonext/concat.mjs": "ce3cfbcdd3cc6d1d9fa75f13963c7398a377d8a1dbd6302820f2058f42545fc7",
1896
+
"https://esm.sh/uint8arrays@3.0.0/denonext/equals.mjs": "2c9a9504f97abc172b755fb5069cb9b69aac2e177ad4bc2cf9afdd6a4a322694",
1897
+
"https://esm.sh/uint8arrays@3.0.0/denonext/esm/src/util/bases.mjs": "03de06f47b410a6ed09da73d6e58696ca34ac4e51bce4a0bcfac5cf88c23b8da",
1898
+
"https://esm.sh/uint8arrays@3.0.0/denonext/from-string.mjs": "6df06b3ed43db82fa33500d4ab01a97ae4ecef234f76e06c1774b915d913bbe3",
1899
+
"https://esm.sh/uint8arrays@3.0.0/denonext/to-string.mjs": "bafce61afad1706118c9c6bd08d6d2f53dada2c0892b8fe14da8124e5951390c",
1900
+
"https://esm.sh/uint8arrays@3.0.0/denonext/uint8arrays.mjs": "2627bbf05b4b496ffe067a4f090dd91d4aa7bc8c815d36f1e543531fb0d9342f",
1901
+
"https://esm.sh/uint8arrays@3.0.0/denonext/xor.mjs": "cc93f46198dca299adc26ae5344768914923bbc88e78eefd28699d0ec28c8e71",
1736
1902
"https://esm.sh/util-deprecate@1.0.2/denonext/util-deprecate.mjs": "083639894972cb68837eef26346c43bdd01357977149e0a4493f76192a4008b8",
1737
-
"https://esm.sh/util-deprecate@1.0.2?target=denonext": "859f4df8ba771a4c33143185d3db6a7edb824fab1ed4f9a4b96ac0e6bc3ef1a4"
1903
+
"https://esm.sh/util-deprecate@1.0.2?target=denonext": "859f4df8ba771a4c33143185d3db6a7edb824fab1ed4f9a4b96ac0e6bc3ef1a4",
1904
+
"https://esm.sh/zod@3.25.76/denonext/zod.mjs": "9f643d0cc560840b7fa3b6e6fc3a5a41595f12ff8863cac0ccbae3ec98989284",
1905
+
"https://esm.sh/zod@3.25.76?target=denonext": "7d2e5b7450d6f99b9b3b228958bd1291d5a1f8378f82b8cdd2ce83b2f14961c2"
1738
1906
},
1739
1907
"workspace": {
1740
1908
"dependencies": [
+58
-41
main-index.ts
+58
-41
main-index.ts
···
6
6
import { extractDid } from "./utils/identity.ts";
7
7
import { config } from "./config.ts";
8
8
import { compile, devWatch } from "./shared-landing/build.ts";
9
-
let { js, html, css } = await compile("index");
10
-
11
9
// ------------------------------------------
12
10
// AppView Setup
13
11
// ------------------------------------------
···
18
16
};
19
17
export const genericIndexServer = new IndexServer(indexServerConfig);
20
18
setupSystemDb(genericIndexServer.systemDB);
19
+
20
+
let { js, html, css } = await compile({
21
+
target: "index",
22
+
initialData: {
23
+
config: config.indexServer,
24
+
users: (await genericIndexServer.unspeccedGetRegisteredUsers()) ?? [],
25
+
},
26
+
});
21
27
22
28
// add me lol
23
29
genericIndexServer.systemDB.exec(`
···
68
74
// "/xrpc/party.whey.app.bsky.feed.getListFeedPartial",
69
75
// ]);
70
76
const placeholderselfcheckstatus = {
71
-
"#skylite_index:/xrpc/app.bsky.actor.getProfile": "green",
72
-
"#skylite_index:/xrpc/app.bsky.actor.getProfiles": "green",
73
-
"#skylite_index:/xrpc/app.bsky.feed.getActorFeeds": "green",
74
-
"#skylite_index:/xrpc/app.bsky.feed.getFeedGenerator": "green",
75
-
"#skylite_index:/xrpc/app.bsky.feed.getFeedGenerators": "green",
76
-
"#skylite_index:/xrpc/app.bsky.feed.getPosts": "green",
77
-
"#skylite_index:/xrpc/app.bsky.graph.getLists": "black",
78
-
"#skylite_index:/xrpc/app.bsky.graph.getList": "black",
79
-
"#skylite_index:/xrpc/app.bsky.graph.getActorStarterPacks": "black",
80
-
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getActorLikesPartial": "green",
81
-
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getAuthorFeedPartial": "green",
82
-
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getLikesPartial": "orange",
83
-
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getPostThreadPartial": "green",
84
-
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getQuotesPartial": "orange",
85
-
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getRepostedByPartial": "orange",
77
+
"#skylite_index:/xrpc/app.bsky.actor.getProfile": "green",
78
+
"#skylite_index:/xrpc/app.bsky.actor.getProfiles": "green",
79
+
"#skylite_index:/xrpc/app.bsky.feed.getActorFeeds": "green",
80
+
"#skylite_index:/xrpc/app.bsky.feed.getFeedGenerator": "green",
81
+
"#skylite_index:/xrpc/app.bsky.feed.getFeedGenerators": "green",
82
+
"#skylite_index:/xrpc/app.bsky.feed.getPosts": "green",
83
+
"#skylite_index:/xrpc/app.bsky.graph.getLists": "black",
84
+
"#skylite_index:/xrpc/app.bsky.graph.getList": "black",
85
+
"#skylite_index:/xrpc/app.bsky.graph.getActorStarterPacks": "black",
86
+
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getActorLikesPartial": "green",
87
+
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getAuthorFeedPartial": "green",
88
+
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getLikesPartial": "orange",
89
+
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getPostThreadPartial": "green",
90
+
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getQuotesPartial": "orange",
91
+
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getRepostedByPartial":
92
+
"orange",
86
93
"#skylite_index:/xrpc/party.whey.app.bsky.feed.getListFeedPartial": "black",
87
-
88
94
89
-
90
-
91
-
"constellation:/links": "green",
92
-
"constellation:/links/distinct-dids": "green",
93
-
"constellation:/links/count": "green",
94
-
"constellation:/links/count/distinct-dids": "green",
95
-
"constellation:/links/all": "green",
95
+
"constellation:/links": "green",
96
+
"constellation:/links/distinct-dids": "green",
97
+
"constellation:/links/count": "green",
98
+
"constellation:/links/count/distinct-dids": "green",
99
+
"constellation:/links/all": "green",
96
100
};
97
-
98
101
99
102
//console.log("ready to serve");
100
103
Deno.serve(
···
104
107
const pathname = url.pathname;
105
108
const searchParams = searchParamsToJson(url.searchParams);
106
109
107
-
const publicdir = "/public"
110
+
const publicdir = "/public";
108
111
if (pathname.startsWith(publicdir)) {
109
112
const filepath = decodeURIComponent(pathname.slice(publicdir.length));
110
113
try {
···
114
117
return new Response("404 Not Found", { status: 404 });
115
118
}
116
119
}
117
-
118
-
const todopleasespecthis = "/_unspecced"
120
+
121
+
const todopleasespecthis = "/_unspecced";
119
122
if (pathname.startsWith(todopleasespecthis)) {
120
-
const unspeccedroute = decodeURIComponent(pathname.slice(todopleasespecthis.length));
123
+
const unspeccedroute = decodeURIComponent(
124
+
pathname.slice(todopleasespecthis.length)
125
+
);
121
126
if (unspeccedroute === "/config") {
122
127
const safeconfig = {
123
128
inviteOnly: config.indexServer.inviteOnly,
124
129
//port: number,
125
130
did: config.indexServer.did,
126
131
host: config.indexServer.host,
127
-
}
132
+
};
128
133
return new Response(JSON.stringify(safeconfig), {
129
-
headers: withCors({ "content-type": "application/json; charset=utf-8" }),
134
+
headers: withCors({
135
+
"content-type": "application/json; charset=utf-8",
136
+
}),
130
137
});
131
138
}
132
139
if (unspeccedroute === "/users") {
133
-
const res = await genericIndexServer.unspeccedGetRegisteredUsers()
140
+
const res = await genericIndexServer.unspeccedGetRegisteredUsers();
134
141
return new Response(JSON.stringify(res), {
135
-
headers: withCors({ "content-type": "application/json; charset=utf-8" }),
142
+
headers: withCors({
143
+
"content-type": "application/json; charset=utf-8",
144
+
}),
136
145
});
137
146
}
138
147
if (unspeccedroute === "/apitest") {
139
148
return new Response(JSON.stringify(placeholderselfcheckstatus), {
140
-
headers: withCors({ "content-type": "application/json; charset=utf-8" }),
149
+
headers: withCors({
150
+
"content-type": "application/json; charset=utf-8",
151
+
}),
141
152
});
142
153
}
143
154
}
···
169
180
}),
170
181
});
171
182
}
172
-
173
183
174
184
if (pathname === "/.well-known/did.json") {
175
185
return new Response(
···
231
241
}
232
242
);
233
243
234
-
devWatch("index", ({ js: newjs, html: newhtml, css: newcss }) => {
235
-
js = newjs;
236
-
html = newhtml;
237
-
css = newcss;
238
-
});
244
+
devWatch({
245
+
target: "index",
246
+
initialData: {
247
+
config: config.indexServer,
248
+
users: (await genericIndexServer.unspeccedGetRegisteredUsers()) ?? [],
249
+
},
250
+
onBuild: ({ js: newjs, html: newhtml, css: newcss }) => {
251
+
js = newjs;
252
+
html = newhtml;
253
+
css = newcss;
254
+
},
255
+
});
+38
-18
main-view.ts
+38
-18
main-view.ts
···
6
6
import { extractDid } from "./utils/identity.ts";
7
7
import { config } from "./config.ts";
8
8
import { compile, devWatch } from "./shared-landing/build.ts";
9
-
let { js, html, css } = await compile("view");
10
9
11
10
// ------------------------------------------
12
11
// AppView Setup
···
24
23
};
25
24
export const genericViewServer = new ViewServer(viewServerConfig);
26
25
setupSystemDb(genericViewServer.systemDB);
26
+
let { js, html, css } = await compile({
27
+
target: "view",
28
+
initialData: {
29
+
config: config.viewServer,
30
+
users: (await genericViewServer.unspeccedGetRegisteredUsers()) ?? [],
31
+
},
32
+
});
27
33
28
34
// add me lol
29
35
genericViewServer.systemDB.exec(`
···
107
113
"#bsky_appview:/xrpc/app.bsky.video.getJobStatus": "black",
108
114
"#bsky_appview:/xrpc/app.bsky.video.getUploadLimits": "black",
109
115
"#bsky_appview:/xrpc/app.bsky.video.uploadVideo": "black",
110
-
"#bsky_appview:/xrpc/app.bsky.unspecced.getTrendingTopics":"red",
111
-
"#bsky_appview:/xrpc/app.bsky.unspecced.getConfig":"red",
112
-
}
116
+
"#bsky_appview:/xrpc/app.bsky.unspecced.getTrendingTopics": "red",
117
+
"#bsky_appview:/xrpc/app.bsky.unspecced.getConfig": "red",
118
+
};
113
119
114
120
Deno.serve(
115
121
{ port: config.viewServer.port },
···
118
124
const pathname = url.pathname;
119
125
const searchParams = searchParamsToJson(url.searchParams);
120
126
121
-
const publicdir = "/public"
127
+
const publicdir = "/public";
122
128
if (pathname.startsWith(publicdir)) {
123
129
const filepath = decodeURIComponent(pathname.slice(publicdir.length));
124
130
try {
···
129
135
}
130
136
}
131
137
132
-
const todopleasespecthis = "/_unspecced"
138
+
const todopleasespecthis = "/_unspecced";
133
139
if (pathname.startsWith(todopleasespecthis)) {
134
-
const unspeccedroute = decodeURIComponent(pathname.slice(todopleasespecthis.length));
140
+
const unspeccedroute = decodeURIComponent(
141
+
pathname.slice(todopleasespecthis.length)
142
+
);
135
143
if (unspeccedroute === "/config") {
136
144
const safeconfig = {
137
145
inviteOnly: config.viewServer.inviteOnly,
···
139
147
did: config.viewServer.did,
140
148
host: config.viewServer.host,
141
149
indexPriority: config.viewServer.indexPriority,
142
-
}
150
+
};
143
151
return new Response(JSON.stringify(safeconfig), {
144
-
headers: withCors({ "content-type": "application/json; charset=utf-8" }),
152
+
headers: withCors({
153
+
"content-type": "application/json; charset=utf-8",
154
+
}),
145
155
});
146
156
}
147
157
if (unspeccedroute === "/users") {
148
-
const res = await genericViewServer.unspeccedGetRegisteredUsers()
158
+
const res = await genericViewServer.unspeccedGetRegisteredUsers();
149
159
return new Response(JSON.stringify(res), {
150
-
headers: withCors({ "content-type": "application/json; charset=utf-8" }),
160
+
headers: withCors({
161
+
"content-type": "application/json; charset=utf-8",
162
+
}),
151
163
});
152
164
}
153
165
if (unspeccedroute === "/apitest") {
154
166
return new Response(JSON.stringify(placeholderselfcheckstatus), {
155
-
headers: withCors({ "content-type": "application/json; charset=utf-8" }),
167
+
headers: withCors({
168
+
"content-type": "application/json; charset=utf-8",
169
+
}),
156
170
});
157
171
}
158
172
}
···
223
237
}
224
238
);
225
239
226
-
227
-
devWatch("view", ({ js: newjs, html: newhtml, css: newcss }) => {
228
-
js = newjs;
229
-
html = newhtml;
230
-
css = newcss;
231
-
});
240
+
devWatch({
241
+
target: "view",
242
+
initialData: {
243
+
config: config.viewServer,
244
+
users: await genericViewServer.unspeccedGetRegisteredUsers() ?? [],
245
+
},
246
+
onBuild: ({ js: newjs, html: newhtml, css: newcss }) => {
247
+
js = newjs;
248
+
html = newhtml;
249
+
css = newcss;
250
+
},
251
+
});
+22
public/client-metadata.json
+22
public/client-metadata.json
···
1
+
{
2
+
"client_id": "https://local3768forumtest.whey.party/client-metadata.json",
3
+
"client_name": "ForumTest",
4
+
"client_uri": "https://local3768forumtest.whey.party",
5
+
"logo_uri": "https://local3768forumtest.whey.party/logo192.png",
6
+
"tos_uri": "https://local3768forumtest.whey.party/terms-of-service",
7
+
"policy_uri": "https://local3768forumtest.whey.party/privacy-policy",
8
+
"redirect_uris": [
9
+
"https://local3768forumtest.whey.party/callback"
10
+
],
11
+
"scope": "atproto transition:generic",
12
+
"grant_types": [
13
+
"authorization_code",
14
+
"refresh_token"
15
+
],
16
+
"response_types": [
17
+
"code"
18
+
],
19
+
"token_endpoint_auth_method": "none",
20
+
"application_type": "web",
21
+
"dpop_bound_access_tokens": true
22
+
}