The recipes.blue monorepo recipes.blue
recipes appview atproto

feat: lexicon overhaul

hayden.moe 1e3596f6 9c599660

verified
+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
··· 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
··· 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
··· 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
··· 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 + tsp-output
+1 -1
libs/lexicons/lex.config.ts
··· 1 1 import { defineLexiconConfig } from '@atcute/lex-cli'; 2 2 3 3 export default defineLexiconConfig({ 4 - files: ['../../lexicons/**/*.json'], 4 + files: ['./tsp-output/@typelex/emitter/**/*.json'], 5 5 outdir: './lib', 6 6 imports: ['@atcute/atproto'], 7 7 });
+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
··· 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
··· 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
··· 1 + import "./defs.tsp"; 2 + import "./getRecipe.tsp"; 3 + import "./getRecipes.tsp"; 4 + import "./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 + }
+2
libs/lexicons/lexicons/main.tsp
··· 1 + import "./profiles"; 2 + import "./feed";
+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
··· 1 + import "./profile.tsp"; 2 + import "./defs.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
··· 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
··· 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
··· 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
··· 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
··· 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
··· 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
··· 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
··· 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": {