+149
-3
bun.lock
+149
-3
bun.lock
···
147
147
"devDependencies": {
148
148
"@atcute/lex-cli": "^2.3.3",
149
149
"@cookware/tsconfig": "workspace:*",
150
+
"@typelex/emitter": "^0.4.0",
150
151
"@types/bun": "catalog:",
152
+
"@typespec/compiler": "^1.6.0",
151
153
},
152
154
},
153
155
"libs/tsconfig": {
···
431
433
432
434
"@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="],
433
435
436
+
"@inquirer/ansi": ["@inquirer/ansi@1.0.2", "", {}, "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ=="],
437
+
438
+
"@inquirer/checkbox": ["@inquirer/checkbox@4.3.2", "", { "dependencies": { "@inquirer/ansi": "^1.0.2", "@inquirer/core": "^10.3.2", "@inquirer/figures": "^1.0.15", "@inquirer/type": "^3.0.10", "yoctocolors-cjs": "^2.1.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA=="],
439
+
440
+
"@inquirer/confirm": ["@inquirer/confirm@5.1.21", "", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/type": "^3.0.10" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ=="],
441
+
442
+
"@inquirer/core": ["@inquirer/core@10.3.2", "", { "dependencies": { "@inquirer/ansi": "^1.0.2", "@inquirer/figures": "^1.0.15", "@inquirer/type": "^3.0.10", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A=="],
443
+
444
+
"@inquirer/editor": ["@inquirer/editor@4.2.23", "", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/external-editor": "^1.0.3", "@inquirer/type": "^3.0.10" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ=="],
445
+
446
+
"@inquirer/expand": ["@inquirer/expand@4.0.23", "", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/type": "^3.0.10", "yoctocolors-cjs": "^2.1.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew=="],
447
+
448
+
"@inquirer/external-editor": ["@inquirer/external-editor@1.0.3", "", { "dependencies": { "chardet": "^2.1.1", "iconv-lite": "^0.7.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA=="],
449
+
450
+
"@inquirer/figures": ["@inquirer/figures@1.0.15", "", {}, "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g=="],
451
+
452
+
"@inquirer/input": ["@inquirer/input@4.3.1", "", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/type": "^3.0.10" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g=="],
453
+
454
+
"@inquirer/number": ["@inquirer/number@3.0.23", "", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/type": "^3.0.10" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg=="],
455
+
456
+
"@inquirer/password": ["@inquirer/password@4.0.23", "", { "dependencies": { "@inquirer/ansi": "^1.0.2", "@inquirer/core": "^10.3.2", "@inquirer/type": "^3.0.10" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA=="],
457
+
458
+
"@inquirer/prompts": ["@inquirer/prompts@7.10.1", "", { "dependencies": { "@inquirer/checkbox": "^4.3.2", "@inquirer/confirm": "^5.1.21", "@inquirer/editor": "^4.2.23", "@inquirer/expand": "^4.0.23", "@inquirer/input": "^4.3.1", "@inquirer/number": "^3.0.23", "@inquirer/password": "^4.0.23", "@inquirer/rawlist": "^4.1.11", "@inquirer/search": "^3.2.2", "@inquirer/select": "^4.4.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg=="],
459
+
460
+
"@inquirer/rawlist": ["@inquirer/rawlist@4.1.11", "", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/type": "^3.0.10", "yoctocolors-cjs": "^2.1.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw=="],
461
+
462
+
"@inquirer/search": ["@inquirer/search@3.2.2", "", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/figures": "^1.0.15", "@inquirer/type": "^3.0.10", "yoctocolors-cjs": "^2.1.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA=="],
463
+
464
+
"@inquirer/select": ["@inquirer/select@4.4.2", "", { "dependencies": { "@inquirer/ansi": "^1.0.2", "@inquirer/core": "^10.3.2", "@inquirer/figures": "^1.0.15", "@inquirer/type": "^3.0.10", "yoctocolors-cjs": "^2.1.3" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w=="],
465
+
466
+
"@inquirer/type": ["@inquirer/type@3.0.10", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA=="],
467
+
434
468
"@ipld/dag-cbor": ["@ipld/dag-cbor@7.0.3", "", { "dependencies": { "cborg": "^1.6.0", "multiformats": "^9.5.4" } }, "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA=="],
435
469
436
470
"@isaacs/balanced-match": ["@isaacs/balanced-match@4.0.1", "", {}, "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="],
437
471
438
472
"@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="],
473
+
474
+
"@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="],
439
475
440
476
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
441
477
···
686
722
"@sentry/node": ["@sentry/node@8.55.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "^1.30.1", "@opentelemetry/core": "^1.30.1", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/instrumentation-amqplib": "^0.46.0", "@opentelemetry/instrumentation-connect": "0.43.0", "@opentelemetry/instrumentation-dataloader": "0.16.0", "@opentelemetry/instrumentation-express": "0.47.0", "@opentelemetry/instrumentation-fastify": "0.44.1", "@opentelemetry/instrumentation-fs": "0.19.0", "@opentelemetry/instrumentation-generic-pool": "0.43.0", "@opentelemetry/instrumentation-graphql": "0.47.0", "@opentelemetry/instrumentation-hapi": "0.45.1", "@opentelemetry/instrumentation-http": "0.57.1", "@opentelemetry/instrumentation-ioredis": "0.47.0", "@opentelemetry/instrumentation-kafkajs": "0.7.0", "@opentelemetry/instrumentation-knex": "0.44.0", "@opentelemetry/instrumentation-koa": "0.47.0", "@opentelemetry/instrumentation-lru-memoizer": "0.44.0", "@opentelemetry/instrumentation-mongodb": "0.51.0", "@opentelemetry/instrumentation-mongoose": "0.46.0", "@opentelemetry/instrumentation-mysql": "0.45.0", "@opentelemetry/instrumentation-mysql2": "0.45.0", "@opentelemetry/instrumentation-nestjs-core": "0.44.0", "@opentelemetry/instrumentation-pg": "0.50.0", "@opentelemetry/instrumentation-redis-4": "0.46.0", "@opentelemetry/instrumentation-tedious": "0.18.0", "@opentelemetry/instrumentation-undici": "0.10.0", "@opentelemetry/resources": "^1.30.1", "@opentelemetry/sdk-trace-base": "^1.30.1", "@opentelemetry/semantic-conventions": "^1.28.0", "@prisma/instrumentation": "5.22.0", "@sentry/core": "8.55.0", "@sentry/opentelemetry": "8.55.0", "import-in-the-middle": "^1.11.2" } }, "sha512-h10LJLDTRAzYgay60Oy7moMookqqSZSviCWkkmHZyaDn+4WURnPp5SKhhfrzPRQcXKrweiOwDSHBgn1tweDssg=="],
687
723
688
724
"@sentry/opentelemetry": ["@sentry/opentelemetry@8.55.0", "", { "dependencies": { "@sentry/core": "8.55.0" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "^1.30.1", "@opentelemetry/core": "^1.30.1", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/sdk-trace-base": "^1.30.1", "@opentelemetry/semantic-conventions": "^1.28.0" } }, "sha512-UvatdmSr3Xf+4PLBzJNLZ2JjG1yAPWGe/VrJlJAqyTJ2gKeTzgXJJw8rp4pbvNZO8NaTGEYhhO+scLUj0UtLAQ=="],
725
+
726
+
"@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="],
689
727
690
728
"@standard-schema/spec": ["@standard-schema/spec@1.0.0", "", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="],
691
729
···
749
787
750
788
"@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.139.0", "", {}, "sha512-9PImF1d1tovTUIpjFVa0W7Fwj/MHif7BaaczgJJfbv3sDt1Gh+oW9W9uCw9M3ndEJynnp5ZD/TTs0RGubH5ssg=="],
751
789
790
+
"@typelex/emitter": ["@typelex/emitter@0.4.0", "", { "dependencies": { "@typespec/compiler": "^1.4.0" } }, "sha512-BaKny+8TA0yX5jZibkAodHHKLJ6l6xVe5ut7KeoUyTD63lSSuB9OXe8tWXrs2DbeR/hialCimHFZQ3xANleMow=="],
791
+
752
792
"@types/bun": ["@types/bun@1.3.3", "", { "dependencies": { "bun-types": "1.3.3" } }, "sha512-ogrKbJ2X5N0kWLLFKeytG0eHDleBYtngtlbu9cyBKFtNL3cnpDZkNdQj8flVf6WTZUX5ulI9AY1oa7ljhSrp+g=="],
753
793
754
794
"@types/connect": ["@types/connect@3.4.36", "", { "dependencies": { "@types/node": "*" } }, "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w=="],
···
795
835
796
836
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.48.0", "", { "dependencies": { "@typescript-eslint/types": "8.48.0", "eslint-visitor-keys": "^4.2.1" } }, "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg=="],
797
837
838
+
"@typespec/compiler": ["@typespec/compiler@1.6.0", "", { "dependencies": { "@babel/code-frame": "~7.27.1", "@inquirer/prompts": "^7.4.0", "ajv": "~8.17.1", "change-case": "~5.4.4", "env-paths": "^3.0.0", "globby": "~15.0.0", "is-unicode-supported": "^2.1.0", "mustache": "~4.2.0", "picocolors": "~1.1.1", "prettier": "~3.6.2", "semver": "^7.7.1", "tar": "^7.5.2", "temporal-polyfill": "^0.3.0", "vscode-languageserver": "~9.0.1", "vscode-languageserver-textdocument": "~1.0.12", "yaml": "~2.8.0", "yargs": "~18.0.0" }, "bin": { "tsp": "cmd/tsp.js", "tsp-server": "cmd/tsp-server.js" } }, "sha512-yxyV+ch8tnqiuU2gClv/mQEESoFwpkjo6177UkYfV0nVA9PzTg4zVVc7+WIMZk04wiLRRT3H1uc11FB1cwLY3g=="],
839
+
798
840
"@vitejs/plugin-react-swc": ["@vitejs/plugin-react-swc@3.11.0", "", { "dependencies": { "@rolldown/pluginutils": "1.0.0-beta.27", "@swc/core": "^1.12.11" }, "peerDependencies": { "vite": "^4 || ^5 || ^6 || ^7" } }, "sha512-YTJCGFdNMHCMfjODYtxRNVAYmTWQ1Lb8PulP/2/f/oEEtglw8oKxKIZmmRkyXrVrHfsKOaVkAc3NT9/dMutO5w=="],
799
841
800
842
"abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="],
···
805
847
806
848
"acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="],
807
849
808
-
"ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
850
+
"ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="],
851
+
852
+
"ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
809
853
810
854
"ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
811
855
···
875
919
876
920
"chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
877
921
922
+
"change-case": ["change-case@5.4.4", "", {}, "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w=="],
923
+
924
+
"chardet": ["chardet@2.1.1", "", {}, "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ=="],
925
+
878
926
"chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="],
927
+
928
+
"chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="],
879
929
880
930
"cjs-module-lexer": ["cjs-module-lexer@1.4.3", "", {}, "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q=="],
881
931
882
932
"class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="],
933
+
934
+
"cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="],
935
+
936
+
"cliui": ["cliui@9.0.1", "", { "dependencies": { "string-width": "^7.2.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w=="],
883
937
884
938
"clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
885
939
···
959
1013
960
1014
"electron-to-chromium": ["electron-to-chromium@1.5.259", "", {}, "sha512-I+oLXgpEJzD6Cwuwt1gYjxsDmu/S/Kd41mmLA3O+/uH2pFRO/DvOjUyGozL8j3KeLV6WyZ7ssPwELMsXCcsJAQ=="],
961
1015
1016
+
"emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="],
1017
+
962
1018
"end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="],
963
1019
964
1020
"entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
1021
+
1022
+
"env-paths": ["env-paths@3.0.0", "", {}, "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A=="],
965
1023
966
1024
"es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
967
1025
···
1023
1081
1024
1082
"fast-safe-stringify": ["fast-safe-stringify@2.1.1", "", {}, "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="],
1025
1083
1084
+
"fast-uri": ["fast-uri@3.1.0", "", {}, "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA=="],
1085
+
1026
1086
"fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="],
1027
1087
1028
1088
"fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
···
1055
1115
1056
1116
"gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
1057
1117
1118
+
"get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
1119
+
1120
+
"get-east-asian-width": ["get-east-asian-width@1.4.0", "", {}, "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q=="],
1121
+
1058
1122
"get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
1059
1123
1060
1124
"get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="],
···
1069
1133
1070
1134
"globals": ["globals@15.15.0", "", {}, "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg=="],
1071
1135
1136
+
"globby": ["globby@15.0.0", "", { "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "fast-glob": "^3.3.3", "ignore": "^7.0.5", "path-type": "^6.0.0", "slash": "^5.1.0", "unicorn-magic": "^0.3.0" } }, "sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw=="],
1137
+
1072
1138
"goober": ["goober@2.1.18", "", { "peerDependencies": { "csstype": "^3.0.10" } }, "sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw=="],
1073
1139
1074
1140
"gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
···
1084
1150
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
1085
1151
1086
1152
"help-me": ["help-me@5.0.0", "", {}, "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg=="],
1153
+
1154
+
"iconv-lite": ["iconv-lite@0.7.0", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="],
1087
1155
1088
1156
"ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
1089
1157
···
1102
1170
"is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="],
1103
1171
1104
1172
"is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
1173
+
1174
+
"is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
1105
1175
1106
1176
"is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
1107
1177
1108
1178
"is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
1109
1179
1180
+
"is-unicode-supported": ["is-unicode-supported@2.1.0", "", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="],
1181
+
1110
1182
"isbot": ["isbot@5.1.32", "", {}, "sha512-VNfjM73zz2IBZmdShMfAUg10prm6t7HFUQmNAEOAVS4YH92ZrZcvkMcGX6cIgBJAzWDzPent/EeAtYEHNPNPBQ=="],
1111
1183
1112
1184
"isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
···
1129
1201
1130
1202
"json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="],
1131
1203
1132
-
"json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
1204
+
"json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
1133
1205
1134
1206
"json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
1135
1207
···
1175
1247
1176
1248
"minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
1177
1249
1250
+
"minizlib": ["minizlib@3.1.0", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="],
1251
+
1178
1252
"module-details-from-path": ["module-details-from-path@1.0.4", "", {}, "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w=="],
1179
1253
1180
1254
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
1181
1255
1182
1256
"multiformats": ["multiformats@9.9.0", "", {}, "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg=="],
1257
+
1258
+
"mustache": ["mustache@4.2.0", "", { "bin": { "mustache": "bin/mustache" } }, "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ=="],
1259
+
1260
+
"mute-stream": ["mute-stream@2.0.0", "", {}, "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA=="],
1183
1261
1184
1262
"mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="],
1185
1263
···
1230
1308
"path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
1231
1309
1232
1310
"path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="],
1311
+
1312
+
"path-type": ["path-type@6.0.0", "", {}, "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ=="],
1233
1313
1234
1314
"pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
1235
1315
···
1373
1453
1374
1454
"recast": ["recast@0.23.11", "", { "dependencies": { "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", "tiny-invariant": "^1.3.3", "tslib": "^2.0.1" } }, "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA=="],
1375
1455
1456
+
"require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="],
1457
+
1376
1458
"require-in-the-middle": ["require-in-the-middle@7.5.2", "", { "dependencies": { "debug": "^4.3.5", "module-details-from-path": "^1.0.3", "resolve": "^1.22.8" } }, "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ=="],
1377
1459
1378
1460
"resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
···
1393
1475
1394
1476
"safe-stable-stringify": ["safe-stable-stringify@2.5.0", "", {}, "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA=="],
1395
1477
1478
+
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
1479
+
1396
1480
"sax": ["sax@1.4.3", "", {}, "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ=="],
1397
1481
1398
1482
"scheduler": ["scheduler@0.25.0", "", {}, "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA=="],
···
1411
1495
1412
1496
"shimmer": ["shimmer@1.2.1", "", {}, "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="],
1413
1497
1498
+
"signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
1499
+
1500
+
"slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="],
1501
+
1414
1502
"solid-js": ["solid-js@1.9.10", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.3.0", "seroval-plugins": "~1.3.0" } }, "sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew=="],
1415
1503
1416
1504
"sonic-boom": ["sonic-boom@4.2.0", "", { "dependencies": { "atomic-sleep": "^1.0.0" } }, "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww=="],
···
1423
1511
1424
1512
"split2": ["split2@4.2.0", "", {}, "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg=="],
1425
1513
1514
+
"string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
1515
+
1426
1516
"string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
1427
1517
1518
+
"strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="],
1519
+
1428
1520
"strip-json-comments": ["strip-json-comments@5.0.3", "", {}, "sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw=="],
1429
1521
1430
1522
"stylehacks": ["stylehacks@7.0.7", "", { "dependencies": { "browserslist": "^4.27.0", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-bJkD0JkEtbRrMFtwgpJyBbFIwfDDONQ1Ov3sDLZQP8HuJ73kBOyx66H4bOcAbVWmnfLdvQ0AJwXxOMkpujcO6g=="],
···
1442
1534
"tailwindcss": ["tailwindcss@3.4.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ=="],
1443
1535
1444
1536
"tailwindcss-animate": ["tailwindcss-animate@1.0.7", "", { "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders" } }, "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA=="],
1537
+
1538
+
"tar": ["tar@7.5.2", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg=="],
1539
+
1540
+
"temporal-polyfill": ["temporal-polyfill@0.3.0", "", { "dependencies": { "temporal-spec": "0.3.0" } }, "sha512-qNsTkX9K8hi+FHDfHmf22e/OGuXmfBm9RqNismxBrnSmZVJKegQ+HYYXT+R7Ha8F/YSm2Y34vmzD4cxMu2u95g=="],
1541
+
1542
+
"temporal-spec": ["temporal-spec@0.3.0", "", {}, "sha512-n+noVpIqz4hYgFSMOSiINNOUOMFtV5cZQNCmmszA6GiVFVRt3G7AqVyhXjhCSmowvQn+NsGn+jMDMKJYHd3bSQ=="],
1445
1543
1446
1544
"thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="],
1447
1545
···
1493
1591
1494
1592
"undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
1495
1593
1594
+
"unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="],
1595
+
1496
1596
"unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
1497
1597
1498
1598
"update-browserslist-db": ["update-browserslist-db@1.1.4", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A=="],
···
1508
1608
"util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
1509
1609
1510
1610
"vite": ["vite@6.4.1", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g=="],
1611
+
1612
+
"vscode-jsonrpc": ["vscode-jsonrpc@8.2.0", "", {}, "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA=="],
1613
+
1614
+
"vscode-languageserver": ["vscode-languageserver@9.0.1", "", { "dependencies": { "vscode-languageserver-protocol": "3.17.5" }, "bin": { "installServerIntoExtension": "bin/installServerIntoExtension" } }, "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g=="],
1615
+
1616
+
"vscode-languageserver-protocol": ["vscode-languageserver-protocol@3.17.5", "", { "dependencies": { "vscode-jsonrpc": "8.2.0", "vscode-languageserver-types": "3.17.5" } }, "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg=="],
1617
+
1618
+
"vscode-languageserver-textdocument": ["vscode-languageserver-textdocument@1.0.12", "", {}, "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA=="],
1619
+
1620
+
"vscode-languageserver-types": ["vscode-languageserver-types@3.17.5", "", {}, "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="],
1511
1621
1512
1622
"web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="],
1513
1623
···
1517
1627
1518
1628
"word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="],
1519
1629
1630
+
"wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="],
1631
+
1520
1632
"wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
1521
1633
1522
1634
"ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="],
1523
1635
1524
1636
"xtend": ["xtend@4.0.2", "", {}, "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="],
1525
1637
1526
-
"yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
1638
+
"y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
1639
+
1640
+
"yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="],
1641
+
1642
+
"yaml": ["yaml@2.8.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="],
1643
+
1644
+
"yargs": ["yargs@18.0.0", "", { "dependencies": { "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "string-width": "^7.2.0", "y18n": "^5.0.5", "yargs-parser": "^22.0.0" } }, "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg=="],
1645
+
1646
+
"yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="],
1527
1647
1528
1648
"yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="],
1649
+
1650
+
"yoctocolors-cjs": ["yoctocolors-cjs@2.1.3", "", {}, "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw=="],
1529
1651
1530
1652
"zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
1531
1653
···
1575
1697
1576
1698
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
1577
1699
1700
+
"@eslint/eslintrc/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
1701
+
1578
1702
"@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="],
1579
1703
1580
1704
"@eslint/eslintrc/strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="],
1705
+
1706
+
"@inquirer/core/wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="],
1581
1707
1582
1708
"@opentelemetry/core/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="],
1583
1709
···
1659
1785
1660
1786
"csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="],
1661
1787
1788
+
"eslint/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
1789
+
1662
1790
"fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
1663
1791
1664
1792
"glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="],
1793
+
1794
+
"globby/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="],
1665
1795
1666
1796
"micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
1667
1797
···
1696
1826
"tsx/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
1697
1827
1698
1828
"vite/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
1829
+
1830
+
"wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
1699
1831
1700
1832
"@atproto/common/pino/pino-abstract-transport": ["pino-abstract-transport@1.2.0", "", { "dependencies": { "readable-stream": "^4.0.0", "split2": "^4.0.0" } }, "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q=="],
1701
1833
···
1707
1839
1708
1840
"@atproto/common/pino/thread-stream": ["thread-stream@2.7.0", "", { "dependencies": { "real-require": "^0.2.0" } }, "sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw=="],
1709
1841
1842
+
"@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
1843
+
1710
1844
"@cookware/database/@libsql/client/@libsql/core": ["@libsql/core@0.15.15", "", { "dependencies": { "js-base64": "^3.7.5" } }, "sha512-C88Z6UKl+OyuKKPwz224riz02ih/zHYI3Ho/LAcVOgjsunIRZoBw7fjRfaH9oPMmSNeQfhGklSG2il1URoOIsA=="],
1711
1845
1712
1846
"@cookware/database/@libsql/client/libsql": ["libsql@0.5.22", "", { "dependencies": { "@neon-rs/load": "^0.0.4", "detect-libc": "2.0.2" }, "optionalDependencies": { "@libsql/darwin-arm64": "0.5.22", "@libsql/darwin-x64": "0.5.22", "@libsql/linux-arm-gnueabihf": "0.5.22", "@libsql/linux-arm-musleabihf": "0.5.22", "@libsql/linux-arm64-gnu": "0.5.22", "@libsql/linux-arm64-musl": "0.5.22", "@libsql/linux-x64-gnu": "0.5.22", "@libsql/linux-x64-musl": "0.5.22", "@libsql/win32-x64-msvc": "0.5.22" }, "os": [ "linux", "win32", "darwin", ], "cpu": [ "arm", "x64", "arm64", ] }, "sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA=="],
···
1755
1889
1756
1890
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="],
1757
1891
1892
+
"@eslint/eslintrc/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
1893
+
1894
+
"@inquirer/core/wrap-ansi/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
1895
+
1896
+
"@inquirer/core/wrap-ansi/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
1897
+
1758
1898
"@opentelemetry/instrumentation-http/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.57.1", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-I4PHczeujhQAQv6ZBzqHYEUiggZL4IdSMixtVD3EYqbdrjujE7kRfI5QohjlPoJm8BvenoW5YaTMWRrbpot6tg=="],
1759
1899
1760
1900
"@prisma/instrumentation/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.53.0", "", { "dependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw=="],
···
1786
1926
"@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="],
1787
1927
1788
1928
"csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="],
1929
+
1930
+
"eslint/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
1789
1931
1790
1932
"tsx/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="],
1791
1933
···
1892
2034
"@cookware/database/@libsql/client/libsql/@libsql/linux-x64-musl": ["@libsql/linux-x64-musl@0.5.22", "", { "os": "linux", "cpu": "x64" }, "sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg=="],
1893
2035
1894
2036
"@cookware/database/@libsql/client/libsql/@libsql/win32-x64-msvc": ["@libsql/win32-x64-msvc@0.5.22", "", { "os": "win32", "cpu": "x64" }, "sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA=="],
2037
+
2038
+
"@inquirer/core/wrap-ansi/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
2039
+
2040
+
"@inquirer/core/wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
1895
2041
1896
2042
"@tanstack/react-router-devtools/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="],
1897
2043
-43
lexicons/blue/recipes/feed/defs.json
-43
lexicons/blue/recipes/feed/defs.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "blue.recipes.feed.defs",
4
-
"defs": {
5
-
"ingredient": {
6
-
"type": "object",
7
-
"properties": {
8
-
"name": {
9
-
"type": "string",
10
-
"maxLength": 3000,
11
-
"maxGraphemes": 300,
12
-
"description": "The name of the ingredient."
13
-
},
14
-
"amount": {
15
-
"type": "string",
16
-
"description": "How much of the ingredient is needed."
17
-
}
18
-
}
19
-
},
20
-
"step": {
21
-
"type": "object",
22
-
"required": ["text"],
23
-
"properties": {
24
-
"text": {
25
-
"type": "string",
26
-
"maxLength": 5000,
27
-
"maxGraphemes": 300,
28
-
"description": "The instruction to provide to the user."
29
-
}
30
-
}
31
-
},
32
-
"authorInfo": {
33
-
"type": "object",
34
-
"required": ["did", "handle"],
35
-
"properties": {
36
-
"did": { "type": "string" },
37
-
"handle": { "type": "string" },
38
-
"displayName": { "type": "string" },
39
-
"avatarUrl": { "type": "string" }
40
-
}
41
-
}
42
-
}
43
-
}
-62
lexicons/blue/recipes/feed/getRecipe.json
-62
lexicons/blue/recipes/feed/getRecipe.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "blue.recipes.feed.getRecipe",
4
-
"defs": {
5
-
"main": {
6
-
"type": "query",
7
-
"description": "Gets a recipe from the index by author DID and rkey.",
8
-
"parameters": {
9
-
"type": "params",
10
-
"required": ["did", "rkey"],
11
-
"properties": {
12
-
"did": {
13
-
"type": "string",
14
-
"format": "at-identifier"
15
-
},
16
-
"rkey": {
17
-
"type": "string"
18
-
}
19
-
}
20
-
},
21
-
"output": {
22
-
"encoding": "application/json",
23
-
"schema": {
24
-
"type": "object",
25
-
"required": ["recipe"],
26
-
"properties": {
27
-
"recipe": {
28
-
"type": "ref",
29
-
"ref": "#result"
30
-
}
31
-
}
32
-
}
33
-
}
34
-
},
35
-
"result": {
36
-
"type": "object",
37
-
"required": ["author", "title", "ingredients", "steps"],
38
-
"properties": {
39
-
"author": { "type": "ref", "ref": "blue.recipes.feed.defs#authorInfo" },
40
-
"title": { "type": "string" },
41
-
"description": { "type": "string" },
42
-
"time": { "type": "integer" },
43
-
"serves": { "type": "integer" },
44
-
"imageUrl": { "type": "string" },
45
-
"ingredients": {
46
-
"type": "array",
47
-
"items": {
48
-
"type": "ref",
49
-
"ref": "blue.recipes.feed.defs#ingredient"
50
-
}
51
-
},
52
-
"steps": {
53
-
"type": "array",
54
-
"items": {
55
-
"type": "ref",
56
-
"ref": "blue.recipes.feed.defs#step"
57
-
}
58
-
}
59
-
}
60
-
}
61
-
}
62
-
}
-59
lexicons/blue/recipes/feed/getRecipes.json
-59
lexicons/blue/recipes/feed/getRecipes.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "blue.recipes.feed.getRecipes",
4
-
"defs": {
5
-
"main": {
6
-
"type": "query",
7
-
"description": "Gets recipes from the index.",
8
-
"parameters": {
9
-
"type": "params",
10
-
"required": ["cursor"],
11
-
"properties": {
12
-
"cursor": {
13
-
"type": "string"
14
-
},
15
-
"did": {
16
-
"type": "string",
17
-
"format": "at-identifier"
18
-
}
19
-
}
20
-
},
21
-
"output": {
22
-
"encoding": "application/json",
23
-
"schema": {
24
-
"type": "object",
25
-
"required": ["recipes"],
26
-
"properties": {
27
-
"author": {
28
-
"type": "ref",
29
-
"ref": "blue.recipes.feed.defs#authorInfo"
30
-
},
31
-
"recipes": {
32
-
"type": "array",
33
-
"items": {
34
-
"type": "ref",
35
-
"ref": "#result"
36
-
}
37
-
}
38
-
}
39
-
}
40
-
}
41
-
},
42
-
"result": {
43
-
"type": "object",
44
-
"required": [ "rkey", "author", "title", "time", "ingredients", "steps"],
45
-
"properties": {
46
-
"rkey": { "type": "string" },
47
-
"author": { "type": "ref", "ref": "blue.recipes.feed.defs#authorInfo" },
48
-
"type": { "type": "string" },
49
-
"imageUrl": { "type": "string" },
50
-
"title": { "type": "string" },
51
-
"time": { "type": "integer" },
52
-
"serves": { "type": "integer" },
53
-
"description": { "type": "string" },
54
-
"ingredients": { "type": "integer" },
55
-
"steps": { "type": "integer" }
56
-
}
57
-
}
58
-
}
59
-
}
-57
lexicons/blue/recipes/feed/recipes.json
-57
lexicons/blue/recipes/feed/recipes.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "blue.recipes.feed.recipe",
4
-
"defs": {
5
-
"main": {
6
-
"type": "record",
7
-
"description": "Record containing a Cookware recipe.",
8
-
"key": "tid",
9
-
"record": {
10
-
"type": "object",
11
-
"required": ["title", "ingredients", "steps"],
12
-
"properties": {
13
-
"title": {
14
-
"type": "string",
15
-
"maxLength": 3000,
16
-
"maxGraphemes": 300,
17
-
"description": "The title of the recipe."
18
-
},
19
-
"description": {
20
-
"type": "string",
21
-
"maxLength": 3000,
22
-
"maxGraphemes": 300,
23
-
"description": "The description of the recipe."
24
-
},
25
-
"image": {
26
-
"type": "blob",
27
-
"description": "The recipe's cover image.",
28
-
"accept": ["image/*"],
29
-
"maxSize": 1000000
30
-
},
31
-
"time": {
32
-
"type": "integer",
33
-
"description": "The amount of time (in minutes) the recipe takes to complete."
34
-
},
35
-
"serves": {
36
-
"type": "integer",
37
-
"description": "The amount of people the recipe will make servings for."
38
-
},
39
-
"ingredients": {
40
-
"type": "array",
41
-
"items": {
42
-
"type": "ref",
43
-
"ref": "blue.recipes.feed.defs#ingredient"
44
-
}
45
-
},
46
-
"steps": {
47
-
"type": "array",
48
-
"items": {
49
-
"type": "ref",
50
-
"ref": "blue.recipes.feed.defs#step"
51
-
}
52
-
}
53
-
}
54
-
}
55
-
}
56
-
}
57
-
}
+1
libs/lexicons/.gitignore
+1
libs/lexicons/.gitignore
···
1
+
tsp-output
+1
-1
libs/lexicons/lex.config.ts
+1
-1
libs/lexicons/lex.config.ts
+18
libs/lexicons/lexicons/feed/defs.tsp
+18
libs/lexicons/lexicons/feed/defs.tsp
···
1
+
import "@typelex/emitter";
2
+
import "../profiles";
3
+
4
+
namespace blue.recipes.feed.defs {
5
+
/** Response model for fetching multiple recipes. */
6
+
model RecipeView {
7
+
@required uri: atUri;
8
+
@required cid: cid;
9
+
@required author: blue.recipes.actor.defs.ProfileViewBasic;
10
+
@required record: blue.recipes.feed.recipe.Main;
11
+
@required indexedAt: datetime;
12
+
}
13
+
14
+
model NotFoundRecipe {
15
+
@required uri: atUri;
16
+
@readOnly @required notFound: boolean = true;
17
+
}
18
+
}
+16
libs/lexicons/lexicons/feed/getRecipe.tsp
+16
libs/lexicons/lexicons/feed/getRecipe.tsp
···
1
+
import "@typelex/emitter";
2
+
import "./defs.tsp";
3
+
4
+
namespace blue.recipes.feed.getRecipe {
5
+
/** Response model for fetching multiple recipes. */
6
+
@query
7
+
@errors(NotFound, InvalidUri)
8
+
op main(
9
+
@required uris: atUri,
10
+
): {
11
+
@required recipes: blue.recipes.feed.defs.RecipeView[];
12
+
};
13
+
14
+
@error model NotFound {}
15
+
@error model InvalidUri {}
16
+
}
+14
libs/lexicons/lexicons/feed/getRecipes.tsp
+14
libs/lexicons/lexicons/feed/getRecipes.tsp
···
1
+
import "@typelex/emitter";
2
+
3
+
namespace blue.recipes.feed.getRecipes {
4
+
/** Response model for fetching multiple recipes. */
5
+
@query
6
+
op main(
7
+
@required author: atIdentifier,
8
+
@minValue(1) @maxValue(100) limit?: integer = 50,
9
+
cursor?: string,
10
+
): {
11
+
@required recipes: blue.recipes.feed.recipe.Main[];
12
+
@required nextCursor: string;
13
+
};
14
+
}
+4
libs/lexicons/lexicons/feed/main.tsp
+4
libs/lexicons/lexicons/feed/main.tsp
+48
libs/lexicons/lexicons/feed/recipe.tsp
+48
libs/lexicons/lexicons/feed/recipe.tsp
···
1
+
import "@typelex/emitter";
2
+
3
+
namespace blue.recipes.feed.recipe {
4
+
/** Record containing a recipe. */
5
+
@rec("tid")
6
+
model Main {
7
+
@maxGraphemes(300)
8
+
@maxLength(3000)
9
+
@required title: string;
10
+
11
+
/** Free-form recipe description text. */
12
+
@maxGraphemes(300)
13
+
@maxLength(3000)
14
+
description?: string;
15
+
16
+
/** Image representing the recipe. */
17
+
image?: Blob<#["image/png", "image/jpeg"], 1000000>; // 1mb image
18
+
19
+
/** The amount of time (in minutes) it takes to complete the recipe. */
20
+
time?: integer;
21
+
22
+
/** The number of servings the recipe prepares. */
23
+
serves?: integer;
24
+
25
+
@required steps: Step[];
26
+
@required ingredients: Ingredient[];
27
+
28
+
@format("datetime")
29
+
createdAt?: string;
30
+
}
31
+
32
+
model Ingredient {
33
+
/** The name of the ingredient. */
34
+
@maxLength(3000)
35
+
@maxGraphemes(300)
36
+
@required name: string;
37
+
38
+
/** The amount of the ingredient needed. */
39
+
amount?: string;
40
+
}
41
+
42
+
model Step {
43
+
/** The instruction to provide to the user. */
44
+
@maxLength(5000)
45
+
@maxGraphemes(500)
46
+
@required text: string;
47
+
}
48
+
}
+20
libs/lexicons/lexicons/profiles/defs.tsp
+20
libs/lexicons/lexicons/profiles/defs.tsp
···
1
+
import "@typelex/emitter";
2
+
3
+
namespace blue.recipes.actor.defs {
4
+
model ProfileViewBasic {
5
+
@required did: did;
6
+
@required handle: handle;
7
+
8
+
@maxGraphemes(64)
9
+
@maxLength(640)
10
+
displayName?: string;
11
+
12
+
pronouns?: string;
13
+
14
+
/** Small image to be displayed on the profile. */
15
+
avatar?: Blob<#["image/png", "image/jpeg"], 1000000>; // 1mb image
16
+
17
+
@format("datetime")
18
+
createdAt?: string;
19
+
}
20
+
}
+2
libs/lexicons/lexicons/profiles/main.tsp
+2
libs/lexicons/lexicons/profiles/main.tsp
+32
libs/lexicons/lexicons/profiles/profile.tsp
+32
libs/lexicons/lexicons/profiles/profile.tsp
···
1
+
import "@typelex/emitter";
2
+
3
+
namespace blue.recipes.actor.profile {
4
+
@rec("literal:self")
5
+
model Main {
6
+
@maxGraphemes(64)
7
+
@maxLength(640)
8
+
@required displayName: string;
9
+
10
+
/** Free-form profile description text. */
11
+
@maxGraphemes(256)
12
+
@maxLength(2500)
13
+
description?: string;
14
+
15
+
/** Free-form text to describe pronouns. */
16
+
@maxGraphemes(20)
17
+
@maxLength(200)
18
+
pronouns?: string;
19
+
20
+
@format("url")
21
+
website?: string;
22
+
23
+
/** Small image to be displayed on the profile. */
24
+
avatar?: Blob<#["image/png", "image/jpeg"], 1000000>; // 1mb image
25
+
26
+
/** Larger header image to be displayed on the profile. */
27
+
banner?: Blob<#["image/png", "image/jpeg"], 1000000>; // 1mb image
28
+
29
+
@format("datetime")
30
+
createdAt?: string;
31
+
}
32
+
}
+2
libs/lexicons/lib/index.ts
+2
libs/lexicons/lib/index.ts
···
1
+
export * as BlueRecipesActorDefs from "./types/blue/recipes/actor/defs.js";
2
+
export * as BlueRecipesActorProfile from "./types/blue/recipes/actor/profile.js";
1
3
export * as BlueRecipesFeedDefs from "./types/blue/recipes/feed/defs.js";
2
4
export * as BlueRecipesFeedGetRecipe from "./types/blue/recipes/feed/getRecipe.js";
3
5
export * as BlueRecipesFeedGetRecipes from "./types/blue/recipes/feed/getRecipes.js";
+38
libs/lexicons/lib/types/blue/recipes/actor/defs.ts
+38
libs/lexicons/lib/types/blue/recipes/actor/defs.ts
···
1
+
import type {} from "@atcute/lexicons";
2
+
import * as v from "@atcute/lexicons/validations";
3
+
4
+
const _profileViewBasicSchema = /*#__PURE__*/ v.object({
5
+
$type: /*#__PURE__*/ v.optional(
6
+
/*#__PURE__*/ v.literal("blue.recipes.actor.defs#profileViewBasic"),
7
+
),
8
+
/**
9
+
* Small image to be displayed on the profile.
10
+
* @accept image/png, image/jpeg
11
+
* @maxSize 1000000
12
+
*/
13
+
avatar: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()),
14
+
createdAt: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
15
+
did: /*#__PURE__*/ v.didString(),
16
+
/**
17
+
* @maxLength 640
18
+
* @maxGraphemes 64
19
+
*/
20
+
displayName: /*#__PURE__*/ v.optional(
21
+
/*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
22
+
/*#__PURE__*/ v.stringLength(0, 640),
23
+
/*#__PURE__*/ v.stringGraphemes(0, 64),
24
+
]),
25
+
),
26
+
handle: /*#__PURE__*/ v.handleString(),
27
+
pronouns: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
28
+
});
29
+
30
+
type profileViewBasic$schematype = typeof _profileViewBasicSchema;
31
+
32
+
export interface profileViewBasicSchema extends profileViewBasic$schematype {}
33
+
34
+
export const profileViewBasicSchema =
35
+
_profileViewBasicSchema as profileViewBasicSchema;
36
+
37
+
export interface ProfileViewBasic
38
+
extends v.InferInput<typeof profileViewBasicSchema> {}
+68
libs/lexicons/lib/types/blue/recipes/actor/profile.ts
+68
libs/lexicons/lib/types/blue/recipes/actor/profile.ts
···
1
+
import type {} from "@atcute/lexicons";
2
+
import * as v from "@atcute/lexicons/validations";
3
+
import type {} from "@atcute/lexicons/ambient";
4
+
5
+
const _mainSchema = /*#__PURE__*/ v.record(
6
+
/*#__PURE__*/ v.literal("self"),
7
+
/*#__PURE__*/ v.object({
8
+
$type: /*#__PURE__*/ v.literal("blue.recipes.actor.profile"),
9
+
/**
10
+
* Small image to be displayed on the profile.
11
+
* @accept image/png, image/jpeg
12
+
* @maxSize 1000000
13
+
*/
14
+
avatar: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()),
15
+
/**
16
+
* Larger header image to be displayed on the profile.
17
+
* @accept image/png, image/jpeg
18
+
* @maxSize 1000000
19
+
*/
20
+
banner: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()),
21
+
createdAt: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
22
+
/**
23
+
* Free-form profile description text.
24
+
* @maxLength 2500
25
+
* @maxGraphemes 256
26
+
*/
27
+
description: /*#__PURE__*/ v.optional(
28
+
/*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
29
+
/*#__PURE__*/ v.stringLength(0, 2500),
30
+
/*#__PURE__*/ v.stringGraphemes(0, 256),
31
+
]),
32
+
),
33
+
/**
34
+
* @maxLength 640
35
+
* @maxGraphemes 64
36
+
*/
37
+
displayName: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
38
+
/*#__PURE__*/ v.stringLength(0, 640),
39
+
/*#__PURE__*/ v.stringGraphemes(0, 64),
40
+
]),
41
+
/**
42
+
* Free-form text to describe pronouns.
43
+
* @maxLength 200
44
+
* @maxGraphemes 20
45
+
*/
46
+
pronouns: /*#__PURE__*/ v.optional(
47
+
/*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
48
+
/*#__PURE__*/ v.stringLength(0, 200),
49
+
/*#__PURE__*/ v.stringGraphemes(0, 20),
50
+
]),
51
+
),
52
+
website: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
53
+
}),
54
+
);
55
+
56
+
type main$schematype = typeof _mainSchema;
57
+
58
+
export interface mainSchema extends main$schematype {}
59
+
60
+
export const mainSchema = _mainSchema as mainSchema;
61
+
62
+
export interface Main extends v.InferInput<typeof mainSchema> {}
63
+
64
+
declare module "@atcute/lexicons/ambient" {
65
+
interface Records {
66
+
"blue.recipes.actor.profile": mainSchema;
67
+
}
68
+
}
+27
-49
libs/lexicons/lib/types/blue/recipes/feed/defs.ts
+27
-49
libs/lexicons/lib/types/blue/recipes/feed/defs.ts
···
1
1
import type {} from "@atcute/lexicons";
2
2
import * as v from "@atcute/lexicons/validations";
3
+
import * as BlueRecipesActorDefs from "../actor/defs.js";
4
+
import * as BlueRecipesFeedRecipe from "./recipe.js";
3
5
4
-
const _authorInfoSchema = /*#__PURE__*/ v.object({
6
+
const _notFoundRecipeSchema = /*#__PURE__*/ v.object({
5
7
$type: /*#__PURE__*/ v.optional(
6
-
/*#__PURE__*/ v.literal("blue.recipes.feed.defs#authorInfo"),
7
-
),
8
-
avatarUrl: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
9
-
did: /*#__PURE__*/ v.string(),
10
-
displayName: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
11
-
handle: /*#__PURE__*/ v.string(),
12
-
});
13
-
const _ingredientSchema = /*#__PURE__*/ v.object({
14
-
$type: /*#__PURE__*/ v.optional(
15
-
/*#__PURE__*/ v.literal("blue.recipes.feed.defs#ingredient"),
16
-
),
17
-
/**
18
-
* How much of the ingredient is needed.
19
-
*/
20
-
amount: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
21
-
/**
22
-
* The name of the ingredient.
23
-
* @maxLength 3000
24
-
* @maxGraphemes 300
25
-
*/
26
-
name: /*#__PURE__*/ v.optional(
27
-
/*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
28
-
/*#__PURE__*/ v.stringLength(0, 3000),
29
-
/*#__PURE__*/ v.stringGraphemes(0, 300),
30
-
]),
8
+
/*#__PURE__*/ v.literal("blue.recipes.feed.defs#notFoundRecipe"),
31
9
),
10
+
notFound: /*#__PURE__*/ v.literal(true),
11
+
uri: /*#__PURE__*/ v.resourceUriString(),
32
12
});
33
-
const _stepSchema = /*#__PURE__*/ v.object({
13
+
const _recipeViewSchema = /*#__PURE__*/ v.object({
34
14
$type: /*#__PURE__*/ v.optional(
35
-
/*#__PURE__*/ v.literal("blue.recipes.feed.defs#step"),
15
+
/*#__PURE__*/ v.literal("blue.recipes.feed.defs#recipeView"),
36
16
),
37
-
/**
38
-
* The instruction to provide to the user.
39
-
* @maxLength 5000
40
-
* @maxGraphemes 300
41
-
*/
42
-
text: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
43
-
/*#__PURE__*/ v.stringLength(0, 5000),
44
-
/*#__PURE__*/ v.stringGraphemes(0, 300),
45
-
]),
17
+
get author() {
18
+
return BlueRecipesActorDefs.profileViewBasicSchema;
19
+
},
20
+
cid: /*#__PURE__*/ v.cidString(),
21
+
indexedAt: /*#__PURE__*/ v.datetimeString(),
22
+
get record() {
23
+
return BlueRecipesFeedRecipe.mainSchema;
24
+
},
25
+
uri: /*#__PURE__*/ v.resourceUriString(),
46
26
});
47
27
48
-
type authorInfo$schematype = typeof _authorInfoSchema;
49
-
type ingredient$schematype = typeof _ingredientSchema;
50
-
type step$schematype = typeof _stepSchema;
28
+
type notFoundRecipe$schematype = typeof _notFoundRecipeSchema;
29
+
type recipeView$schematype = typeof _recipeViewSchema;
51
30
52
-
export interface authorInfoSchema extends authorInfo$schematype {}
53
-
export interface ingredientSchema extends ingredient$schematype {}
54
-
export interface stepSchema extends step$schematype {}
31
+
export interface notFoundRecipeSchema extends notFoundRecipe$schematype {}
32
+
export interface recipeViewSchema extends recipeView$schematype {}
55
33
56
-
export const authorInfoSchema = _authorInfoSchema as authorInfoSchema;
57
-
export const ingredientSchema = _ingredientSchema as ingredientSchema;
58
-
export const stepSchema = _stepSchema as stepSchema;
34
+
export const notFoundRecipeSchema =
35
+
_notFoundRecipeSchema as notFoundRecipeSchema;
36
+
export const recipeViewSchema = _recipeViewSchema as recipeViewSchema;
59
37
60
-
export interface AuthorInfo extends v.InferInput<typeof authorInfoSchema> {}
61
-
export interface Ingredient extends v.InferInput<typeof ingredientSchema> {}
62
-
export interface Step extends v.InferInput<typeof stepSchema> {}
38
+
export interface NotFoundRecipe
39
+
extends v.InferInput<typeof notFoundRecipeSchema> {}
40
+
export interface RecipeView extends v.InferInput<typeof recipeViewSchema> {}
+3
-28
libs/lexicons/lib/types/blue/recipes/feed/getRecipe.ts
+3
-28
libs/lexicons/lib/types/blue/recipes/feed/getRecipe.ts
···
5
5
6
6
const _mainSchema = /*#__PURE__*/ v.query("blue.recipes.feed.getRecipe", {
7
7
params: /*#__PURE__*/ v.object({
8
-
did: /*#__PURE__*/ v.actorIdentifierString(),
9
-
rkey: /*#__PURE__*/ v.string(),
8
+
uris: /*#__PURE__*/ v.resourceUriString(),
10
9
}),
11
10
output: {
12
11
type: "lex",
13
12
schema: /*#__PURE__*/ v.object({
14
-
get recipe() {
15
-
return resultSchema;
13
+
get recipes() {
14
+
return /*#__PURE__*/ v.array(BlueRecipesFeedDefs.recipeViewSchema);
16
15
},
17
16
}),
18
17
},
19
18
});
20
-
const _resultSchema = /*#__PURE__*/ v.object({
21
-
$type: /*#__PURE__*/ v.optional(
22
-
/*#__PURE__*/ v.literal("blue.recipes.feed.getRecipe#result"),
23
-
),
24
-
get author() {
25
-
return BlueRecipesFeedDefs.authorInfoSchema;
26
-
},
27
-
description: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
28
-
imageUrl: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
29
-
get ingredients() {
30
-
return /*#__PURE__*/ v.array(BlueRecipesFeedDefs.ingredientSchema);
31
-
},
32
-
serves: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.integer()),
33
-
get steps() {
34
-
return /*#__PURE__*/ v.array(BlueRecipesFeedDefs.stepSchema);
35
-
},
36
-
time: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.integer()),
37
-
title: /*#__PURE__*/ v.string(),
38
-
});
39
19
40
20
type main$schematype = typeof _mainSchema;
41
-
type result$schematype = typeof _resultSchema;
42
21
43
22
export interface mainSchema extends main$schematype {}
44
-
export interface resultSchema extends result$schematype {}
45
23
46
24
export const mainSchema = _mainSchema as mainSchema;
47
-
export const resultSchema = _resultSchema as resultSchema;
48
-
49
-
export interface Result extends v.InferInput<typeof resultSchema> {}
50
25
51
26
export interface $params extends v.InferInput<mainSchema["params"]> {}
52
27
export interface $output extends v.InferXRPCBodyInput<mainSchema["output"]> {}
+16
-29
libs/lexicons/lib/types/blue/recipes/feed/getRecipes.ts
+16
-29
libs/lexicons/lib/types/blue/recipes/feed/getRecipes.ts
···
1
1
import type {} from "@atcute/lexicons";
2
2
import * as v from "@atcute/lexicons/validations";
3
3
import type {} from "@atcute/lexicons/ambient";
4
-
import * as BlueRecipesFeedDefs from "./defs.js";
4
+
import * as BlueRecipesFeedRecipe from "./recipe.js";
5
5
6
6
const _mainSchema = /*#__PURE__*/ v.query("blue.recipes.feed.getRecipes", {
7
7
params: /*#__PURE__*/ v.object({
8
-
cursor: /*#__PURE__*/ v.string(),
9
-
did: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.actorIdentifierString()),
8
+
author: /*#__PURE__*/ v.actorIdentifierString(),
9
+
cursor: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
10
+
/**
11
+
* @minimum 1
12
+
* @maximum 100
13
+
* @default 50
14
+
*/
15
+
limit: /*#__PURE__*/ v.optional(
16
+
/*#__PURE__*/ v.constrain(/*#__PURE__*/ v.integer(), [
17
+
/*#__PURE__*/ v.integerRange(1, 100),
18
+
]),
19
+
50,
20
+
),
10
21
}),
11
22
output: {
12
23
type: "lex",
13
24
schema: /*#__PURE__*/ v.object({
14
-
get author() {
15
-
return /*#__PURE__*/ v.optional(BlueRecipesFeedDefs.authorInfoSchema);
16
-
},
25
+
nextCursor: /*#__PURE__*/ v.string(),
17
26
get recipes() {
18
-
return /*#__PURE__*/ v.array(resultSchema);
27
+
return /*#__PURE__*/ v.array(BlueRecipesFeedRecipe.mainSchema);
19
28
},
20
29
}),
21
30
},
22
31
});
23
-
const _resultSchema = /*#__PURE__*/ v.object({
24
-
$type: /*#__PURE__*/ v.optional(
25
-
/*#__PURE__*/ v.literal("blue.recipes.feed.getRecipes#result"),
26
-
),
27
-
get author() {
28
-
return BlueRecipesFeedDefs.authorInfoSchema;
29
-
},
30
-
description: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
31
-
imageUrl: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
32
-
ingredients: /*#__PURE__*/ v.integer(),
33
-
rkey: /*#__PURE__*/ v.string(),
34
-
serves: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.integer()),
35
-
steps: /*#__PURE__*/ v.integer(),
36
-
time: /*#__PURE__*/ v.integer(),
37
-
title: /*#__PURE__*/ v.string(),
38
-
type: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
39
-
});
40
32
41
33
type main$schematype = typeof _mainSchema;
42
-
type result$schematype = typeof _resultSchema;
43
34
44
35
export interface mainSchema extends main$schematype {}
45
-
export interface resultSchema extends result$schematype {}
46
36
47
37
export const mainSchema = _mainSchema as mainSchema;
48
-
export const resultSchema = _resultSchema as resultSchema;
49
-
50
-
export interface Result extends v.InferInput<typeof resultSchema> {}
51
38
52
39
export interface $params extends v.InferInput<mainSchema["params"]> {}
53
40
export interface $output extends v.InferXRPCBodyInput<mainSchema["output"]> {}
+48
-9
libs/lexicons/lib/types/blue/recipes/feed/recipe.ts
+48
-9
libs/lexicons/lib/types/blue/recipes/feed/recipe.ts
···
1
1
import type {} from "@atcute/lexicons";
2
2
import * as v from "@atcute/lexicons/validations";
3
3
import type {} from "@atcute/lexicons/ambient";
4
-
import * as BlueRecipesFeedDefs from "./defs.js";
5
4
5
+
const _ingredientSchema = /*#__PURE__*/ v.object({
6
+
$type: /*#__PURE__*/ v.optional(
7
+
/*#__PURE__*/ v.literal("blue.recipes.feed.recipe#ingredient"),
8
+
),
9
+
/**
10
+
* The amount of the ingredient needed.
11
+
*/
12
+
amount: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
13
+
/**
14
+
* The name of the ingredient.
15
+
* @maxLength 3000
16
+
* @maxGraphemes 300
17
+
*/
18
+
name: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
19
+
/*#__PURE__*/ v.stringLength(0, 3000),
20
+
/*#__PURE__*/ v.stringGraphemes(0, 300),
21
+
]),
22
+
});
6
23
const _mainSchema = /*#__PURE__*/ v.record(
7
24
/*#__PURE__*/ v.tidString(),
8
25
/*#__PURE__*/ v.object({
9
26
$type: /*#__PURE__*/ v.literal("blue.recipes.feed.recipe"),
27
+
createdAt: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.string()),
10
28
/**
11
-
* The description of the recipe.
29
+
* Free-form recipe description text.
12
30
* @maxLength 3000
13
31
* @maxGraphemes 300
14
32
*/
···
19
37
]),
20
38
),
21
39
/**
22
-
* The recipe's cover image.
23
-
* @accept image/*
40
+
* Image representing the recipe.
41
+
* @accept image/png, image/jpeg
24
42
* @maxSize 1000000
25
43
*/
26
44
image: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.blob()),
27
45
get ingredients() {
28
-
return /*#__PURE__*/ v.array(BlueRecipesFeedDefs.ingredientSchema);
46
+
return /*#__PURE__*/ v.array(ingredientSchema);
29
47
},
30
48
/**
31
-
* The amount of people the recipe will make servings for.
49
+
* The number of servings the recipe prepares.
32
50
*/
33
51
serves: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.integer()),
34
52
get steps() {
35
-
return /*#__PURE__*/ v.array(BlueRecipesFeedDefs.stepSchema);
53
+
return /*#__PURE__*/ v.array(stepSchema);
36
54
},
37
55
/**
38
-
* The amount of time (in minutes) the recipe takes to complete.
56
+
* The amount of time (in minutes) it takes to complete the recipe.
39
57
*/
40
58
time: /*#__PURE__*/ v.optional(/*#__PURE__*/ v.integer()),
41
59
/**
42
-
* The title of the recipe.
43
60
* @maxLength 3000
44
61
* @maxGraphemes 300
45
62
*/
···
49
66
]),
50
67
}),
51
68
);
69
+
const _stepSchema = /*#__PURE__*/ v.object({
70
+
$type: /*#__PURE__*/ v.optional(
71
+
/*#__PURE__*/ v.literal("blue.recipes.feed.recipe#step"),
72
+
),
73
+
/**
74
+
* The instruction to provide to the user.
75
+
* @maxLength 5000
76
+
* @maxGraphemes 500
77
+
*/
78
+
text: /*#__PURE__*/ v.constrain(/*#__PURE__*/ v.string(), [
79
+
/*#__PURE__*/ v.stringLength(0, 5000),
80
+
/*#__PURE__*/ v.stringGraphemes(0, 500),
81
+
]),
82
+
});
52
83
84
+
type ingredient$schematype = typeof _ingredientSchema;
53
85
type main$schematype = typeof _mainSchema;
86
+
type step$schematype = typeof _stepSchema;
54
87
88
+
export interface ingredientSchema extends ingredient$schematype {}
55
89
export interface mainSchema extends main$schematype {}
90
+
export interface stepSchema extends step$schematype {}
56
91
92
+
export const ingredientSchema = _ingredientSchema as ingredientSchema;
57
93
export const mainSchema = _mainSchema as mainSchema;
94
+
export const stepSchema = _stepSchema as stepSchema;
58
95
96
+
export interface Ingredient extends v.InferInput<typeof ingredientSchema> {}
59
97
export interface Main extends v.InferInput<typeof mainSchema> {}
98
+
export interface Step extends v.InferInput<typeof stepSchema> {}
60
99
61
100
declare module "@atcute/lexicons/ambient" {
62
101
interface Records {
+5
-2
libs/lexicons/package.json
+5
-2
libs/lexicons/package.json
···
22
22
"scripts": {
23
23
"dev": "tsc --watch --project tsconfig.build.json",
24
24
"build": "tsc --project tsconfig.build.json",
25
-
"lexgen": "lex-cli generate --config ./lex.config.ts",
25
+
"lexcomp": "rm -rf tsp-output && tsp compile ./lexicons --emit @typelex/emitter",
26
+
"lexgen": "bun run -b lexcomp && rm -rf lib/types && lex-cli generate --config ./lex.config.ts",
26
27
"prepublish": "rm -rf dist; bun run build"
27
28
},
28
29
"dependencies": {
···
34
35
"devDependencies": {
35
36
"@atcute/lex-cli": "^2.3.3",
36
37
"@cookware/tsconfig": "workspace:*",
37
-
"@types/bun": "catalog:"
38
+
"@typelex/emitter": "^0.4.0",
39
+
"@types/bun": "catalog:",
40
+
"@typespec/compiler": "^1.6.0"
38
41
},
39
42
"atcute:lexicons": {
40
43
"mappings": {