{
  "name": "ai.ravenmcp/raven-mcp",
  "slug": "offline-mcp-d27121984319dc8d6d7f8083",
  "type": "mcp",
  "category": "developer-tools",
  "example": false,
  "evidence_state": "offline_listing",
  "stamp": "Offline listing — machine-checked",
  "summary": "Acquired raven-mcp@2.6.0; tarball sha256 bb78ef65f4198817ec3106f8c973bcc6e329e41d8f187ed2b26111929f826db0.",
  "outcome": "The server started offline in an isolated container (runtime/inspect.json).",
  "rule_results": [
    "It answered tools/list with 111 tools named [\"get_principles\", \"get_pattern\", \"get_business_strategy\", \"evaluate_design\", \"search_knowledge\", \"get_checklist\", \"get_d4d_framework\", \"list_design_systems\", \"get_design_system\", \"read_design_md\", \"review_diff\", \"polish_diff\", \"init_design_md\", \"update_design_md\", \"start_grab_session\", \"get_grabbed_elements\", \"capture_reference\", \"search_references\", \"forget_references\", \"map_reference_to_tokens\", \"stop_grab_session\", \"get_page_template\", \"set_template_slot\", \"list_templates\", \"get_grab_layers\", \"move_grab_layer\", \"get_grab_operation\", \"compose_system\", \"audit_page\", \"score_page\", \"audit_asset_integrity\", \"audit_device_frame\", \"audit_contract\", \"audit_api_contract\", \"audit_parity\", \"audit_ios_a11y\", \"audit_responsive_visibility\", \"audit_contrast\", \"suggest_contrast_fix\", \"audit_url\", \"audit_content\", \"audit_typography\", \"audit_tap_targets\", \"get_brand_system\", \"generate_design_system\", \"audit_layout\", \"audit_swiftui\", \"audit_screen\", \"audit_ios_screen\", \"audit_ios_privacy\", \"audit_rn\", \"list_content_systems\", \"get_content_system\", \"get_content_principles\", \"get_content_pattern\", \"get_research_method\", \"get_metrics_framework\", \"get_service_pattern\", \"get_service_standard\", \"generate_service_blueprint\", \"get_brand_principles\", \"get_brand_trends\", \"list_creative_models\", \"list_creative_presets\", \"create_brand_profile\", \"get_brand_profile\", \"list_brand_profiles\", \"register_creative_asset\", \"create_character_profile\", \"create_generation_job\", \"get_generation_job\", \"list_generation_jobs\", \"plan_creative_campaign\", \"score_creative\", \"audit_consistency\", \"raven_reflect\", \"raven_register\", \"audit_video_playback\", \"decision_add\", \"decision_evidence\", \"decision_draft\", \"decision_commit\", \"decision_supersede\", \"decision_contest\", \"decision_scope\", \"decision_history\", \"decision_get\", \"decision_list\", \"gap_scan\", \"decision_import\", \"ingest_transcript\", \"ingest_transcript_results\", \"create_taste_profile\", \"get_taste_profile\", \"get_taste_interview\", \"bind_taste_surface\", \"record_taste_decision\", \"list_taste_decisions\", \"generate_taste_portrait\", \"generate_mood_board\", \"list_taste_profiles\", \"label_finding\", \"audit_taste\", \"talon_scan\", \"talon_rules\", \"design_gauntlet\", \"configure_design_system_source\", \"inventory_design_system\", \"diff_design_system\", \"list_design_system_components\", \"audit\"]."
  ],
  "task": "Does this exact package start offline and answer an MCP tools list?",
  "setup": "Acquisition lock records install_scripts_ignored=true; runtime command in argv.json.",
  "limitations": "Runtime isolation evidence: runtime/inspect.json. Scope: initialize and tools/list (mcp/report.json). Network-attempt tracing and credential tests are outside this scope. Later versions require a new run.",
  "source_url": "https://www.npmjs.com/package/raven-mcp",
  "documentation_url": "https://www.npmjs.com/package/raven-mcp",
  "tree_sha256": "ad473ff62b8afb0b12dcb80377da64d5d33bab0922fcef4b64f91c1475f2aa40",
  "image_digest": "sha256:4bcb8f4521585b85429c4ed03e2829b53dbb34d2841ee884e7017ee52412e68c",
  "file_sha256": {
    ".docker/buildx/.buildNodeID": "8d7be9f42b2ccdb0fbdfb917bc9efe19c5c88901d87521a80f42f508fed273c8",
    ".docker/buildx/.lock": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    ".docker/buildx/activity/default": "76a0856db30c368d7f5ba5bbc1b5a6627533bea9888022f5b3e0e8eb618ac4f1",
    ".docker/buildx/refs/default/default/gs7t4kvmaneq901tozx4nngap": "3b5036666fa2ac2cec751410326f47c5f5cfbbc9677c7e68d2989d46b8716313",
    ".dockerignore": "99a18f8ea8514c4bcd448371d1bc1b8b4d877d6606e7c5b3d2a9dd52b32aa8d0",
    "Containerfile": "d849cf10a7e9b70fecc5fcdc6333dd493aed8767d236893e675cfa4662520c54",
    "image.id": "809967879eed5e7c93848a9509f791cea4340b87536f26e990a264c3307741ec",
    "installed/node_modules/.package-lock.json": "c20fb14e3a8a848b211480653aee6ec7bd552365b5a3bb76502068df3149ef29",
    "installed/node_modules/@hono/node-server/LICENSE": "6895190430d809c4c57a7582ecc2f99acbc2ea39a5dfad20262a41d5b3e91733",
    "installed/node_modules/@hono/node-server/README.md": "51467628619e0779607007808d86f89c2abaa9e6813d178ad26e3b2a91aaef2b",
    "installed/node_modules/@hono/node-server/dist/conninfo.cjs": "9b5088b89f4729e7bd4c841b5a35f59ddd5bc9666762a3c6d41a3c9d6a143cd6",
    "installed/node_modules/@hono/node-server/dist/conninfo.d.cts": "e156ecd958ee4a1be3e97e523e262255b14fe7fd346cf5cfb0cb0a5c1d9f261f",
    "installed/node_modules/@hono/node-server/dist/conninfo.d.mts": "e156ecd958ee4a1be3e97e523e262255b14fe7fd346cf5cfb0cb0a5c1d9f261f",
    "installed/node_modules/@hono/node-server/dist/conninfo.mjs": "842ac1a99e65b837aefefd407951a632a97c3b5a50e1f22882e7b93976fb286d",
    "installed/node_modules/@hono/node-server/dist/constants-BLSFu_RU.mjs": "34b08b4910a07fb86fa6a03c21c7c56f1bd45cdf412496c5cf84074f63b32977",
    "installed/node_modules/@hono/node-server/dist/constants-BXAKTxRC.cjs": "1c4c147f7fc140bfc476fe86445af7e6df6bc41e1564a02ade581bd2c738f4f0",
    "installed/node_modules/@hono/node-server/dist/early-hints.cjs": "ee1afd85b0d0d0cd27be3973a61500ec440b4ec2a592a8b7443338e4aefb49d0",
    "installed/node_modules/@hono/node-server/dist/early-hints.d.cts": "21dea23df2253b3bb2a49a5125560eb74b49c283a8768a4d623a45f59743033b",
    "installed/node_modules/@hono/node-server/dist/early-hints.d.mts": "21dea23df2253b3bb2a49a5125560eb74b49c283a8768a4d623a45f59743033b",
    "installed/node_modules/@hono/node-server/dist/early-hints.mjs": "c317c2e08ce197407a19dd9cb91e41e9cac74d647148e45c4052a15e1fd5ac7a",
    "installed/node_modules/@hono/node-server/dist/index.cjs": "ea92ef9148b4ccd695db8c20fcde27ad69f6f422f84dba0704c9d4f1e6ef016f",
    "installed/node_modules/@hono/node-server/dist/index.d.cts": "2627b747984791606301549860fac3c1d0e4d6856c4cfaecf5773039e0cd2d51",
    "installed/node_modules/@hono/node-server/dist/index.d.mts": "34b7ca9e007d7f740b33dc65da10ddbe25829dd7a82ca1935c7b47e50b744843",
    "installed/node_modules/@hono/node-server/dist/index.mjs": "6fa5ab4d3cb10b5c1aad67b226b3d7b34dfe8367d3d45694d9ac03483a8add19",
    "installed/node_modules/@hono/node-server/dist/serve-static.cjs": "ef68af740050e44971e8823d409b6e798319920b2d8130975972bf020a1610ac",
    "installed/node_modules/@hono/node-server/dist/serve-static.d.cts": "832bb2b1769485c8db7a3a3e1e7c3cb4fd7c6d11da15eb773927f1f4b4b1bc39",
    "installed/node_modules/@hono/node-server/dist/serve-static.d.mts": "832bb2b1769485c8db7a3a3e1e7c3cb4fd7c6d11da15eb773927f1f4b4b1bc39",
    "installed/node_modules/@hono/node-server/dist/serve-static.mjs": "b1a3cfa4d814c1e2963faca8b36777d3e03f86ef0aeb73a080cbcb633f9e39d8",
    "installed/node_modules/@hono/node-server/dist/utils/response.cjs": "698a161eb18062211e566006bc00d8d1a0a08c85fd1563850d5e7cd928c2557f",
    "installed/node_modules/@hono/node-server/dist/utils/response.d.cts": "8541f49e23c7b14760d4b98c18907ffc3a5695214f57ea997fe6d1ebe558f281",
    "installed/node_modules/@hono/node-server/dist/utils/response.d.mts": "8541f49e23c7b14760d4b98c18907ffc3a5695214f57ea997fe6d1ebe558f281",
    "installed/node_modules/@hono/node-server/dist/utils/response.mjs": "bbf2e14f55e5c0225ec0829a19c183206a1f9c5605ff9dc941a09ebe11310b33",
    "installed/node_modules/@hono/node-server/dist/utils/stream.cjs": "27b3e3a32ce29ee584b6b942cf88b27b7a2d0e275ed4269d6273df06e1e67f58",
    "installed/node_modules/@hono/node-server/dist/utils/stream.d.cts": "35b8258fa66ae4779d8393866c42923bbc985f9091e5605cbb5a5306686701e1",
    "installed/node_modules/@hono/node-server/dist/utils/stream.d.mts": "35b8258fa66ae4779d8393866c42923bbc985f9091e5605cbb5a5306686701e1",
    "installed/node_modules/@hono/node-server/dist/utils/stream.mjs": "d7a223bc0ac51a20e6cf1efad157c9a435f7a0841a1c8e22360781ae3579bab8",
    "installed/node_modules/@hono/node-server/package.json": "28b7c255c6c7ae6b994ceae9326211b6c6877c4746adb85b780b759ce1ceba41",
    "installed/node_modules/@modelcontextprotocol/sdk/LICENSE": "5e13dbbc1d120fc2a03cecde7c91424ae2d7de11b63d58ded2f4431e261ee50d",
    "installed/node_modules/@modelcontextprotocol/sdk/README.md": "835cfac37c651e618d14b24d7d963bd2e9d0700ddd14b669eca85803d6f34437",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts": "5d16a2feb0ac6bf9d86aa262d603c084348344c3ce9e53d7a1af127a8c6bffca",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts.map": "aa266a9fef336ee433fe9a4015f9a0230b8d8f2ddc8956d08fecc18582008358",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js": "da900f472e50efaf72965078cd17152ff6e3790bc471e746c15344e064fc5eb8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js.map": "51d4aebce79bd78638ff4a0f82a3e96ee3b16cc207908eb8513aed6a98285577",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts": "5574f728cf2a82fa06ae45fe761aef8c5e813da962844ee7cd233351a5474481",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts.map": "1d9c7367f1d9d37182f94f6ef9a7aa70a6a33f165910418e56a9ef564acc7c0e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js": "f98f261bc4039dfb24fc181590653408bbeff3f4fc2ca25ef0f3072daffbe90e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js.map": "e98b5cdd38062a6fa69e2b0e61abb81dab621440d459089ed0c37678a35e2db9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.d.ts": "94c7286929d33877f7f09c1068964028f4e69f7ca9d33c2663474d1a0c33ab2d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.d.ts.map": "4e862e50e93f028e2aec6d3e1306e8091e118b48771b31517d4607add585e2b4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js": "e2f909e827a6e08870b400f44f9e90f9545ef5655d6e10f9cc7d0a91a374af45",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js.map": "a2f590ad87f31e6e24878b1af4839bae7ebc14fb91414d9493c0422d1b73901a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/middleware.d.ts": "7c48b52bc59a6473183272734879ac83b22960eaffe5e28d77fefa3f0515101c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/middleware.d.ts.map": "3e15e27aee4ce4cb63a8d717609984ef3bcf5216a1b49ab99ec2502e3f78fc82",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/middleware.js": "e0aae3414dd74b3d5335dee4c13ff79aee74a23c36bc1477729301e8e70cfa07",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/middleware.js.map": "f605cb943523c994df2a276dab32b7cfcc41a782779fb7d2202f214d4b61cfe3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.d.ts": "1564e220575c496b504e174bc5be3ebdd8b5e5d7e0bdfe31fff0cea6f03fc6b6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.d.ts.map": "be7143635b47a24fe2989189bc0f0474e96f219ba6e5bf459cbf08f3a46d1031",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.js": "87ec46188a6e4649233aba972536b50a38486bf4f850a8d16605684b1ff8222f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.js.map": "3884ff0bfdb5dd57fc5cd906b3d27434565ae3119dec5a87922e3640c77770ee",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts": "2531c33a908e9cc23229f9112b5df8a0023ca17f5c64a901ba533211398f56db",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts.map": "2b0cc494035037278d133834351d167a5a9d0bdcc3292dc991601dcf2747a55e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js": "ab9d226de9deb01552e61f07c639593f29c5f8e6115076ece497d21b18075d30",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js.map": "53677e7b21c2e3d0981066723639fb3fc0c075433ea17258f7e735cb853fe658",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts": "2ea4753e93da3175a9520abc53023608d8b41925bcfdd1e879fb49d5e20d959c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map": "2d25457fa83f0e52461248a7810df8d369d4352a91df87303955cf077eef9849",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js": "f72fa171ba0cfb616428573d57c19e56d6315618c379d0f30a32f5ace02a1288",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map": "f41e301bcd391a9d4662f876d5cb2488fc2f292bfbac98bf6a7c4f14d4794a8e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/websocket.d.ts": "adcaeee717f7e9cf74f764df1f17de1c7106d8cf1b45160d682349814b5d8f7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/websocket.d.ts.map": "f70675e46c59ee61bb2d0510a1d1f603c7ae11689eca879577b9af1f23bac8b0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/websocket.js": "a2f72f8f751d2b4ba9836a835fb736d74e6579aa903f593613194750aba05f0b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/websocket.js.map": "a9be9cc2a83a45be9c661cc8ddbe775d139f24a0b949248735ea1ae59731e981",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/elicitationUrlExample.d.ts": "a9685498881eb4fdd6f26e6682d0da54013f531b1a0966f8c050b6c31e1cb6b4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/elicitationUrlExample.d.ts.map": "5c6f2dc7ece8e42cbb09fa5f22dea563c7c6ac43845ecd15fda3619de776ea14",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/elicitationUrlExample.js": "7bae3dc697daee77e0de54848766493c16e19beffee156526917b9dbe65e83ab",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/elicitationUrlExample.js.map": "bb8d09719e1ed3d6a302f02d230417fe4e34f028a614b55c326c5ae78eb01b45",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/multipleClientsParallel.d.ts": "cf97311f3a6d98934243dd9e26977567563920d19cc3d7122c4f8e4bd033627a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/multipleClientsParallel.d.ts.map": "dab3eaad7e00b6d485e9bc77aa239010d2b17c7fc5fdb67b343867469681f722",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/multipleClientsParallel.js": "c274a6b7ee44a208a10e5e1489cb2519b75567e1052b1a11a72f06db05baa8e0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/multipleClientsParallel.js.map": "9ecf3349d462bc18d8eb6d2dffe500ba8b735e6c8ca5ef0ca909bdcb3ee036a5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/parallelToolCallsClient.d.ts": "ddca523f8ecd18edb583078b0ed8403300328e3a45e4ef396acd01ea342686bb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/parallelToolCallsClient.d.ts.map": "7b1ea7f32a734ea8c407003e7c9eed9c90c4336ddd39e0f59cf6189f983e5a90",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/parallelToolCallsClient.js": "bf605673b25aff179f41e6561e7614677a1f88cee57a7c4ee3880ffd39d8974c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/parallelToolCallsClient.js.map": "57ebbbda2784ff1dfbcd1837e99274eeaf3d3954d837ab0734aa4564cdef5a85",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts": "33b0c155711481892e24267eeb3e8b89cc2e622e47089d0db10ad234b805c01d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts.map": "19b237531501e68a52e3aad65c968bb149fa3a999fe8f72411a8241e5636b5e3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js": "84e9f9708f398427f4454401ca61b869f365794822b789f9a39371195f94a08e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js.map": "5a3c7ce1c12f9f36dd61672fd74a9db59bb2c7ab78a6210a328aa2d766ac9625",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleOAuthClient.d.ts": "42a781cd65d6fb5c9bdef3b403b291a5a149fca83ae161bb6246c6e25b498dc2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleOAuthClient.d.ts.map": "11e88ca38299d3245c65b034b549b43544bce9afda8d86c7a89b5d773e151f84",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleOAuthClient.js": "7c9fb5f3eee420cf7ffa8ef51d9d47231542058f2d2858ab181cdd9870ecbc4a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleOAuthClient.js.map": "2ee172c3529b0cd4313391f7730c9ef1a5278d000df8da5962653297e17d7e8d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleOAuthClientProvider.d.ts": "0bccc138f7519e06da1a820e9d4404f94b871331606f7abfaa2c13cc757aa5d2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleOAuthClientProvider.d.ts.map": "3aad23f409a4dc0336c970d25e87eb845e9ad4bce393ee81fb13914f3f791d86",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleOAuthClientProvider.js": "4a6ab97a5c0f12779fa83946605612ee5dcfbaa3ba86ae135d29ff6db9282f9d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleOAuthClientProvider.js.map": "4c58905d463cf269861cf88809989da419aa0e1ef4474805e8a4647723a8c22f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleStreamableHttp.d.ts": "d493dfa003e8835caa394767377d2e13b454885432109ba5c1f1bc1c88cc482d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleStreamableHttp.d.ts.map": "c012683c5adf25b5aaa027eb58b466bca2d30041513c989cc699df6ac2b6d703",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleStreamableHttp.js": "18a5d5eb7325010280db859fcca438bed0e482d285ebcf06c21b29106e30b999",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleStreamableHttp.js.map": "cacd17ab8391560a7533115a4102ec252cc650d7b14fd62ce7a7be7f0a1aa718",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleTaskInteractiveClient.d.ts": "6179019a15a5949731ac4e9449952681e9132081c06398f83c42030a67aa253d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleTaskInteractiveClient.d.ts.map": "200f6827c2868647daf1c4fd3783b524db1ed4e741e666098620dd318ba1d5ce",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleTaskInteractiveClient.js": "76273ee8c264303799701dbe5b705e7c853eeaceb415ba461afae9d5e5e087b5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleTaskInteractiveClient.js.map": "5a946bbc40f0f59ae9707c25b6e5fb8ced6c9f4163ca6848ab5b2457ce05bc9e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/ssePollingClient.d.ts": "afeee8d6fa1e172f9221b8dad88c9e2eb99ea47522bb185284319a8214ace28f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/ssePollingClient.d.ts.map": "6ade1abc300b8f4434fd81ffdaf78414ad819fa0d395f414ffb88633deb196ba",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/ssePollingClient.js": "df5c06f2d1200746212b84d207afda995ce84e9c919301de2a23ca2b6d86df82",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/ssePollingClient.js.map": "a5369f2d6d82093b9f020b338540fe12f9f0cbe35a2ee53830dd1291f139ae3d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.d.ts": "f9cd0c31ff1527240039f5985a61de8dc8c8406c8b18c7a9b440cf97381edc9d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.d.ts.map": "5f336b66de9f2619e6cf3348f85483813d4586d1aee22c6dba16898ce2f7d93c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.js": "4334d09523e7e8500446d7b1b35b44317a86c70fc81a4c8be8a5c7d3bdda905f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.js.map": "72ec4497bb35d12a22f2d3aeeae52025673474e6f64acacc52ed54204c157fed",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts": "6351be8a08b8b228cbb1dcac8aaef132add84f15050e6ba3ba8f888103242313",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map": "25d2197ef1f0db69666d10719c164da9afe4e9373bd9e8b34f6a838b41fb8e6e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.js": "5fee7118900dcff721ad4b0fced2bb6aa3d4923d4675d7074723a44ad544bdc1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map": "68a4ed0c2806f34f10cc97ac8ff835219f1b514ad5ce9ce095d356160dc0eb37",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationFormExample.d.ts": "00b34e1be3545f426d23b121ae4e23f78d8d8c84f59255836b621858d4662da4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationFormExample.d.ts.map": "6c506c599e9356e257f6e7c811092df94222d09fa3b5fe42c66dbf6c0393e8ec",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationFormExample.js": "166cf84db33e3b36f1425739bd752ccf6daf674de301c251eb9d60eda578b874",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationFormExample.js.map": "1dea56c3015f64183d65d1a72929d44e2ce5a44413384383ba6383a5e073c5ac",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationUrlExample.d.ts": "a9685498881eb4fdd6f26e6682d0da54013f531b1a0966f8c050b6c31e1cb6b4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationUrlExample.d.ts.map": "de4291b518249ff3f46cab158ad060534fd7d7e356460f969b24cd1ec4bd6631",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationUrlExample.js": "c8ada4f9941f220f230dc0309f1f9480a02065a8c343259cd377396c2a738cb7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationUrlExample.js.map": "152ece3d41436da0af6e7f1858970d4eeb8e6e2132bf741997b938251c4e5286",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts": "b540f3fef1d4fda9b06f42c6c7c52805f3e95b0f0db90a21e8d746dc006c4425",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts.map": "98d7770bac0d99ff1619eaef73f0184851d20654484932b134d926009f8cbff7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/honoWebStandardStreamableHttp.js": "551041b579d3ed2b3251f60ccc3ace0bbe6053973763e138cc23a34631eed952",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/honoWebStandardStreamableHttp.js.map": "51ca40994cd55e78906b02a4271d4a41b8b27bd477afd3ce7adcec4967598d06",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/jsonResponseStreamableHttp.d.ts": "e62510f014840f113369fa8b5baa88e88f497c9c1388e4fdfe94f41db0cd6849",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/jsonResponseStreamableHttp.d.ts.map": "80a7315b93713d1a6805785ee885446e1970e7f5e963035e0b46f7f48297f7f5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/jsonResponseStreamableHttp.js": "b4db49f89b727fc9e0a14569c80355a33ba92befc1e139d325dade9bef2fcf0e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map": "8bdfe67b5539123bc773ec0520038e4e49f0fa6f3b4f42876e0e3df999646ec8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/mcpServerOutputSchema.d.ts": "ba52ca94c5d34121c7e7d10e5da365140deeb89a2b1874d3ecdfc325a3849b98",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/mcpServerOutputSchema.d.ts.map": "32a2fc1a782da315e7638862f793d5bb298e43baa9f94b9035ad4697abeb35cb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/mcpServerOutputSchema.js": "22deb58374b4688dbd12a83a61fbd7218d53d2eaa517632c776178911f03db61",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/mcpServerOutputSchema.js.map": "2e05b29595778af19bc0fd3188e7debfecfd7a07cc84958fa39a41ab83208dbf",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/progressExample.d.ts": "403a1ae7d9fdd875751a1b17e80073ed15b95f4112b8b784f888b532357b052a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/progressExample.d.ts.map": "b816954a665a075cb197a03316aa930308943df300cb2a0e70b293e9ee12d2a3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/progressExample.js": "e16eb1a03a605d814264a4baf206d4e684e1631b297c274e9a8d13d9052ec048",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/progressExample.js.map": "fc060be90af1dbcb87ed6982b984c8d0c031cae0aced7c11068b4ee6b29c1b35",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleSseServer.d.ts": "385659de8a269ca5c05fa730d18ba28cf13818d4661bed2239a7408f22a1e091",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleSseServer.d.ts.map": "1073e57cc49bc8f7cafd91041dd9eb3797af898cee807609877a0c523ce8f425",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleSseServer.js": "70ccbe2fb3b9b612b8cebc816bb88556952d04d7f76588020bebcad30bc3ce29",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleSseServer.js.map": "eb5d918e17e3489983ea27df8cae3af865a146c4e0474e0cc51c44d9f0fb4b15",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStatelessStreamableHttp.d.ts": "d4dca66a9a1d2b828232d7caef5910a64530057b1701188475bb8a3f4a964d4e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStatelessStreamableHttp.d.ts.map": "c4c0961cc115bd507b817ef2e4388b671af6e1699701e4c38b14f2964faf6da8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStatelessStreamableHttp.js": "d8161c9c858a18d1fe6807468543c3da30f888f6babcff7344cd0be51820a543",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map": "0bb505000f3a2f01b5a78a6aa7ce38bdae46051eb53736fc389143232524307e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStreamableHttp.d.ts": "d493dfa003e8835caa394767377d2e13b454885432109ba5c1f1bc1c88cc482d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStreamableHttp.d.ts.map": "8da5252aae3ce2f029cee07189402a0f5a1826470536381601066f4448e5130b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStreamableHttp.js": "e6c445455b1fbd7e819526cfc546748f8e4422762469f95163aad5d3133f8854",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStreamableHttp.js.map": "42784efb20e3cbd76759b400da700d8a7a8af2cce5aeaa5b064f8098d34429d0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleTaskInteractive.d.ts": "5cf096d6e721ad1f5e47145d01fedb8dc1b3a5ba4eecf262791e5adaf5c4d5f0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleTaskInteractive.d.ts.map": "c347fc21bc8b3bd85082bf5d6d8b014626cd59309a5ade8fdd47f9dbe17b7304",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleTaskInteractive.js": "3650ca14ab0c2ab7c79f8f4e60bf1bab7d637a099e29300751cf9307853451ca",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleTaskInteractive.js.map": "8ca22506fed07d67c456365d748209dac3f0d804bcb6411c416c2a3d92eb8306",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.d.ts": "32d14e4d9f6e81b1e0a9526244a9df76763ba3ebb09c820c9a0db0b1287c233d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.d.ts.map": "755095fea19aa3d5437fd316bf8f1bd8c311001cba05553a145e292680343162",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js": "65157291487def028d74ab628b45571bdf496e5fe298437044033ff17cc25a21",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map": "27e4d9d83d91ec11f5f4f1b83d6452e89c61b449b7e0b237dee98c046572875e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/ssePollingExample.d.ts": "c4f0b29b45c6856919b51f6401f9068f493ca000fc2d32b95bd963734129c9db",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/ssePollingExample.d.ts.map": "925568add6fee126568167b05cb4f34b055175930be4ba911c4f4be71f126d32",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/ssePollingExample.js": "c181ee0c75075fcfb11fac2fe3e92c0ce100de3767c1f43e4deeb15e93b91918",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/ssePollingExample.js.map": "6a01d319c143b3257939cd7057ec042dcf7efc169ddceaddeda15fe013a7f45d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.d.ts": "88a836da476505d4bfc0d9bbb2aace08be493eb8c01566085e642bcb22757783",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.d.ts.map": "90c9e0d9c3cd19aa7a6e06cc0ebd102e7c14414d315070cdffd4f0cd2287ad9a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js": "bf8b2bcce6f5f69265d305b595b4ebc56080b15c843cd0cf35ffa2c16c1f26a0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map": "38666ae1353e87f195a2e3479e2499b02d737a29d5621c4b75d133d7fcc317dd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/toolWithSampleServer.d.ts": "5356927d0ef16728c22988993225f8602aeeeede5365ad01ac94b9974b18a3fe",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/toolWithSampleServer.d.ts.map": "21ce03590322878a56ee2447c08552fa2799512af26696d7c6cdd292434fbeeb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/toolWithSampleServer.js": "0a782961ef21c3827e80b689f1f9fb9d4f001104f102ae8bf965cf165ee5e584",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/toolWithSampleServer.js.map": "44ff2fb3965030f6670aa16f7eb5345b870f4bae64f94dff6e78ba310ebfd76d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/shared/inMemoryEventStore.d.ts": "e9d256033509f4e69117260c42b68128d5708c8e79cfee0a23a225dc4a77ccef",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/shared/inMemoryEventStore.d.ts.map": "ec274fb8889aae1a1995b61adc5916252b2540a3094658771201b3f114d7535a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/shared/inMemoryEventStore.js": "779e3eaaf0e4464f2ca104ae4a2114cd50fd97b178dcfe824b62c5d6b4ea6e93",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/shared/inMemoryEventStore.js.map": "59b6edeb8d7034f4d3e56a2c0e62dd1d450d21fa5ef67053f88ad153c96d64f5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/index.d.ts": "db7708c4cc95e0f60efca96ebb29143976dba82dfe0e103f3c15d96bde34ae2a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/index.d.ts.map": "ba0690f1eba7d6ddf50feab2f1a8f46275fbf219d6a9a6fff102a353d8c46faa",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/index.js": "112b971bdd7d22a1076f87e3d1203055567476366d19da31c7d3d633cdeafe6a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/index.js.map": "284dffcdc0ec9e887c9bf7c86b95cedc3fb1d3e973a661411967b98a4b8cee2f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/client.d.ts": "10f984c959d0f6394545aaf1b1e0ee5120e2ba00351b4dc2d278fdc0cf7f5aad",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/client.d.ts.map": "582296c60e6674b775efac53316e0ffd68ccc1d71e771ecf11d9de818ee0bf37",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/client.js": "5bdcebf959ddb975fe3a29f5250cf9289b4ed065215537ac4ad7afb94b1c7ddd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/client.js.map": "a939f49de9a71d25715c56a741548f892ee4d7f29691fb41643806f55ccd342a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/helpers.d.ts": "9023db8c173c505c66e72e11edfe2920633e4b9756e2a605bf9fa7da781399e1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/helpers.d.ts.map": "cff10ad731678a7acf4bacc9df23455af3bf97f6a47dc6df06435e22e6fbbd57",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/helpers.js": "cc82f45b41c2f33551a1daeeb3c8e4647a944c91245e4fc1c8a862de81265246",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/helpers.js.map": "bf97a55b6e606ae5800ab08684d118b7d30cff6033535e5f811e84af34c9cfa3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/index.d.ts": "78d47fe46f72a6d5a4bf817cd6e2ac26deed7e41c677a5869642850e1df678c5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/index.d.ts.map": "75fefc42ac932124b3d98e0b5432b9fec2a38268c7b5e075eba76696542f40f6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/index.js": "71ff255143f2f382de17325b1221f923f751eb2016fd13353a7c839eb73aa574",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/index.js.map": "05d14400682fdc36f63dc59988d4060796cf19e1560f48edd4092a1465d58ba9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.d.ts": "889c0d56020e7ef6aead7639c72cc1bceefe5e06d96e5b57249331b43c3579ae",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.d.ts.map": "e6cc036baea4684d8d6130ef0b1aa70c249b151948273c145842330471828623",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.js": "abc43f2f13a03e80cd24af4c97d2e1c3892411b85ebfbed1e36db8e4cd99abc9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.js.map": "7815a0cd3e0acc118fe40339b8ba383c6fbd062189a509e9386fe3911018a578",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/mcp-server.d.ts": "bed9de03b39d2a2010a13db7173c55104980dea603bea05844c95e71e5acbdaa",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/mcp-server.d.ts.map": "a8f011d23a20edd018bc313b30849bda26a5073cd665bf4070f67ad090a32e7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/mcp-server.js": "d8edc08c3c892392957a3d38a047d7f7cfda01ee1ce773499b757288dbef8eb9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/mcp-server.js.map": "5e33b1a4c37f89e34aa1aa7f2bb9c1b4fce684d24ad0e6540f205c87c0668963",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/server.d.ts": "604c9d1403b2662b731190b0dc00f9abf462aee0bc807375e520868f278fbf0c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/server.d.ts.map": "594dfdf67327b12688c582898466377c47aed4e8defb32b974cd611d46b66a2c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/server.js": "5b9c780681fe06fe681da99a1027d6eded807c45526e9e18e98adac1e1ea352b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/server.js.map": "f5482ddd4c99d54233feec4e35b1edea28f095ff347d8d739d9706635cea345e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.d.ts": "6fe18c77c174dc357fe9aeb5084555468bd003c835ccf45c92459d1ccc0e87ee",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map": "af730373904bca714718fbc3757a8a13caef87fd342b9f95765ef67c43e13ac0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.js": "8ec2cb5fc17dd61b179c97615959fc1f15caf10d4ada5adff5cda75ee2d204fe",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.js.map": "2da3a90fb693ee69dd4f15211b570d0d23cb42951aa2d54a8128f16de2af4e3a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/types.d.ts": "42474121cc99602c81358c7a3d89a362e15be166668f914c48ac737bc991da80",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/types.d.ts.map": "37503a66051a192c582a07e87c68ebe63da3720a2e2de00b3feb50a55861a149",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/types.js": "5e6c315228b5c9086f080de4f00cc2bc374bc2a46b53f20101608341c8b0eec0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/types.js.map": "224463a968acf937603942cc402634071780592f1b5f7785a236df3ef880dccc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/inMemory.d.ts": "9e8277f2b16d0feb52bf1fa6f433c6cb3d20ee8a9b65d698dbf40f47f6c322d4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/inMemory.d.ts.map": "46c63b849378fdf27c8d3a0ab77da06667a9fc2f12d3e82f2a9619a94fe04bdd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/inMemory.js": "c4b20556354a84b7119afff069e5a5e81c5cd223a7dea284d4f52690b4ed8b90",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/inMemory.js.map": "ac70829286c77dfc088edc52a8b29b15b26a0fef1380d876a5eecbba2cafec76",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/package.json": "e78adbbbe5741f27e8d900be349911234c1ae45c20a3f2fa293e2c8e5abf3c31",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/clients.d.ts": "10b45db07bdc125492398a2de9b294299a9314dcd2f7bbdf76cee75456c9b625",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/clients.d.ts.map": "7db39417cfcd78f088f29e095c93b440ca69d36c6e5934980da6463c82d50ec6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/clients.js": "390550f153c63c5a58055a90b804350dd300c9eb28a34829c54edbfef6f3367c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/clients.js.map": "9d585a806d258815fb0281fd336ef98bfa254b18ac3a36e39b27296d4f36d7f4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/errors.d.ts": "5a93fa71c204b212bb8e8a97825b606ea8a9bac41fff5bd7c13ef9917bc04360",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/errors.d.ts.map": "9667413d24fb9138d9105aee22218b86df4b2bfa73048eef817d5c2842b32c92",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/errors.js": "0203cabb3be4728996de7f9b1809874e5a65ff1cc4006051c399ad65cee94ca4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/errors.js.map": "c19524ad480428dbaa47b388173239d20f1bb4c545bfd3c3df4589c357bfc6b9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/authorize.d.ts": "be499fd45457a0dc4e471a576a5f718a68835f63eda6b974d7409c74f284a876",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/authorize.d.ts.map": "b750b1ad580acc7b618a574dd1d410e5dba9487f77e2adf0f32b424837e13eac",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/authorize.js": "96deb78e1f2f0be6efdd240843658cfdd40443c7bb9bcb5dfedc1b2d796d2c62",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/authorize.js.map": "b11170b0e575f1688eca7393b5bf4eb6111a35805144a823bb6f9736495667dc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/metadata.d.ts": "cda09dad62870e0a0d25c412fd6cfbf846f270901bf552a6a055199079968d1b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/metadata.d.ts.map": "ceae99d3c8ac07cf9411cb2522c98e695bf914f40eb567204699ce2f6ec65878",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/metadata.js": "c314febee1d07ffc74930e35266e1c473712b3a51b6e011c414eda0377ec6b86",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/metadata.js.map": "b9cb5eb18808632f5c36b2aaacea2f787535836fe128ef763981941b7fe1feb7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/register.d.ts": "6e69684f82a6067111ba5214a66d1eee04edb37c5256bc150b19d06da7a4c368",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/register.d.ts.map": "e89b286f4dd8661335b7c91c48a78d680cc8531b00fc0cf2181c26ae3e436931",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/register.js": "3ec002c0b051ca00c6e75ca4df5550805fbec65c39814140c99f72b4e278902c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/register.js.map": "8eef5e035506c168d189bfde60f4671c5bf760fb7ef23398366b7331ffeb8748",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/revoke.d.ts": "f2a001eb3629765836d85cf5d99a76a33eee41df8a36461169eeddd518b13dc9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/revoke.d.ts.map": "6dc7fd02c84fd1fcd44a6bd7743c72594499776a6968655471849da797540d82",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/revoke.js": "fcf75999495b9ce0fea82f90b657a00d0d936f717b32a0d4e43fa2a2c6e9f2e1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/revoke.js.map": "1a6a4f7e60ce472cc4243586dbdd694e76d53fb5cd38c440ef1b6f9cba894fb2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/token.d.ts": "f2d4e42d4e1684d829c458f661dd8a1dbc8339b48fd701977335c37158aa6f93",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/token.d.ts.map": "36dd525e074fd20dece949a3b8315a0c8846cb75ad7505b2f8ca06da7209b0e1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/token.js": "91aecf87c02cabe4568e5677ee81a286fefb38e370aa376ce62843a68809ffda",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/handlers/token.js.map": "fc30a98df88275efc0df22d8dc9e78d6b8bd1321f7d9aecb0db2730ea93f46ed",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/allowedMethods.d.ts": "1193a94a487d5ebe828df124f470835fcfeee9ce3b0b0c33d5027146ccd79564",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/allowedMethods.d.ts.map": "dcb546c3cb59fb56f2832734a21c2fc4406f07d76044b982c072fb4b07ef69c6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/allowedMethods.js": "f24a93a1c648672a21098127ebaec0bfae8725310b708ba2972da4181d934de5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/allowedMethods.js.map": "a2a1574b8711388dbc301cff35d7a9fcab3d2c93fa9feded5eb4c1b5dcf8bace",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.d.ts": "3b01226577355e14c89149fde980556745cbf8ff8226220594d9e3bcfb767609",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map": "fa6135ce212966288d6fea56cc9dafbaa4013a8c6211dfe46ec0d62ec03b30f1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.js": "6d8e4f0ab2d87cf3e81b5f8ea2d44259ab76d7fa3f3e7ecf9f17843eafbd4fdd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.js.map": "82dacc01848a34b95cafaa0e9b64835785371cba17a5b8493813621cd5fb70d8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/clientAuth.d.ts": "534f1f039f670a5d34b99ec13de00a26764c6af72effca845770342b10e8c607",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/clientAuth.d.ts.map": "9318048ec2614d72bf83f808a50f230556cfe971c1101860984e9586d577a8b0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/clientAuth.js": "116ad5eb83c59b8611205c29022f9af9a4228504e9e48846a7b4d74ee59c15e3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/clientAuth.js.map": "b52953bcbd14d7c520ff75d4cb3530eb16071a4686c88bafef8c94432d6f1e47",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/provider.d.ts": "bfdbbc8d7f2e0c1a4a69b945af04ae93a995b7c134294abcb8532f80446dffad",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/provider.d.ts.map": "b334e1b088c35c2c892a95db9d34f5be50dfbb3f9c0974c1db61d21e9478802f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/provider.js": "f893a79f9fd97de3619c1262622ea224779f072739a9f1438deb9b5fd674acae",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/provider.js.map": "6c9595e18422b9bffbdccab5af28052fa3e108e9316d2f0d5d4d8cc1ff7c9cd7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.d.ts": "086cf685b8ac888e5ba2d3ff091e1920b5bb9742bea5af00f58ae8ce3bcfceab",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.d.ts.map": "ed131b5920e52dc7a80babeb53cdc183c3d975248b10538aec8d677f54ba0f9c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js": "316bfabe36176af42b2a629c74692859d215a66646b74f5b2690aebd609616b3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js.map": "c889d9724f843ed19aada42bfec8e311f68f51654af34f4ac21f0cbec4c5f3e0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/router.d.ts": "f5eb18f3a4b1a366622b4880191eef9e7b12581a686bd7611c27e59b527364e0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/router.d.ts.map": "9cb607bc8a618329edf16df23043edef9bc0224a1c074f1231bae57f6e03d069",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/router.js": "a70077e9fbc6a04ee23d2502743fd491e2ec230dd6c18282331dfcac18e02cb1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/router.js.map": "782ef4219045eb06fea51bc28bcf8cc78100f881f7f7a1e732e4139bfab563ce",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/types.d.ts": "106d2e4be2d1352f266d610a47021dcfb368e28c507a7beeaae3f07394dda2d9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/types.d.ts.map": "53b21d6ce7534e18369935476c8a75b5c3e4a47fa593f33f6794199dfa17697f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/types.js": "b0d2bc4142d0c62d43f996aaeb64f22c4889ac853f8a3765758b505d972d0149",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/types.js.map": "5dc45916f23e2c7f3881ef50047fb5896dcb0e251833079951326a00d86df839",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/completable.d.ts": "562e0ce2b6beae4ea6cf38e867cccc0806d38f0f38a3e1e40b1d32376f3eae50",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/completable.d.ts.map": "beed250c3e27ee8d62d80787e5c91a4755e7d8556d1c23f778fa13769943e411",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/completable.js": "cc67080e7864b0fa5d7b0bba4107210ca462945df307c4b30ccbefbe08004386",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/completable.js.map": "7d6ab510bdf0b6405156a506568a10d64202d0fa97ab1831ddd0ed7f93b78bf1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/express.d.ts": "3f662ab6aa827d33cfd225da6fc15edb5b08f4c31a5a99dff9e8bee6e757f68a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/express.d.ts.map": "1b3a30ce698af2056d20104fc4c98742a891c47b61de9e9d9aef07ece85d2cf7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/express.js": "ccbc234ad55bbfcd4d733e73e8abd2295e0c2333100cad818675133bf841fe7d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/express.js.map": "e775397d9f19bd457093d38b1bdc9623bd2399b1034e7ee392e8188cacca4e4b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.d.ts": "ecd9be374cf01ba99c9696e59b50f8baf8fae65ddaa43f0d375471933f989788",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.d.ts.map": "32db73a5d024a3d3b75f18d5c7227349b5b2bc7b406a88ffb4a12241f65a643e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js": "710624ac309f70a33995010301e2aa020cabbd1a5746a7b0e2c0a501c781993a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js.map": "0e45bac35aecc8710bc6f80bc9a608a8bd117cc8f8c405d59d3263e14c25757f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts": "4ef9bcb6ac0e97ce5387ecadbd132cb23e6cda3204b216e9ba367efe91aa946f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts.map": "1c549059903177c10e1b124a1c6713a1a5aed5e846e3670e841025b894d58a86",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js": "8f91644482d78239a670c3b2c181a2ce9444ba32816fb0bab26440546e3a3e7d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js.map": "1593a10d001dfadd3815abee91cc2ace1010fcc0247ac1720656ea5eb52bce58",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/middleware/hostHeaderValidation.d.ts": "b64109e99f0b635465630e654df4464c713c26a6f3c7aea700600859fd0ac7db",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/middleware/hostHeaderValidation.d.ts.map": "484dc78a660c2fba0dfa2d1cb9366a0bf0564a48226508dafe429811e7855f5d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/middleware/hostHeaderValidation.js": "5899a6094fbc2df226a8520918775e00af2abe9fa50f8379cf8d3d77fbeb9530",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/middleware/hostHeaderValidation.js.map": "37035fb9491f5fe74a0fa08cbe4cb3e2b21773d34e262653d601a139aa4f8c38",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/requestBody.d.ts": "4f0a62e9d53b10f616dc1337e9b1fc3d7b0777f8dc32daaa095e3d9383e49c96",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/requestBody.d.ts.map": "1027e577b7cf090907c92d9ad16a77b9d58f2d96f51e5304d800e73257acbb22",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/requestBody.js": "92889177c86caea7778b238b68a43919ba089a6bcc787c85b0841d9cdd1f38e1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/requestBody.js.map": "7dc5b57f474244fd329a49e6d292ecc1c9afa6a4916636afeebb31d8342f6dbf",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sse.d.ts": "5c435aa7cca26998511dcc4019319066f3d9ccf86ddda45d9b824654d1ea8f56",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sse.d.ts.map": "296f48d2c0dc97b51758fc843261282b65a615a0073376ddcd1a9a244346e96e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sse.js": "f7112c093ddbfa9a0dfc7c186ac5ef5ccb183a415b91b8ae8c97048d25922ee9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sse.js.map": "a3c50012d65913b7b7099b090aedf5a2d90c122072152a24487b6d81679a5b18",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts": "d67c7ea7fee07758b306473de31873606afbae0ba2463d79c99d4a7f4b3ead96",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts.map": "de0a1dabd0bd4af5b04c3d18a0ce775b1bcd9602da7c7f9b64b06c7ba955b5dd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js": "d4ba63ed93107d604ae6f62f28c3328b7d12d43ee12587b15ecc5029e2bcbc59",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js.map": "73b5fffa8cf0f8a8719b3e7a41623030fdeb5d7ea9b130c9cdfd982c4866ff97",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts": "9afd00f33a32d0ea31b8433f3af7a97b9bb371e75650766d56bc30960d6e33e3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts.map": "038ca501ad46485ce1ce46d17b6d0217b54e3395e70ea65047c96d528cb971a5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js": "1943b9fb037788c7ec04b0dc34a23bfcba0395b4ea4aa914b40a4348a5d890bf",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js.map": "ee81d64f0fd2e8f18d0f300664947f98e20c0519d6221b0622db8ae7d0c4303d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/streamableHttp.d.ts": "425b22fcc2fd435f20a99a0f8ac9babb39aef8b9b56749f735b13b1410cc0413",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/streamableHttp.d.ts.map": "790e132a0147018b11cf0669c578f7edf3ad6e2ec58e445c90a95eb9a147fcd5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/streamableHttp.js": "a7e349482724fca3c077e50516f90cbea5813244c2c7849df371b684c4fe88ff",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/streamableHttp.js.map": "a4278ce03fac94a6f958b6d19fed88c25a52cad8b84cf98a21cbf879dd627a18",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts": "55257490a300212787b41bb4d8df9ba70f701212d25c4e41b6294d1d9c400f62",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts.map": "e3223428fdada0c247f0ae3ecb73c7125808f4c2dd73d2d1732fbfd405748109",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js": "aab0e9c79d398fd1e541d166c46f1893f6e6562fd7b36f3c6c5e5521a2382a0a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js.map": "3ac25caa4bca8402a70da17194df7bc4480f149ee72c209e051ae179bd7e0336",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.d.ts": "361b4fff69ca3e465ca01f81803f83815c2b19f77fe7870d8449a7d64e337f7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.d.ts.map": "63628d4ec41a6807a226134ae62674da71f29c6767b18c06f741bc665b073d78",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js": "083cdae912fcc72bfaf7f072f10471d7a07fb8b9d5388b9f5389394802c874da",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js.map": "6a1d50f721cc21f1470f3497b9b912b4ad058bd29e75d35117549df45108150d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-json-schema-compat.d.ts": "8ad0f709b1e79ff8aac79a814d466daa2da7f8e36e78df98f381507fdfd7489e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-json-schema-compat.d.ts.map": "9621783d25badeff80e35ea4ef87d4b68ca52f77fa50b6de2456e60f7b25df4b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-json-schema-compat.js": "1e642542a22f273cb3b9cd17f8c9deb540be84ba35cc0c3e0872a0185760541a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-json-schema-compat.js.map": "b17777a34406b78f6e4d97ee356729cf4389da740ad14a1f6bc9fbb475057284",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth-utils.d.ts": "5b9268edcfc32085f43c1f84b81e0003154b251df345067489a94898e5e9bce4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth-utils.d.ts.map": "cb215d3aff0ce5bb9797bf3398abc365b84f421af8f2aa6cd25aa667b21ec574",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth-utils.js": "71646bb5396b10af2510b79726624f8808dc0427f87cefea51c284f2a732b6e6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth-utils.js.map": "9c54c7c557227d24875d998bb5d9936edb8eeb0cb3eea6092f1aca3cbcdb5cb9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts": "871266b183fed7a6a8a1bbc5f18c4852e5a0fcb30af5c3efe8aaa4e0b7c9bcd4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts.map": "9d1d3ea0016eb5aff3dfaf8b6c4916cdc988929314b38b78320474b557ddc200",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js": "4695fb80127264a3827eb2c81b7005e71afbc4e5aa4604fc0f326c66e84d9ffb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js.map": "37ceec5d2ea358de76ec5e873b99ca998171c63634f6536a74b4e1302e756744",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts": "bfd17ddde15e22f23c7f5a9828027a473ff08ed69d46de9d84b847ffade4dd70",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts.map": "cb911233fe55d72cafbfebef26337dfafbf3b3e4a972fcc388dcf987a03c1c3d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js": "e6275d088db495052332a6971b333c61cb54f3aa72dcdd65a1afba25e8c55186",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js.map": "80aba750fa0fa549805aee5e4347f66d3fab20d05ea9dad697bd2e562c48af60",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/metadataUtils.d.ts": "3238e5ee802337c23db93d38795961e57ec1d857f86309252f2f81fe5d4dadd1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/metadataUtils.d.ts.map": "c74b62b369f20c1e76d276c46c7c0afaeb375f583e3eaed9ffa7dbd91ea41510",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/metadataUtils.js": "70bbfc5af36a781aece14c8ae4248c18bf256c481b21f8965771c6ef629111b3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/metadataUtils.js.map": "40e8b96831e0ad755b394f1efb03b55fb9a3942c38927a3f2936fc0916620afe",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.d.ts": "96b4b92af72b0c0b617bfe6fe18bd0016bf28c3363bf6113d69719d48ded6d50",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.d.ts.map": "2bd84aba4ba4fb28dff208d77354bd30fadec3adca5dfd02fe62add4195abfde",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js": "15da6abd6aa14b1b4a3334a6c50f63445fd840ab35fede19a69698040cb85e35",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js.map": "d44b0636be2c3740c97dce354ef34eae1b33a1a171d810393f6a9c46e716e342",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/responseMessage.d.ts": "dc94ff78ce389635f8320c2814824cc82ac9e048d41ac45b6207030265d0df69",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/responseMessage.d.ts.map": "75a8b5f4feb8c86fff928517661cc67f8c34334e3023abcf3c76672e1843985e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/responseMessage.js": "708dc5d18e6f9b3a83f3d98b7713d071aa4af2ecc08441b16b799e68e6fd9deb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/responseMessage.js.map": "bde396d6dbe5541ac42dd5bca28d19f2292212e411472b3fe6f9de355ed95d43",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts": "8a014a87c4bbe9865f96236d3ab5f461becc29b92cbeca4d01cf80c9c03e7a13",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts.map": "b97f5e8af34ab1e19e9de0c2ee454b2a615b7ac7904dc6f478fedb34c82e1e88",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js": "edf22693bf4e4693d0fdca325ae52071de9fc777c9c45ae7af9037ebfc186028",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js.map": "12d1a09c3030a2b3ea15eec099dcd7b62a3117d2b226b7a4c514d36b46976ebe",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/toolNameValidation.d.ts": "3068163a94d7815e811d5e05bafebe9fd2d18e68e983bd6f162efc44a707b04b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/toolNameValidation.d.ts.map": "622af084b0312c9dc6d4e9b33e5fd9f2386e825a001a9c5b167e53548596c177",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/toolNameValidation.js": "23f757c970249e029086364651f364167643912e6249faaa1e5d546ba336dc05",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/toolNameValidation.js.map": "ea74b21a16261e9774c3ae3d1f41d8d1bcdafa8d29a90323313da1081f4ba241",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts": "7142760b78460b082a820582ef5c2259667cf2474801d1c538e6d9b30e7e3eab",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts.map": "3cbf43edeab4741379332643489efd9104dab1c3e4250cce74884797ca1bd650",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.js": "03d3b617af6d4092146864179ae21ac01713ab8b3c19013dcbebf2afb344dcd2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.js.map": "95b867264ca941ca337c4d3357ce61f7b852268eb32b5355e87399c2806a9c50",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/uriTemplate.d.ts": "a6cd848cea6d42a5ab781c8594817a678db50a38321c2965d11b6cc03e382cbc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/uriTemplate.d.ts.map": "ad609fe121cd75820d6806cca00a97288e57d66027bdd9f4e27861981ec17187",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/uriTemplate.js": "4f027bcc629e453f885ca9dbe650dc92c85ca24ff0d8b1c11b2c7156d5723344",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/uriTemplate.js.map": "aee9c43364d1f95ee5e6cb58a0d1e4ea7a78a0e3ca3d128084f2fd482273ccf4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/spec.types.d.ts": "f612706dcbe34de49a77f2458ba4e0ef9e767efffc0f38024e3d84a8f1f66414",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/spec.types.d.ts.map": "d68a942295145ae3d9eeb20296bb0cde2342c6f9ce276af2708ea45fbb988c83",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/spec.types.js": "39970ce81eaf260130f3661008060e7d079d2d0b8014a1b66028a3ce840cd6bd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/spec.types.js.map": "5d669ed64d4fb02395ef711175eec699dc00129ed23c02181e287ca21e647f7e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/types.d.ts": "992f47b4534fed1f6064c90095c171d60118412a63d4432b5983b08d0148c880",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/types.d.ts.map": "dcb9a3cf1ce524e3252fe326a679106744fabec31614f2fce943e296f491079e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/types.js": "2995d96aaf118ae001a6c673ff386bb7edb97b2ed7f3214549ba005b4a6c99be",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/types.js.map": "ce50276560a621afee537d6f027ebc0ca605e1a82e7362086a2dc8a0b9a06ba4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/ajv-provider.d.ts": "c14ff5fef3b5b43b181a0386bb0263d82a88242d633ddf46212372fdef8afe03",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/ajv-provider.d.ts.map": "5488243a299cc8ce32c2af808d8f17b5b5a5028f69c44fa3a004c0b0a1733e0a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/ajv-provider.js": "697c11d91d249750a3e44d4423c415264f102631b4fe755ff998ccc9b8402bff",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/ajv-provider.js.map": "fdc2839f2f207697d887e9c572b4eae174a18fd21d4e560253dad5df1c6914a3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/cfworker-provider.d.ts": "9b8951f45670044147b9e29f91f9fbf6600d89745a284dbf5cb24a1466114358",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/cfworker-provider.d.ts.map": "20f6043846fcd696b071c31d28bde8392be6cb7522b01b29475647ef27dc9b1d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/cfworker-provider.js": "d660038cdd47d71b32eb592327ad58d9a8d5f8aa101c257e52018de4282fc8e0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/cfworker-provider.js.map": "98e05dd6cdb37d8d46175e2939fa020c4b81fed569e911ebe2e81615491e4daf",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/index.d.ts": "09b44568e0d176d287eb949cf97d6ec04db5e197ff9552a963acbc90893c80dd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/index.d.ts.map": "9798345c9fae61f38aee9a5ba94096e9fef9a9d4ac22e2430628506b634e383c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/index.js": "55c377e413d2237738a7fea50b6456676664268f4f65a5b3fee48c4f86be0dbc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/index.js.map": "2659805f2dc88b37498ef297d27b950b31d1650f728f2343937e049c12f1a0af",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/types.d.ts": "d58e26bd30e5a3390e09efaecdd81375978e0ca778715687d7728655ed19e337",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/types.d.ts.map": "e4b77f9e3e8e496fd978f649724c93a7b1967cc1418a52be06a5dbcf43b7b2fb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/types.js": "b0d2bc4142d0c62d43f996aaeb64f22c4889ac853f8a3765758b505d972d0149",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/cjs/validation/types.js.map": "94457656edd55e7ee1140990876d85676838662e970ec802dfaf642417a29c64",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts": "5d16a2feb0ac6bf9d86aa262d603c084348344c3ce9e53d7a1af127a8c6bffca",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts.map": "aa266a9fef336ee433fe9a4015f9a0230b8d8f2ddc8956d08fecc18582008358",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js": "8b1734900bdf2c6c461e9475bc2a4ec9f1da5794a23a4660a71c51eaa0cf76ca",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js.map": "9896075d2ba303c88a711d559096e76eedd7db640ac0ee443f94d5042e0439d0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts": "5574f728cf2a82fa06ae45fe761aef8c5e813da962844ee7cd233351a5474481",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts.map": "1d9c7367f1d9d37182f94f6ef9a7aa70a6a33f165910418e56a9ef564acc7c0e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js": "2228650debcaa3fcaa59d17af88bb0e17ec5f972da2474e39251589516760c33",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js.map": "4805cd09fc24f29b96cb3f04d504ee80255d1d3159029ab90fb098e774ec7983",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.d.ts": "94c7286929d33877f7f09c1068964028f4e69f7ca9d33c2663474d1a0c33ab2d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.d.ts.map": "4e862e50e93f028e2aec6d3e1306e8091e118b48771b31517d4607add585e2b4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js": "db6cc643f5cc095b2fd0b70bf691d1775f07a317e97555e3928559e815f5e32a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map": "b45a1aa5a135bc46ead4d255992b4f2741ac58d7cf499bca7f9b4edf0d18af99",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/middleware.d.ts": "7c48b52bc59a6473183272734879ac83b22960eaffe5e28d77fefa3f0515101c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/middleware.d.ts.map": "3e15e27aee4ce4cb63a8d717609984ef3bcf5216a1b49ab99ec2502e3f78fc82",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/middleware.js": "e6e1b8a0cc3463c49edd472cbd2df75a0728a0ec747d2b420ed5ce5a27493e7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/middleware.js.map": "c8fb3ed1b43959994027355c7a061aee8fadac0f23fa423888113d19673c552c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.d.ts": "1564e220575c496b504e174bc5be3ebdd8b5e5d7e0bdfe31fff0cea6f03fc6b6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.d.ts.map": "be7143635b47a24fe2989189bc0f0474e96f219ba6e5bf459cbf08f3a46d1031",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js": "64b547d94b2cf2d6f08bdc0c938ff7928f307d25fafacba78ef01d32c8e7cd77",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js.map": "d91b2803bc27a6790a40031e48cf6b45e37730d2d332e8eb38d37828d0655094",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts": "2531c33a908e9cc23229f9112b5df8a0023ca17f5c64a901ba533211398f56db",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts.map": "2b0cc494035037278d133834351d167a5a9d0bdcc3292dc991601dcf2747a55e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js": "298514feae7875117a119a2598b40f2346ef07c30152fa7ad2ffb6cfb51782bc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js.map": "e9762acf1ab471cf0f54ecf25dd22aca2b1fb03c0d500860b241018da515dfd0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts": "2ea4753e93da3175a9520abc53023608d8b41925bcfdd1e879fb49d5e20d959c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map": "2d25457fa83f0e52461248a7810df8d369d4352a91df87303955cf077eef9849",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js": "a477d0a95a1e1224a009e808d2ce01b1fca32de4f32ada4c589bec0443d41536",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map": "945f244f06333732518ad0dbfddf527fd99d30e034b90091503170eef57ddeda",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/websocket.d.ts": "adcaeee717f7e9cf74f764df1f17de1c7106d8cf1b45160d682349814b5d8f7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/websocket.d.ts.map": "f70675e46c59ee61bb2d0510a1d1f603c7ae11689eca879577b9af1f23bac8b0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/websocket.js": "595691c52b9201283af43e63d1d0c094a6e6568d495a8559c6af7dd819d68e6e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/client/websocket.js.map": "2824076f6476ee1bd3246de9b905e42e41fb665533a55b9059ac1f40d18f4911",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/elicitationUrlExample.d.ts": "a9685498881eb4fdd6f26e6682d0da54013f531b1a0966f8c050b6c31e1cb6b4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/elicitationUrlExample.d.ts.map": "5c6f2dc7ece8e42cbb09fa5f22dea563c7c6ac43845ecd15fda3619de776ea14",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/elicitationUrlExample.js": "3ced042125a83f5c8c47f1cfd89180600fa8af4cb75b181953c238a93b92a1f9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/elicitationUrlExample.js.map": "00309bae87321b95b9e4f2a6bf7e6cf3a037878a96634fe1013b0ba07c0abbff",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/multipleClientsParallel.d.ts": "cf97311f3a6d98934243dd9e26977567563920d19cc3d7122c4f8e4bd033627a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/multipleClientsParallel.d.ts.map": "dab3eaad7e00b6d485e9bc77aa239010d2b17c7fc5fdb67b343867469681f722",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/multipleClientsParallel.js": "338dec1faf947c3012bcb076b3b5804f47dae1249c7fa56b95679a71a307e944",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/multipleClientsParallel.js.map": "6f3e9c744d3914ef2998c4df57f02c3bd8a0db9cf1b399cabcaa2050d671d2d2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/parallelToolCallsClient.d.ts": "ddca523f8ecd18edb583078b0ed8403300328e3a45e4ef396acd01ea342686bb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/parallelToolCallsClient.d.ts.map": "7b1ea7f32a734ea8c407003e7c9eed9c90c4336ddd39e0f59cf6189f983e5a90",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/parallelToolCallsClient.js": "4a516e0bb4b7e8563bec234d7886e0011778fee9e775e8932af72cf3c555a9cb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/parallelToolCallsClient.js.map": "6289aaebadb1e5a27e3ddfc2bdf0b237ad8cc778dac6dc38fd30103290679e3a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts": "33b0c155711481892e24267eeb3e8b89cc2e622e47089d0db10ad234b805c01d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts.map": "19b237531501e68a52e3aad65c968bb149fa3a999fe8f72411a8241e5636b5e3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js": "4b7eea1a44d89bb53c56e6ac12a4ab9e716055351ee500645b8f269a14fe677f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js.map": "eb7199f54c2defdb298f320434ad30e03de79c1954db49782c57aeb6cb1ea00a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleOAuthClient.d.ts": "42a781cd65d6fb5c9bdef3b403b291a5a149fca83ae161bb6246c6e25b498dc2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleOAuthClient.d.ts.map": "11e88ca38299d3245c65b034b549b43544bce9afda8d86c7a89b5d773e151f84",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleOAuthClient.js": "f9aaa18f73618f5a8f8d48b78b02e9958d342c5f7dded6560acd771b5f0faa0f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleOAuthClient.js.map": "2a127f0b51a7846cafb3437c48c8bfec7acf418b96684e6acf8130b3943a467e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleOAuthClientProvider.d.ts": "0bccc138f7519e06da1a820e9d4404f94b871331606f7abfaa2c13cc757aa5d2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleOAuthClientProvider.d.ts.map": "3aad23f409a4dc0336c970d25e87eb845e9ad4bce393ee81fb13914f3f791d86",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleOAuthClientProvider.js": "4409f3a413e194faff4c25552efe35ce0cca3d6f9aeb1e0626f30aa811ebe782",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleOAuthClientProvider.js.map": "ccae0d80b9b680cc75b13dbd725bbade3bf99858d329ce6a325147fbb616d1d2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleStreamableHttp.d.ts": "d493dfa003e8835caa394767377d2e13b454885432109ba5c1f1bc1c88cc482d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleStreamableHttp.d.ts.map": "c012683c5adf25b5aaa027eb58b466bca2d30041513c989cc699df6ac2b6d703",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleStreamableHttp.js": "10fc864d80f3f0fa0c6dc0f9ed8efc3925f489c6565d5f9787c695f5d92dc40a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleStreamableHttp.js.map": "94cb12f36d4c6a0dafefb3f4fb1ed221557d1bf5cc7fa1346dc8c86c16e9aca0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleTaskInteractiveClient.d.ts": "6179019a15a5949731ac4e9449952681e9132081c06398f83c42030a67aa253d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleTaskInteractiveClient.d.ts.map": "200f6827c2868647daf1c4fd3783b524db1ed4e741e666098620dd318ba1d5ce",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleTaskInteractiveClient.js": "5f723f84ebee5f6c44f8ab99a26bc2de3f3d17bb653c4a0793731623f7387d93",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleTaskInteractiveClient.js.map": "cbdc2ddedcfab9df4feb62f7d896e9ba0d6ee2db7e6cb8676c1773635c882ec5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/ssePollingClient.d.ts": "afeee8d6fa1e172f9221b8dad88c9e2eb99ea47522bb185284319a8214ace28f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/ssePollingClient.d.ts.map": "6ade1abc300b8f4434fd81ffdaf78414ad819fa0d395f414ffb88633deb196ba",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/ssePollingClient.js": "bd5d99275cbafa74f07d2e3fa4c7f7e855772e4bc87c664faffbe4de3eb0a4a9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/ssePollingClient.js.map": "7bcce58c016efc2314e7fb7f24b643b30f7b6613d2c7c9e5c40fcd7ecf5ab68b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/streamableHttpWithSseFallbackClient.d.ts": "f9cd0c31ff1527240039f5985a61de8dc8c8406c8b18c7a9b440cf97381edc9d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/streamableHttpWithSseFallbackClient.d.ts.map": "5f336b66de9f2619e6cf3348f85483813d4586d1aee22c6dba16898ce2f7d93c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/streamableHttpWithSseFallbackClient.js": "10626039c8559a809ec1eae35ee4b0e1473b1d3742e5e8908bf0af690fd9035b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/streamableHttpWithSseFallbackClient.js.map": "ef63b48b9c7ee048de969333430f73dfd8449f5d9b6ee9fb61896359471b355e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts": "6351be8a08b8b228cbb1dcac8aaef132add84f15050e6ba3ba8f888103242313",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map": "25d2197ef1f0db69666d10719c164da9afe4e9373bd9e8b34f6a838b41fb8e6e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.js": "192752f24d0d4b81b65fe7aa5c2b5ca255592a09b8ac27693615aa5335e369a6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map": "70744d5f74a35ca9e405a172ba24dff633d6366471aec054b40a7d8f3c1e6d85",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationFormExample.d.ts": "00b34e1be3545f426d23b121ae4e23f78d8d8c84f59255836b621858d4662da4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationFormExample.d.ts.map": "6c506c599e9356e257f6e7c811092df94222d09fa3b5fe42c66dbf6c0393e8ec",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationFormExample.js": "85547e3912bca0aaa164c8df27fe1b288f066aa218c99ca3bccc06fef02e8ae1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationFormExample.js.map": "1c8c12ecfcf48c11717716554e007f59a0883025f6dd0fbf517196da535efea9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationUrlExample.d.ts": "a9685498881eb4fdd6f26e6682d0da54013f531b1a0966f8c050b6c31e1cb6b4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationUrlExample.d.ts.map": "de4291b518249ff3f46cab158ad060534fd7d7e356460f969b24cd1ec4bd6631",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationUrlExample.js": "6b3fae9be6c046584b9a0ae71fca15f87fc0e276454a69db7de4e0801a9fa286",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationUrlExample.js.map": "91e13b83c550a929d67d74710272b99805932eb6799490ac9cfcd11fe51e0b1f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts": "b540f3fef1d4fda9b06f42c6c7c52805f3e95b0f0db90a21e8d746dc006c4425",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts.map": "98d7770bac0d99ff1619eaef73f0184851d20654484932b134d926009f8cbff7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/honoWebStandardStreamableHttp.js": "ec244f1e0323271839afa3eec030268a1f2499a3921d94fa7be5958721c92e26",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/honoWebStandardStreamableHttp.js.map": "f318558e78257f3d82cc35c8577a989da2855f02947194c6738092465c7a916c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/jsonResponseStreamableHttp.d.ts": "e62510f014840f113369fa8b5baa88e88f497c9c1388e4fdfe94f41db0cd6849",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/jsonResponseStreamableHttp.d.ts.map": "80a7315b93713d1a6805785ee885446e1970e7f5e963035e0b46f7f48297f7f5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/jsonResponseStreamableHttp.js": "f1453c871058e2b7fdd120a2f4f0cf17d384d8fa7d4c53d3ea88a449bdca20d7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/jsonResponseStreamableHttp.js.map": "4ac3c709f7b2a48518ffc7c86e2e30bdc33068624688c5df004aa8c4aa96716b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/mcpServerOutputSchema.d.ts": "ba52ca94c5d34121c7e7d10e5da365140deeb89a2b1874d3ecdfc325a3849b98",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/mcpServerOutputSchema.d.ts.map": "32a2fc1a782da315e7638862f793d5bb298e43baa9f94b9035ad4697abeb35cb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/mcpServerOutputSchema.js": "403e091ebc97038d1184bea68440775bb23a39ca39ca955987bd05a2a87ec61c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/mcpServerOutputSchema.js.map": "fe09a831f30a21dc1a4ad4c9b75bffe1a0b0aa3317c5195a6493c524a3d3a960",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/progressExample.d.ts": "403a1ae7d9fdd875751a1b17e80073ed15b95f4112b8b784f888b532357b052a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/progressExample.d.ts.map": "b816954a665a075cb197a03316aa930308943df300cb2a0e70b293e9ee12d2a3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/progressExample.js": "ac730c1ba8134ffca252fead980e4ad161407e6324b36325f5a860a1232d6684",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/progressExample.js.map": "10b7c14ac23c2e75ad52fc1491f335c04202d35245519cb5303bdb314476502a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleSseServer.d.ts": "385659de8a269ca5c05fa730d18ba28cf13818d4661bed2239a7408f22a1e091",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleSseServer.d.ts.map": "1073e57cc49bc8f7cafd91041dd9eb3797af898cee807609877a0c523ce8f425",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleSseServer.js": "e107efcff724cf5887e4828edac2d618c44314fb4941bcbf5ac69313f258f09c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleSseServer.js.map": "6167b01d2fab3b26e5ab33fcd7c19f336686d552ca99210a53c975ee84b3cfa8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStatelessStreamableHttp.d.ts": "d4dca66a9a1d2b828232d7caef5910a64530057b1701188475bb8a3f4a964d4e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStatelessStreamableHttp.d.ts.map": "c4c0961cc115bd507b817ef2e4388b671af6e1699701e4c38b14f2964faf6da8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStatelessStreamableHttp.js": "a18cca57b851b0aef28a665d74ebbead12a6b6faa97b055981daeac2cf7d2244",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map": "a5c3db1439986ce750bf9f0f87144fbc8cd1c8a13d18e3a2e050942ad139f76c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStreamableHttp.d.ts": "d493dfa003e8835caa394767377d2e13b454885432109ba5c1f1bc1c88cc482d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStreamableHttp.d.ts.map": "8da5252aae3ce2f029cee07189402a0f5a1826470536381601066f4448e5130b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStreamableHttp.js": "7ad017870e0046e5b7808263da1fee4e0cc92ea5519d95a68bc49fbf4c1e503f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStreamableHttp.js.map": "d91f867cbd17fde3fc35bcd5444c3fde2ec89a8c85092af63dd44ce83336cd7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleTaskInteractive.d.ts": "5cf096d6e721ad1f5e47145d01fedb8dc1b3a5ba4eecf262791e5adaf5c4d5f0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleTaskInteractive.d.ts.map": "c347fc21bc8b3bd85082bf5d6d8b014626cd59309a5ade8fdd47f9dbe17b7304",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleTaskInteractive.js": "7d5730aa9233cce1e093151eb03744d370bad0d190061a40a3fda9baa58c831f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleTaskInteractive.js.map": "cf5d9190cecc2eac989d112aa9bf5c8c8d14362b61c5998f5d45fc78a8ee7744",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.d.ts": "32d14e4d9f6e81b1e0a9526244a9df76763ba3ebb09c820c9a0db0b1287c233d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.d.ts.map": "755095fea19aa3d5437fd316bf8f1bd8c311001cba05553a145e292680343162",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js": "03171d22fd78669dcc18c4e0b69f8b0c78b52749105c247817625c6a1796b366",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map": "ae1b30ab2c6e2b8aa0b032ca01cdfa0a45cd8c530e7557d6eb3e804616865445",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/ssePollingExample.d.ts": "c4f0b29b45c6856919b51f6401f9068f493ca000fc2d32b95bd963734129c9db",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/ssePollingExample.d.ts.map": "925568add6fee126568167b05cb4f34b055175930be4ba911c4f4be71f126d32",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/ssePollingExample.js": "776be91c2869b0a1c6d17119bfd7388f3c143e9ede5781c8254d9dc82ca2f91b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/ssePollingExample.js.map": "bb92c48623724ce4ddfbf5975cc0d66215ef19f851f053e6b0dd47f43617177c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.d.ts": "88a836da476505d4bfc0d9bbb2aace08be493eb8c01566085e642bcb22757783",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.d.ts.map": "90c9e0d9c3cd19aa7a6e06cc0ebd102e7c14414d315070cdffd4f0cd2287ad9a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js": "fc14d04b5b4453cb8cb5acce19facd07c119cda66d6ef43280b275da57678cf9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map": "d394ecb34517ed18e278f013e97703f756272058a1196bf84c9523002a2bd7f4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/toolWithSampleServer.d.ts": "5356927d0ef16728c22988993225f8602aeeeede5365ad01ac94b9974b18a3fe",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/toolWithSampleServer.d.ts.map": "21ce03590322878a56ee2447c08552fa2799512af26696d7c6cdd292434fbeeb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/toolWithSampleServer.js": "5385ee36a5adb5a5fa63a56dc6a0c48f07d726a84ec6f925a90dd387f1260d49",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/toolWithSampleServer.js.map": "f86d20cdbca359d413b8dcd93242317727a9badcd0b83409470ac7b499403168",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/shared/inMemoryEventStore.d.ts": "e9d256033509f4e69117260c42b68128d5708c8e79cfee0a23a225dc4a77ccef",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/shared/inMemoryEventStore.d.ts.map": "ec274fb8889aae1a1995b61adc5916252b2540a3094658771201b3f114d7535a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/shared/inMemoryEventStore.js": "7ec663b6a4956f5b95b2fc3d6c15d892cb6f062b22c997c12bbc41dc951f0906",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/shared/inMemoryEventStore.js.map": "01639f66bc34bdab193a20d722e703f9d0bdba0765a3216db44348316db0ad77",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/index.d.ts": "db7708c4cc95e0f60efca96ebb29143976dba82dfe0e103f3c15d96bde34ae2a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/index.d.ts.map": "ba0690f1eba7d6ddf50feab2f1a8f46275fbf219d6a9a6fff102a353d8c46faa",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/index.js": "4d76bf6f056f784621441e1d5fe06310b1621bfcf0fe75e033ee3eabbb792501",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/index.js.map": "7d466ff35c6e7db475d3e4c30097c09d8b242f96dca4a1475689e5796322905a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.d.ts": "10f984c959d0f6394545aaf1b1e0ee5120e2ba00351b4dc2d278fdc0cf7f5aad",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.d.ts.map": "582296c60e6674b775efac53316e0ffd68ccc1d71e771ecf11d9de818ee0bf37",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js": "bfa97c01d4394fc53f9c659c7e156f96b1727b6d0052b0db52969251b9afe2cd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js.map": "0d8660cf9feb2990c34a409b04a7b618c88ce3402a986a6928a6f25473db2457",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.d.ts": "9023db8c173c505c66e72e11edfe2920633e4b9756e2a605bf9fa7da781399e1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.d.ts.map": "cff10ad731678a7acf4bacc9df23455af3bf97f6a47dc6df06435e22e6fbbd57",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js": "a63dc0811075b0bbd03d1f494512e6f516d2c5549dcabc70ef55861fb5e76f92",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js.map": "18bd233792dab853c4c2bff540ce1ab9411795df4ae7bff1e003af8424311797",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/index.d.ts": "78d47fe46f72a6d5a4bf817cd6e2ac26deed7e41c677a5869642850e1df678c5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/index.d.ts.map": "75fefc42ac932124b3d98e0b5432b9fec2a38268c7b5e075eba76696542f40f6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/index.js": "12d47df8d0c60eaaff9dc99e09279c035fe61c4037fec25a6ca5ac19cdcfcbb5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/index.js.map": "7aa03b0a5dd4bc0d9cfd4dbc82268fdc15ee7f3c7b04e68146832909ec3c1184",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.d.ts": "889c0d56020e7ef6aead7639c72cc1bceefe5e06d96e5b57249331b43c3579ae",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.d.ts.map": "e6cc036baea4684d8d6130ef0b1aa70c249b151948273c145842330471828623",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js": "4775b306f7fa94216783d562bdd33ca7d5a4a0372986a9229dc064c4cf4494c1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js.map": "c5d7a442402effd5e616787b1834de78e6a122e6a7f0b64261e05f437bd03f4f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.d.ts": "bed9de03b39d2a2010a13db7173c55104980dea603bea05844c95e71e5acbdaa",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.d.ts.map": "a8f011d23a20edd018bc313b30849bda26a5073cd665bf4070f67ad090a32e7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js": "32a3737b7e9242c71115f6609b120620b9a4df75f5a0f3b142c525fd71e3625b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js.map": "eaba28ead5423473636f591d2f2b9f1205af21c5ec003e3a494df1b16dc395d5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.d.ts": "604c9d1403b2662b731190b0dc00f9abf462aee0bc807375e520868f278fbf0c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.d.ts.map": "594dfdf67327b12688c582898466377c47aed4e8defb32b974cd611d46b66a2c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js": "73e535112c56ca76de1e8fea1bb177b60861b08c09adc635697a0d8c18cda1bc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js.map": "f489a2626b146e59c750014df0b4bbb45dd717de75248ecad81b1bfe3a251299",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.d.ts": "6fe18c77c174dc357fe9aeb5084555468bd003c835ccf45c92459d1ccc0e87ee",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.d.ts.map": "af730373904bca714718fbc3757a8a13caef87fd342b9f95765ef67c43e13ac0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.js": "8b18c27786eb2bfa2563e4ebfe933649fff9ae23a7ce00d8fb70d2931961ceee",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.js.map": "14146e08d67defd0dd95614dea474018372d2aadf7b6665c5d97f1de5bc60015",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/types.d.ts": "42474121cc99602c81358c7a3d89a362e15be166668f914c48ac737bc991da80",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/types.d.ts.map": "37503a66051a192c582a07e87c68ebe63da3720a2e2de00b3feb50a55861a149",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/types.js": "6a8d4fbdbfbfd2769742da068ca56c6de895bb615f3feb5425eb5d6d71c3bd46",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/types.js.map": "f8473081f282f16ed00ad9052f12c4024d28b9137a8b7f4d3cbce8f917db9b97",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.d.ts": "9e8277f2b16d0feb52bf1fa6f433c6cb3d20ee8a9b65d698dbf40f47f6c322d4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.d.ts.map": "46c63b849378fdf27c8d3a0ab77da06667a9fc2f12d3e82f2a9619a94fe04bdd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js": "8eb57dc4b4c0993869273a5e01a35c71e8d84c3d5050e9871a8cf141360f883d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js.map": "c08554e1f56c789c218ace71975240d780b154513571bfeb4f13bfb970cd1cca",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/package.json": "48e847860dd4f0907ce91e346dbb00a4a12213163ad3d80a953c343eb9a11979",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/clients.d.ts": "10b45db07bdc125492398a2de9b294299a9314dcd2f7bbdf76cee75456c9b625",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/clients.d.ts.map": "7db39417cfcd78f088f29e095c93b440ca69d36c6e5934980da6463c82d50ec6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/clients.js": "63fea004b50701ea177159926054960af5716c3e8363d4b51108d3d00aae4eab",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/clients.js.map": "9d585a806d258815fb0281fd336ef98bfa254b18ac3a36e39b27296d4f36d7f4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.d.ts": "5a93fa71c204b212bb8e8a97825b606ea8a9bac41fff5bd7c13ef9917bc04360",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.d.ts.map": "9667413d24fb9138d9105aee22218b86df4b2bfa73048eef817d5c2842b32c92",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js": "55e8b8364ec5075f3442f7e7bdf5b98b106693639cd7a697ce096bfa2b9b7176",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js.map": "248f5a5b30139c089bbebd0633c9dbc171d06b08c2cffb025d75272f458d1340",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/authorize.d.ts": "be499fd45457a0dc4e471a576a5f718a68835f63eda6b974d7409c74f284a876",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/authorize.d.ts.map": "b750b1ad580acc7b618a574dd1d410e5dba9487f77e2adf0f32b424837e13eac",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/authorize.js": "8e72957497af859b8f9d4ab9ecb0a4c54f153405be8364f7fe7df4b7a3fff028",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/authorize.js.map": "2444eaca5e1b52908c608cb7b654999ced0de32a2b51e363fe308459b0619e35",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/metadata.d.ts": "cda09dad62870e0a0d25c412fd6cfbf846f270901bf552a6a055199079968d1b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/metadata.d.ts.map": "ceae99d3c8ac07cf9411cb2522c98e695bf914f40eb567204699ce2f6ec65878",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/metadata.js": "b1ba9388f749943581c43aba6073cd1235a84c0edbbbc5443fbf485dcd959e06",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/metadata.js.map": "6ff99501ba0241867d93a4e844a4bf6e2e9b9b32518b27fdf1291d8e59fdad6d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/register.d.ts": "6e69684f82a6067111ba5214a66d1eee04edb37c5256bc150b19d06da7a4c368",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/register.d.ts.map": "e89b286f4dd8661335b7c91c48a78d680cc8531b00fc0cf2181c26ae3e436931",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/register.js": "71e53451340a8d5b99e41bee4bd9c8f13a1128f528191fc4c750c88137c46aec",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/register.js.map": "ef049e750e7f6829365d333b62346745d421da8305936dd6c113e787cd67360d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/revoke.d.ts": "f2a001eb3629765836d85cf5d99a76a33eee41df8a36461169eeddd518b13dc9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/revoke.d.ts.map": "6dc7fd02c84fd1fcd44a6bd7743c72594499776a6968655471849da797540d82",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/revoke.js": "a4ffb351b42909b09946a1c8f397d897930362b54e9fa44bf8cc7e9584f9e8b4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/revoke.js.map": "99fbe487aa233c13f48040cdf9847d6ed2965ee5a43cf453381ea64b5eddf301",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/token.d.ts": "f2d4e42d4e1684d829c458f661dd8a1dbc8339b48fd701977335c37158aa6f93",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/token.d.ts.map": "36dd525e074fd20dece949a3b8315a0c8846cb75ad7505b2f8ca06da7209b0e1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/token.js": "d202268ca1279e9545fcf14b949f76163a8694b61676a68e405e59c3ec1b0898",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/handlers/token.js.map": "abe42d086fc4bc3df507918ed62873b085f1ad934ca3b3cf2b08db295412ee7f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/allowedMethods.d.ts": "1193a94a487d5ebe828df124f470835fcfeee9ce3b0b0c33d5027146ccd79564",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/allowedMethods.d.ts.map": "dcb546c3cb59fb56f2832734a21c2fc4406f07d76044b982c072fb4b07ef69c6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/allowedMethods.js": "7dd3a0e8925cc9cce5b84942e42b4de01f0452e3df516a3c602fdff985a1724e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/allowedMethods.js.map": "ea5cc78dc5c050f31a5544b09fc48b56e53fb757772d133e82feaed203ae33b6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.d.ts": "3b01226577355e14c89149fde980556745cbf8ff8226220594d9e3bcfb767609",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.d.ts.map": "fa6135ce212966288d6fea56cc9dafbaa4013a8c6211dfe46ec0d62ec03b30f1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.js": "616dd6b3a4af5eba9fb74dee4917148a45fb7d83a1656a770e5e23d482ba2243",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.js.map": "a462741711b01219a9b1371342855d7b602e175a8d5df32d59e3bcfba2975f97",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/clientAuth.d.ts": "534f1f039f670a5d34b99ec13de00a26764c6af72effca845770342b10e8c607",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/clientAuth.d.ts.map": "9318048ec2614d72bf83f808a50f230556cfe971c1101860984e9586d577a8b0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/clientAuth.js": "4685d1cd7beb705a7ed25964a57f2eaf46e59adf371684770c8ca6da041bcf6f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/clientAuth.js.map": "47f4b8fcfc0c2164d7674c3f74f3d4c454b9dc9df7dd9cefa92b91f4493ab8b8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/provider.d.ts": "bfdbbc8d7f2e0c1a4a69b945af04ae93a995b7c134294abcb8532f80446dffad",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/provider.d.ts.map": "b334e1b088c35c2c892a95db9d34f5be50dfbb3f9c0974c1db61d21e9478802f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/provider.js": "3d25c1828cd404f9d81e3b7223f6198cf7919836d8be57289a7001c2fc6661d0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/provider.js.map": "6c9595e18422b9bffbdccab5af28052fa3e108e9316d2f0d5d4d8cc1ff7c9cd7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.d.ts": "086cf685b8ac888e5ba2d3ff091e1920b5bb9742bea5af00f58ae8ce3bcfceab",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.d.ts.map": "ed131b5920e52dc7a80babeb53cdc183c3d975248b10538aec8d677f54ba0f9c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js": "36590d615615ed660ab2b1e4230efe7e25bac0d2363d51509765dd04186c261d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js.map": "4f627fa230333293ea84357c2dc4d5a6bdb4c6b4a25c329b910f9c2cc1a7616d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/router.d.ts": "f5eb18f3a4b1a366622b4880191eef9e7b12581a686bd7611c27e59b527364e0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/router.d.ts.map": "9cb607bc8a618329edf16df23043edef9bc0224a1c074f1231bae57f6e03d069",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/router.js": "e00bd0c8c1f72de008cba2fa79ef9800b12c605501d77ab7c0f882b068f76b7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/router.js.map": "8e6277ae889e0413acd8490f9988f4b7def181b77da4e38cd9a21afb89979b92",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.d.ts": "106d2e4be2d1352f266d610a47021dcfb368e28c507a7beeaae3f07394dda2d9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.d.ts.map": "53b21d6ce7534e18369935476c8a75b5c3e4a47fa593f33f6794199dfa17697f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.js.map": "5dc45916f23e2c7f3881ef50047fb5896dcb0e251833079951326a00d86df839",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.d.ts": "562e0ce2b6beae4ea6cf38e867cccc0806d38f0f38a3e1e40b1d32376f3eae50",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.d.ts.map": "beed250c3e27ee8d62d80787e5c91a4755e7d8556d1c23f778fa13769943e411",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js": "879f49844d162cb0f70620241c87041c31f5bc53deabb27566b0dc430fbee665",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map": "a02f98e42c161fb12d183f6bed1c35d536dc211ab03e750851433a98a7c9fb66",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/express.d.ts": "3f662ab6aa827d33cfd225da6fc15edb5b08f4c31a5a99dff9e8bee6e757f68a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/express.d.ts.map": "1b3a30ce698af2056d20104fc4c98742a891c47b61de9e9d9aef07ece85d2cf7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/express.js": "49b60b26ee5a21108853d5a21ea45b6ccffcc388697adc8168705e22557703f5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/express.js.map": "4608841bd3a81ca96c27eccb5a3de754d420972064bd09022b4f32eacad366d0",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts": "ecd9be374cf01ba99c9696e59b50f8baf8fae65ddaa43f0d375471933f989788",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts.map": "32db73a5d024a3d3b75f18d5c7227349b5b2bc7b406a88ffb4a12241f65a643e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js": "8b4fbdc0d0bbdc9ad74f385c41c0152d85445187f47cfc3941ff0d2a14a2696e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map": "1265264b31648189e367696d8c36ecb2e977d4006ef3d13e5a121e7348175315",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts": "4ef9bcb6ac0e97ce5387ecadbd132cb23e6cda3204b216e9ba367efe91aa946f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts.map": "1c549059903177c10e1b124a1c6713a1a5aed5e846e3670e841025b894d58a86",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js": "348747d38b81a41de654d0eab963823b69fc8b59efb58ca1ad9735554f27a188",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map": "9080625430d590d07c146614fb9d5c2702f68009826743d84c5e4fb88d6815ce",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/middleware/hostHeaderValidation.d.ts": "b64109e99f0b635465630e654df4464c713c26a6f3c7aea700600859fd0ac7db",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/middleware/hostHeaderValidation.d.ts.map": "484dc78a660c2fba0dfa2d1cb9366a0bf0564a48226508dafe429811e7855f5d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/middleware/hostHeaderValidation.js": "d5d0aea03b47fcd8c02b0021f532d66154d6a7a5781851ba9587e729e594e0b6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/middleware/hostHeaderValidation.js.map": "ad8f06c553dd0d179342767f6a9a07556a241c1778ce51995bb0cfc17ae043bf",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.d.ts": "4f0a62e9d53b10f616dc1337e9b1fc3d7b0777f8dc32daaa095e3d9383e49c96",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.d.ts.map": "1027e577b7cf090907c92d9ad16a77b9d58f2d96f51e5304d800e73257acbb22",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.js": "26f505ecc3270e105d3eedfe82897a9b2e8ec2487cd8f382f6749beba71206df",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.js.map": "63af7f652ad6f25078e1b2dba23525318d71bd8ad6e096252d481c9afc44c7dd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sse.d.ts": "5c435aa7cca26998511dcc4019319066f3d9ccf86ddda45d9b824654d1ea8f56",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sse.d.ts.map": "296f48d2c0dc97b51758fc843261282b65a615a0073376ddcd1a9a244346e96e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sse.js": "12a3eb28790d6f468fbf21ab94031bee18a353a690961e399fd899e14d31c1d7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sse.js.map": "0c078c800c5ad859f969c21e8ba62001acb2b604b2c3367e67248874bb92ab83",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts": "d67c7ea7fee07758b306473de31873606afbae0ba2463d79c99d4a7f4b3ead96",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts.map": "de0a1dabd0bd4af5b04c3d18a0ce775b1bcd9602da7c7f9b64b06c7ba955b5dd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js": "266568ecbce89f85d77b92373ee1812d6669ce91c07d5cd4bd4752d0fe6721e9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js.map": "1e8024b4b02088c93fcda3a7b29063633f89f0f04d1e379612317141b17566c5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts": "9afd00f33a32d0ea31b8433f3af7a97b9bb371e75650766d56bc30960d6e33e3",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts.map": "038ca501ad46485ce1ce46d17b6d0217b54e3395e70ea65047c96d528cb971a5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js": "91ccf96ee65c36dba922bba429f127865a8e4ad03d252126aca2e03c526c005a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map": "1d43ef9385da900ac0af06c427b327dd4906521f8b8d22f4e0773d9b73fd0685",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/streamableHttp.d.ts": "425b22fcc2fd435f20a99a0f8ac9babb39aef8b9b56749f735b13b1410cc0413",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/streamableHttp.d.ts.map": "790e132a0147018b11cf0669c578f7edf3ad6e2ec58e445c90a95eb9a147fcd5",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/streamableHttp.js": "e811d93af3f5e62497cf208ce162761c64cfd1c79fc4a0d8c77be59e0a77360b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/streamableHttp.js.map": "2ff1609c7eee72911fc6662fb5bf3fa621327e5cefdf1e7e869f3c29597c89ee",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts": "55257490a300212787b41bb4d8df9ba70f701212d25c4e41b6294d1d9c400f62",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts.map": "e3223428fdada0c247f0ae3ecb73c7125808f4c2dd73d2d1732fbfd405748109",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js": "8ac6b6a32299f840377721c55ba4b938dd90158a415c8ccf09ce3cdda131897d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js.map": "eea2c0e794a438910d04182bce5fc10cb7623d313aee5ce6559c79169c2b874e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts": "361b4fff69ca3e465ca01f81803f83815c2b19f77fe7870d8449a7d64e337f7a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts.map": "63628d4ec41a6807a226134ae62674da71f29c6767b18c06f741bc665b073d78",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js": "66b539b003646258b9d82c382f2832836291e4ce2b0a37e253cfdc1222dafde1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map": "2bd67f914e7a717958a7450812550969665d9f7a82f2b1e0ffb76cbcf30577d1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.d.ts": "8ad0f709b1e79ff8aac79a814d466daa2da7f8e36e78df98f381507fdfd7489e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.d.ts.map": "9621783d25badeff80e35ea4ef87d4b68ca52f77fa50b6de2456e60f7b25df4b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js": "c639ae841e53d32479cd8e4df2f373400cfe9b44bba072cafdf34a7235990dfa",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map": "2c68ef7f8c0db74177c71b90907066e87bd9d6643443b30bdb1253427821577e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.d.ts": "5b9268edcfc32085f43c1f84b81e0003154b251df345067489a94898e5e9bce4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.d.ts.map": "cb215d3aff0ce5bb9797bf3398abc365b84f421af8f2aa6cd25aa667b21ec574",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.js": "bf0e4cff75b49af1f090b48901d2ed51b44280a1ffcd18ad5286aea21951560c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.js.map": "3c7ddb5d8b0f0d9a62659b966e613d1c4b0ab98e3956c38da75bed7595698dfd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts": "871266b183fed7a6a8a1bbc5f18c4852e5a0fcb30af5c3efe8aaa4e0b7c9bcd4",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts.map": "9d1d3ea0016eb5aff3dfaf8b6c4916cdc988929314b38b78320474b557ddc200",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js": "45f37fafc3a0c7c916a1b443c3ded3c063ad7950c40e7d5a554c0ee19fd8a8d6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js.map": "fc96db0e5cffe4b93337a261364efe8fb1de18adb9605e22f42fdafe8a4b8c9d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts": "bfd17ddde15e22f23c7f5a9828027a473ff08ed69d46de9d84b847ffade4dd70",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts.map": "cb911233fe55d72cafbfebef26337dfafbf3b3e4a972fcc388dcf987a03c1c3d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js": "54f5679d57cf07fffcdf8e8d6ccd922021f6daa0b3af578762c12eb691355032",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js.map": "b86729e9564ddb406ce60905d685d8beed297e4d53ac25d94c86823fe92e2cfa",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/metadataUtils.d.ts": "3238e5ee802337c23db93d38795961e57ec1d857f86309252f2f81fe5d4dadd1",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/metadataUtils.d.ts.map": "c74b62b369f20c1e76d276c46c7c0afaeb375f583e3eaed9ffa7dbd91ea41510",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/metadataUtils.js": "c7bf596833711a23bbe52132e7a3b86596f5ca033070cc08ccb5a80043bd556d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/metadataUtils.js.map": "a2d503720a3dc132e3410c2cca56857389009fb8329ee833aa8a4bd3d101896e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.d.ts": "96b4b92af72b0c0b617bfe6fe18bd0016bf28c3363bf6113d69719d48ded6d50",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.d.ts.map": "2bd84aba4ba4fb28dff208d77354bd30fadec3adca5dfd02fe62add4195abfde",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js": "7ea9524fcde13f9bcb7ce4d1867fd28c7844b6311b43e3a816bb019a3b61e445",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map": "889a0f95d4eb1c127abe93054fe029526c72606141283e90e8e576eed37ed8f8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/responseMessage.d.ts": "dc94ff78ce389635f8320c2814824cc82ac9e048d41ac45b6207030265d0df69",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/responseMessage.d.ts.map": "75a8b5f4feb8c86fff928517661cc67f8c34334e3023abcf3c76672e1843985e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/responseMessage.js": "c465e4ede63fd5169e63f56fada3ff91019fb752695869c61c1446f89bbb1308",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/responseMessage.js.map": "1eb09ed24b6d70190bd98a33e41f8356b19f63433a3d4ee493b4f4d3204452ee",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts": "8a014a87c4bbe9865f96236d3ab5f461becc29b92cbeca4d01cf80c9c03e7a13",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts.map": "b97f5e8af34ab1e19e9de0c2ee454b2a615b7ac7904dc6f478fedb34c82e1e88",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js": "0e5c9d7062e97b9fe501f45f553ac73b3461e21d861e6548ee0903ce2b08114d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map": "46a5bc93d47a6350f0598aee6d82ce5b7d1d84fb13907a4ffed98a1205e910ff",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.d.ts": "3068163a94d7815e811d5e05bafebe9fd2d18e68e983bd6f162efc44a707b04b",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.d.ts.map": "622af084b0312c9dc6d4e9b33e5fd9f2386e825a001a9c5b167e53548596c177",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js": "3763306540e3ec9918aafbd77343cc8fb5f5ad7fb69c6f44d25fad4b4c5db382",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map": "45bb4f92db7220841e3f43e238f8b20fa112fa3bbd8c8419411632fc9790d6da",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts": "7142760b78460b082a820582ef5c2259667cf2474801d1c538e6d9b30e7e3eab",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts.map": "3cbf43edeab4741379332643489efd9104dab1c3e4250cce74884797ca1bd650",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js": "f7dcd589ddb082ace39102be318b781992eca999bf0ecf3468bed1d8a4cc67bc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js.map": "74f4f1ea1c836d466a2b7dd9f4055fe9b720e149ec164e9e8150c792295bae96",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.d.ts": "a6cd848cea6d42a5ab781c8594817a678db50a38321c2965d11b6cc03e382cbc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.d.ts.map": "ad609fe121cd75820d6806cca00a97288e57d66027bdd9f4e27861981ec17187",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.js": "b776e21fd218355580ca2b700a97be59c195cd21733342a10e19fd9920568070",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.js.map": "47965bfd40ef74edd8023c268b0895c3e93650e9f8f204ed9b55a00ca5df057f",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/spec.types.d.ts": "f612706dcbe34de49a77f2458ba4e0ef9e767efffc0f38024e3d84a8f1f66414",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/spec.types.d.ts.map": "d68a942295145ae3d9eeb20296bb0cde2342c6f9ce276af2708ea45fbb988c83",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/spec.types.js": "6ef83b1cbb29073dabaa61214e055d956ab56b3dfe34d2e86d5119fd0ad4d6c6",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/spec.types.js.map": "75090751b7844f7fc247686c72cbce1c994be63e6f521594c16f011352251874",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts": "992f47b4534fed1f6064c90095c171d60118412a63d4432b5983b08d0148c880",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts.map": "dcb9a3cf1ce524e3252fe326a679106744fabec31614f2fce943e296f491079e",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js": "962836b0f8dad85bcd398ad3ddb5ba81a7c7530c706955aa846dd8dfc02dd6a9",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map": "0e8e8b5ad88f54ca35f5e51fd95d95400e932b341485f1de3611a202c42a6d5d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.d.ts": "c14ff5fef3b5b43b181a0386bb0263d82a88242d633ddf46212372fdef8afe03",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.d.ts.map": "5488243a299cc8ce32c2af808d8f17b5b5a5028f69c44fa3a004c0b0a1733e0a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js": "1893726b2b43d0688e8c37ce48b3c5f87a55eb93ca370433f882ae81c09c491a",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map": "5b761293073131c8e358cadc944e56539fa8dce1bc8c2da2be32643d447d0abc",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/cfworker-provider.d.ts": "9b8951f45670044147b9e29f91f9fbf6600d89745a284dbf5cb24a1466114358",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/cfworker-provider.d.ts.map": "20f6043846fcd696b071c31d28bde8392be6cb7522b01b29475647ef27dc9b1d",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/cfworker-provider.js": "6f05627d2fc6389442aa6eb382a9069d7609b07ee7bb642854c8f88753cbcffe",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/cfworker-provider.js.map": "69a328b0247f5fbffd4e436768351b57c0bf849cbd94a2c97bbfd61ed695dda7",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/index.d.ts": "09b44568e0d176d287eb949cf97d6ec04db5e197ff9552a963acbc90893c80dd",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/index.d.ts.map": "9798345c9fae61f38aee9a5ba94096e9fef9a9d4ac22e2430628506b634e383c",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/index.js": "3d6ecbe8cb24e8207754e1f32016b92797cb4c932442395a6ed203f82ab3b3e8",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/index.js.map": "68fd0f4a15137236b15d673cae39bccca0fd1a45acd1762ea83ff6b349a45f89",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/types.d.ts": "d58e26bd30e5a3390e09efaecdd81375978e0ca778715687d7728655ed19e337",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/types.d.ts.map": "e4b77f9e3e8e496fd978f649724c93a7b1967cc1418a52be06a5dbcf43b7b2fb",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2",
    "installed/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/types.js.map": "94457656edd55e7ee1140990876d85676838662e970ec802dfaf642417a29c64",
    "installed/node_modules/@modelcontextprotocol/sdk/package.json": "0216319ea53177f7ed419d660b2f52ccc7e3327e57f9ee2ef03225ff543aeae4",
    "installed/node_modules/@upstash/redis/LICENSE": "85cfb556dc2b22b55d2565674fcdaac82f3f2f6b7a928d27003132721bb6736c",
    "installed/node_modules/@upstash/redis/README.md": "2f1d7172b959e4995821e2726cf1670cc781aa65de72799b6ac060026496e0e7",
    "installed/node_modules/@upstash/redis/chunk-4WQYU7T6.mjs": "6197bb997878585ec19eb819993ab9f30834a659387fccef1dfee445af5a3c92",
    "installed/node_modules/@upstash/redis/cloudflare.d.mts": "61e6ab6a9ba76111aa202faec95d6048616ebd77511563d90c8d1f7e11bf7319",
    "installed/node_modules/@upstash/redis/cloudflare.d.ts": "4467d656d7d32a7b35e528d6fac27448500d70030f06774af6888033e243b3e4",
    "installed/node_modules/@upstash/redis/cloudflare.js": "38d039340fd459b5090009c364244852d4bc786d3f8611099259576eace05e9c",
    "installed/node_modules/@upstash/redis/cloudflare.mjs": "2834ffd132a742be2a59e80d48697cd7c3513533c552f14265b724fb20288da4",
    "installed/node_modules/@upstash/redis/error-DOszGRxg.d.mts": "317f31e106ba2e595e1ff350910626d744c7bf125ac280db52c1d227b4ac8ff7",
    "installed/node_modules/@upstash/redis/error-DOszGRxg.d.ts": "317f31e106ba2e595e1ff350910626d744c7bf125ac280db52c1d227b4ac8ff7",
    "installed/node_modules/@upstash/redis/fastly.d.mts": "ffa3b3e34a3976f1e0403c0346ecbeae4d9f470caa890d24b019d87eae7bbde7",
    "installed/node_modules/@upstash/redis/fastly.d.ts": "e86ec9841727d2d536ec3db969a2c4c13a9476a4ce8b8c5f9c7b5d860f214f29",
    "installed/node_modules/@upstash/redis/fastly.js": "4f8a8adead230b2ddb06471a2940e9bc76fc23d0c801e4b837054af3959273c9",
    "installed/node_modules/@upstash/redis/fastly.mjs": "d8c2188edfff982a2acd73e94cb252dbf887a7b5be9f02c9968ddce0e8910594",
    "installed/node_modules/@upstash/redis/nodejs.d.mts": "332e7afd8e7787ca694b7d2444f30ea32b7454743921a506359ee38df909d1f7",
    "installed/node_modules/@upstash/redis/nodejs.d.ts": "107a38e187d357ddf84a2e366b4861ddbff16b5762ff6163ac19663d193f06cb",
    "installed/node_modules/@upstash/redis/nodejs.js": "d0ddc9c3e2545b5ff5a75c1dfdf3697142d394b7276ad51116a2130f3ba90919",
    "installed/node_modules/@upstash/redis/nodejs.mjs": "adc6f778dead4c33696961b8325b8c8840b070efc99d6cbec021a19c6f94ad7c",
    "installed/node_modules/@upstash/redis/package.json": "75bbb5988a8dfb5717aae4a53b27e47e53f5e54514b333e763f07d9d8ed32914",
    "installed/node_modules/accepts/HISTORY.md": "ff3a692579dd5a32be32aea9d86d4f027ed57e0f5bae39674b9cb01cbbd3dd7f",
    "installed/node_modules/accepts/LICENSE": "71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6",
    "installed/node_modules/accepts/README.md": "e7969a08a5e6d6c4ea8063941275554e51e146113cb0ae51a94060268b68b7d3",
    "installed/node_modules/accepts/index.js": "541417f7331d7c2041a7ac3e58df6198d6ebc0df04c4cbb2148de719b1dc4edc",
    "installed/node_modules/accepts/package.json": "c579f3f992d488ac2f4ae751df8fd4169f034f4b6f6716f9a3ddfaf130993d63",
    "installed/node_modules/ajv/.runkit_example.js": "e37e85bf1db5d53a6e4e38a9cac83db25208f28c09a2fa19e3971877c8a7b8cf",
    "installed/node_modules/ajv/LICENSE": "a05350a88e318e4f5f2c2a1ff1e2e88daa4dd38e6e78b71cccae422bdc762cc3",
    "installed/node_modules/ajv/README.md": "38d924524762b917dd9dd341ac28837df51a474bf198ac4c26ba69d8f59a27c3",
    "installed/node_modules/ajv/dist/2019.d.ts": "1e2bbd6318653c49684963a59066e621a3a142ad23b5e809e430e73946aa4223",
    "installed/node_modules/ajv/dist/2019.js": "4a1b1d479d0b946af0119f3a3960fcabfd964e1c20e87f7a9575f8f9e705d0c4",
    "installed/node_modules/ajv/dist/2019.js.map": "a91b0607c55ef90f269dbefb567c975cfae953341c13761c43b7f8b78e44b91f",
    "installed/node_modules/ajv/dist/2020.d.ts": "66a5ace456d19768103c1da9df2abafa9cb2e78ff61c938746527ec2524e5d11",
    "installed/node_modules/ajv/dist/2020.js": "908e9670b478b2ba126802a221b7e47006f50cf467e2c5dd7935d3dbef10a20a",
    "installed/node_modules/ajv/dist/2020.js.map": "845f8c979380377abe0db2a8a8ba9c5484d88cc69dc6704db84c6fc176b330d5",
    "installed/node_modules/ajv/dist/ajv.d.ts": "41b8775befd7ded7245a627e9f4de6110236688ce4c124d2d40c37bc1a3bfe05",
    "installed/node_modules/ajv/dist/ajv.js": "edaed56fc546f5551b0d6dc2ff2a9cc25c2d6c83318a086eaa8c3ad0b2479297",
    "installed/node_modules/ajv/dist/ajv.js.map": "f6a0d17a5cdb4891ab056a48c852cc6dbb5e5ef262e3fccfc9021782d3714d44",
    "installed/node_modules/ajv/dist/compile/codegen/code.d.ts": "2d225e7bda2871c066a7079c88174340950fb604f624f2586d3ea27bb9e5f4ff",
    "installed/node_modules/ajv/dist/compile/codegen/code.js": "1287153722f1fc3c5342647de7ae1d7b6fb68bdb3378a0776a937d273fc97e0d",
    "installed/node_modules/ajv/dist/compile/codegen/code.js.map": "6662bc0c87dfefa43cabfe916340b03c128e6b4ffe8d08d162231a337299fe60",
    "installed/node_modules/ajv/dist/compile/codegen/index.d.ts": "c1422d016f7df2ccd3594c06f2923199acd09898f2c42f50ea8159f1f856f618",
    "installed/node_modules/ajv/dist/compile/codegen/index.js": "f03b2b72597ef86878d1d4030580c2d0964046efad4867f3d05aa91065ba034c",
    "installed/node_modules/ajv/dist/compile/codegen/index.js.map": "081d235ee23ad618f56c6bbda22b646522cba1b20534711fddfdbcb2b075affc",
    "installed/node_modules/ajv/dist/compile/codegen/scope.d.ts": "6a785f84e63234035e511817dd48ada756d984dd8f9344e56eb8b2bdcd8fd001",
    "installed/node_modules/ajv/dist/compile/codegen/scope.js": "d2a0a97af2faa2cad88702314fe421e235ab17f11e0d62883d58d8d4dc734286",
    "installed/node_modules/ajv/dist/compile/codegen/scope.js.map": "a5a146bfb90c9f6cb861d91503437e230f340c410a63400530e1bf493d84b0ec",
    "installed/node_modules/ajv/dist/compile/errors.d.ts": "cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da",
    "installed/node_modules/ajv/dist/compile/errors.js": "53990f8f2cc05922bba410ae68231d3f869de4f8343277ede5b4834fa564c6c2",
    "installed/node_modules/ajv/dist/compile/errors.js.map": "5dfef5ea1d9707666aadcda54e93bff03e3a7f9730aec490ac31e5203eccd294",
    "installed/node_modules/ajv/dist/compile/index.d.ts": "62d26d8ba4fa15ab425c1b57a050ed76c5b0ecbffaa53f182110aa3a02405a07",
    "installed/node_modules/ajv/dist/compile/index.js": "05b34da22814f3787bfa3ac68dad59c9047f56e55a607e0a20719ebf5afe69ac",
    "installed/node_modules/ajv/dist/compile/index.js.map": "ad95a3a7cce920acd10b89d06581e3e2542bd0b6a4b44320b55bd18531efe99a",
    "installed/node_modules/ajv/dist/compile/jtd/parse.d.ts": "122c92735f34b67fac27fe091234cc879010acb26f67e130951a90feb68c0c49",
    "installed/node_modules/ajv/dist/compile/jtd/parse.js": "548b7e6ee5558360945f261e092cd328662868995877140ed2ae7ff981300b7f",
    "installed/node_modules/ajv/dist/compile/jtd/parse.js.map": "90e560b9f7e4b32959b514576dbb0d3a9dc3466e0ea65e0f3ac53e7bb34ab1c0",
    "installed/node_modules/ajv/dist/compile/jtd/serialize.d.ts": "173d6861b4b5265329e78219a2dc7e5b05a805337707f4de5ff4f7842a3ba0f9",
    "installed/node_modules/ajv/dist/compile/jtd/serialize.js": "1f8b1873fbd899240cd625144d3cd10630b3cf1b0c69c640566f6e25c80765c0",
    "installed/node_modules/ajv/dist/compile/jtd/serialize.js.map": "faaa5b0f5f27386d08abac9a54613bb4823fb5991b666715ab475ea85b391acd",
    "installed/node_modules/ajv/dist/compile/jtd/types.d.ts": "456178f9a8feccf812324213ac362aa49fd3e7df4369e409d398ff072629cfa5",
    "installed/node_modules/ajv/dist/compile/jtd/types.js": "e92a89e57c3b7d228be4e2e74c71ef3af52320bf061b411add9dccc34ddb0a78",
    "installed/node_modules/ajv/dist/compile/jtd/types.js.map": "b1c351a2a5810e00c4bbf3814fdc6b83fde3b016a79b8c5fc66cb32a0988abb5",
    "installed/node_modules/ajv/dist/compile/names.d.ts": "fd8346be5f0bb7a9ea588a343420bcd88b12da1bcd40c2d09c7a0d2990b51576",
    "installed/node_modules/ajv/dist/compile/names.js": "3cab37a2240b996b9bed92fe7a041d91689cfe3ad2e9ae4c0ab99e4146408493",
    "installed/node_modules/ajv/dist/compile/names.js.map": "2b28eacf577a5b5b2a6bade9e61097af1e84a4fb848fca153432e5c5a239e7d7",
    "installed/node_modules/ajv/dist/compile/ref_error.d.ts": "3d7f9eb12aface876f7b535cc89dcd416daf77f0b3573333f16ec0a70bcf902a",
    "installed/node_modules/ajv/dist/compile/ref_error.js": "81c98fdf34c3037c91bfcc02277ec32156c71e34048f36cfe4e084416e916cb7",
    "installed/node_modules/ajv/dist/compile/ref_error.js.map": "3101f665a6485ffee1c377d4cc015d9bb23af186ec941907afe03386406adc4b",
    "installed/node_modules/ajv/dist/compile/resolve.d.ts": "e0205f04611bea8b5b82168065b8ef1476a8e96236201494eb8c785331c43118",
    "installed/node_modules/ajv/dist/compile/resolve.js": "df75af0e0cf03fa1c6452e8dc61019f5aec645a8a5f6f494dc4e13cb5502d2d9",
    "installed/node_modules/ajv/dist/compile/resolve.js.map": "837e46750307e91c812466a0549472678800b29c1d3c9373f41fd795cb88c5ce",
    "installed/node_modules/ajv/dist/compile/rules.d.ts": "2973b1b7857ca144251375b97f98474e9847a890331e27132d5a8b3aea9350a8",
    "installed/node_modules/ajv/dist/compile/rules.js": "ec1d86500f497aa8e20f9f0c1695951159d9a909669d00a261ce1bb22b3cf0a9",
    "installed/node_modules/ajv/dist/compile/rules.js.map": "d5c077c6e1149c7e92fcaae92def87cd549f9407acbbcaf5a27dd5a76fab67c6",
    "installed/node_modules/ajv/dist/compile/util.d.ts": "0eb6152d37c84d6119295493dfcc20c331c6fda1304a513d159cdaa599dcb78b",
    "installed/node_modules/ajv/dist/compile/util.js": "fa911f5631f29d4d6420adfe086cb693b94b08de2719475c78c54bcb82f831a5",
    "installed/node_modules/ajv/dist/compile/util.js.map": "9deb815ce282c61c7e68adbd649aa7efe1e58f49e0b5c18d022d2f3b3717f442",
    "installed/node_modules/ajv/dist/compile/validate/applicability.d.ts": "b6f3050f59028cbed94bc895d15ac095d104c810a8201a01fac608c5780e7d1d",
    "installed/node_modules/ajv/dist/compile/validate/applicability.js": "50c5cba5894a7fb9874b3432355b46ec71b73c9368dafb1323ded8567cca8fc0",
    "installed/node_modules/ajv/dist/compile/validate/applicability.js.map": "399e5834d6364657feb5c799d87ca3141e8e653ef021b38489937319d7c4f2ad",
    "installed/node_modules/ajv/dist/compile/validate/boolSchema.d.ts": "7a69c4963a745bc7e9adfc025e0d02b1f0236d1f9e36636d4f8bd0d5210a19ac",
    "installed/node_modules/ajv/dist/compile/validate/boolSchema.js": "c08abdbdbd3d8b1dcc0552a20fbc7d837ed44f4ca6abb2e464985590ac94377f",
    "installed/node_modules/ajv/dist/compile/validate/boolSchema.js.map": "d2ba3c7b7cc92d4f4488e5dd785ded04ad4a42cdc69c68c45f929566edcf7ab9",
    "installed/node_modules/ajv/dist/compile/validate/dataType.d.ts": "7557d4d7f19f94341f4413575a3453ba7f6039c9591015bcf4282a8e75414043",
    "installed/node_modules/ajv/dist/compile/validate/dataType.js": "697bd7005361ec7066a23c18830a10b0ef28aec1a33138b4e3098bf78c4fae52",
    "installed/node_modules/ajv/dist/compile/validate/dataType.js.map": "5ddbd0361b1a521ba2e822ed40a7156d9d6211c68ef2c4677f6496c151ce9e08",
    "installed/node_modules/ajv/dist/compile/validate/defaults.d.ts": "0dfaa8ce667fa1388c2959200efab6337063a3e773930ae3e25dbd59d197018e",
    "installed/node_modules/ajv/dist/compile/validate/defaults.js": "05721971df94faa57b09c8cfd60c2eef81b6d14910a7dea5f539d693a029c428",
    "installed/node_modules/ajv/dist/compile/validate/defaults.js.map": "dd09145eaed811c656aeb2e9bf74d7aaafb4dc986a158cb20c017bdbde53d5b5",
    "installed/node_modules/ajv/dist/compile/validate/index.d.ts": "58ce1486f851942bd2d3056b399079bc9cb978ec933fe9833ea417e33eab676e",
    "installed/node_modules/ajv/dist/compile/validate/index.js": "cb2103e5f890e04592c10d24b45857dad91155bae9f9460138a2459bdaaea2cd",
    "installed/node_modules/ajv/dist/compile/validate/index.js.map": "fc7822f544bb4db6d457c858c53ba2e6be77a55d35a192e67011e1c8dd4d9c5c",
    "installed/node_modules/ajv/dist/compile/validate/keyword.d.ts": "ce0682a5e73f166fb6e80ad8a46a26af187b524f1f5f5fcc54e4c33c0b36b131",
    "installed/node_modules/ajv/dist/compile/validate/keyword.js": "ab8f070c75c25eee9be5c837f364748909b58f5db66149a2beccbd2f66afeb76",
    "installed/node_modules/ajv/dist/compile/validate/keyword.js.map": "3051e66f0a88cfb62ce8de46e2ca85780e2f0b64f62fc1fa091e77af47a51b4e",
    "installed/node_modules/ajv/dist/compile/validate/subschema.d.ts": "237df26f8c326ca00cd9d2deb40214a079749062156386b6d75bdcecc6988a6b",
    "installed/node_modules/ajv/dist/compile/validate/subschema.js": "ca783d6052af91e65ebb59a5b48b47fb459a2241d37ca6a042f767d4ce451bdc",
    "installed/node_modules/ajv/dist/compile/validate/subschema.js.map": "9a6beb742ae31a368004b444fb9ecaa49899eefe05e747e36c11b82e6a2c288a",
    "installed/node_modules/ajv/dist/core.d.ts": "4304f640f7cb4724ea82441accb7c7607fa7207541182470d625adda99b2900b",
    "installed/node_modules/ajv/dist/core.js": "51be29c7ed7288622f755c0f1bebd3da4a9907d77aa2c33b0f2a0a5b6b339603",
    "installed/node_modules/ajv/dist/core.js.map": "0357910e20ce75d511ca46f838803be796d605fcddecbc325131a82fcfc04472",
    "installed/node_modules/ajv/dist/jtd.d.ts": "88dfdb2a44912a28aea3ebb657dc7fcec6ba59f7233005e3405824995b713dac",
    "installed/node_modules/ajv/dist/jtd.js": "9554827c19abbb10694cafb71edd72a8303ea71e56b9eb7253200f5395610e44",
    "installed/node_modules/ajv/dist/jtd.js.map": "b8d25a9ac802a23e0e008abcbe4a9684a1bad31fd36b5e977e677527d6087f51",
    "installed/node_modules/ajv/dist/refs/data.json": "d24ab8a97c18b3f5afdde7d7024a0e0ac1df0614a16a41cb88f81379edcc2db3",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts": "2a181e3ce12d234dc189bc5d8ec5a7977eeb3fdbbdd0551290d18da23a0afcec",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/index.js": "ec400bdf35a0f290266811503cdbfffd7c18c4a690379988b8062c57b48f946d",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map": "3ba84273c35f49642ee68ddf2ea561e8ecbaf00329e323e210c8b6f6cc580e01",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json": "9c356a52b0ad5da7d4c1b69f61dff5277c2af46221bc0b0521bbdbf3a12d3a2a",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json": "cf4792ae93f4a4580ec9523640945f7756f75fd624935ebf15194b0ac3909267",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json": "629c017994ffaa33f573a96cf01b9dac6cae80c7d5d17dad5e823a3afa18d5fe",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json": "018ef7c81bcca9e40a4a02ed236e7cabb3a630f2b1ea01fbdeed2f882c15ddc8",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json": "e038593d36bf1855875a13b8812469d6a2d62ed309436b9c9a2fa5a4ba59085e",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json": "aaba7f2d6fcbdfa6ca97fdc3d3da1ae7d66ca3322b7e90cf5a98b067555d06e6",
    "installed/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json": "264720afa0dd61919e21bbe9bc1312121b70e43019ac696240e069adc72cce15",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts": "7d2eaeb15b579ef0682c2a88dcd2b4b13b653a31239fdc0096201024b1d9d87d",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/index.js": "2e39089b0aaa14efa7901ecf5384622ec3d5897b206e1d589d2420f17b9fa6e1",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map": "79fed7d771c96ee134e413a39cac77f0e670228a684e1cbb58cfb0603a8f9877",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json": "f1e465ff0c0cc86bee5c0cc4b51d2734c532e6ea12c75b60a2ac093a4577b2d4",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json": "7ede86f2c48d646202bf1332aefaf46db268c943d59752727db7247dc2920516",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json": "c3a5947992d4fe67c95cda7910911207376bbae41c0a124ec9e7e699172e7a49",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json": "1e31131b1ed21f98c007f04deb501343b8c4dd77f1c5a8494a9c2085f68d769d",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json": "eb008c756b29bdaa237c1f06d32ea4a21f6ef22148b03c6372cea5e4c0782273",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json": "8f7f75f4274745faa32e4abdba12de99f49b21df225f52f723b5c62043b0edca",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json": "3cae7069843679429e4ada7df261bb8961fa34cac15be89296026e69af312092",
    "installed/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json": "5333c7df76bceee098e865881d0808238dea836126c6c60b49299ec85c6c7a56",
    "installed/node_modules/ajv/dist/refs/json-schema-draft-06.json": "a9b6a00af20105009f0924cd7c02d811bbf70c579a96f1552579c3457111f687",
    "installed/node_modules/ajv/dist/refs/json-schema-draft-07.json": "f7e8b13cad4fecff9771f3626fef33e20e59027b90938a28fd9d2f6c17cd0773",
    "installed/node_modules/ajv/dist/refs/json-schema-secure.json": "b7840b4f1526eee47ac19780906a436d0c39df2aa3d505388caf18864085a421",
    "installed/node_modules/ajv/dist/refs/jtd-schema.d.ts": "3a4c2bcb267c132400e8193819dd07eda7055e5a9c997ad62e1c38dd6fb2e922",
    "installed/node_modules/ajv/dist/refs/jtd-schema.js": "ed529445bf027885182bbed71e5458baecec2d356a788b636ed9f0c7cdaccd92",
    "installed/node_modules/ajv/dist/refs/jtd-schema.js.map": "732b58ce3fbd6aaac7a2423daa1f8dc134ff07a2336dbb2c5d13efd91a94a11b",
    "installed/node_modules/ajv/dist/runtime/equal.d.ts": "0beb32fbffe3dd6f079b3460c125d7577c49a525dd81b3bd771c94aa0081aecc",
    "installed/node_modules/ajv/dist/runtime/equal.js": "c94467da09ee94e5d194483a7ab821b9bb3bf1c04397270f2ab53dea9de59274",
    "installed/node_modules/ajv/dist/runtime/equal.js.map": "addc8498c8bf12ce8d2dc33c34805d0940eca3692c66105d99e270793c85fcae",
    "installed/node_modules/ajv/dist/runtime/parseJson.d.ts": "daaf1281de5547ccaa34f77fd4800c97bdf6f2533424bb9f5d82e11300d48e24",
    "installed/node_modules/ajv/dist/runtime/parseJson.js": "1bc006064c98afbbb4fc03bef49db7e85dd9493fb54a7dc647d4344ad043848e",
    "installed/node_modules/ajv/dist/runtime/parseJson.js.map": "cd9de6145208c3b595ccab1a800d1b492c89ddf41f8b682909e8c96d6d6b5bc7",
    "installed/node_modules/ajv/dist/runtime/quote.d.ts": "7821d3f015198f3c0b8e817b5038dce921c2330614743f69c8062fda6a96ca7f",
    "installed/node_modules/ajv/dist/runtime/quote.js": "1061132b1475fce15821d2b41c74b9ac710f278a33f5dae3385458715cc962b2",
    "installed/node_modules/ajv/dist/runtime/quote.js.map": "299ec640699b8c7601d58d6446fa0f3c639b307166971226950c845a819a7dc9",
    "installed/node_modules/ajv/dist/runtime/re2.d.ts": "ed8fd507cffed16f39d0ae3f2dd2ec46d9fd5e7b00d4e2579bb559243597c435",
    "installed/node_modules/ajv/dist/runtime/re2.js": "e1a6849652ae9a099c36c9aee9d2efc7412c8f83c4b285142413af99a7238361",
    "installed/node_modules/ajv/dist/runtime/re2.js.map": "891ce3a6e69c7c08f3e13ab0a950c2def22137c1bcd1f3dff54391f796e122cc",
    "installed/node_modules/ajv/dist/runtime/timestamp.d.ts": "a52bc6a407b585e49fe61fba28db84066c96961709a4095ff20ff1fe7430f678",
    "installed/node_modules/ajv/dist/runtime/timestamp.js": "05cd4fc283b82af25a2a71ee5e587640c1d42945c74cea790627135fff338bef",
    "installed/node_modules/ajv/dist/runtime/timestamp.js.map": "4e4eb1e7923ca19f3935fdfb76dfa7ee88d2914be490b1d702ffab13bfce07fe",
    "installed/node_modules/ajv/dist/runtime/ucs2length.d.ts": "2423ad491126a769f9973dc3687b86286c5ea2cd52d3a1dd25604fa03f1da2f4",
    "installed/node_modules/ajv/dist/runtime/ucs2length.js": "1df012dd3d23fced07255a7204798004509687cb1f431ae0ab976db436bbd890",
    "installed/node_modules/ajv/dist/runtime/ucs2length.js.map": "5ad0a6c09c26dd193c807813a9a22304d7c4534af6f13361032ecedaf58e8a7d",
    "installed/node_modules/ajv/dist/runtime/uri.d.ts": "d2dfc80c21db9f151f6ccd49e3b6dc50e23476e7e4f475a1e3497f86c464dd65",
    "installed/node_modules/ajv/dist/runtime/uri.js": "d1d61baf97ed87d7310df847a78ed73d19c8cc003207bf5aaec977500bdb1578",
    "installed/node_modules/ajv/dist/runtime/uri.js.map": "7751d10beb734802801b650c3e934553f2b26ba26bc68b20796734b7f9fd9955",
    "installed/node_modules/ajv/dist/runtime/validation_error.d.ts": "cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a",
    "installed/node_modules/ajv/dist/runtime/validation_error.js": "11bf5b4affc8114e5e7cdf65b93006c2d997ab60ada1152c22e136f9b828b815",
    "installed/node_modules/ajv/dist/runtime/validation_error.js.map": "833d51e4ffee8e2e21c53b6aca02bdf70349233e8620b36d093bfb6b0157bff2",
    "installed/node_modules/ajv/dist/standalone/index.d.ts": "dd753d8a80fbc019d9001e148b14cdc21c8e503e7afe747632ba87878ab05487",
    "installed/node_modules/ajv/dist/standalone/index.js": "361d58a7523548bb1b9c782135fae27e76d93c8feaba8c4d613331dbcd3b888f",
    "installed/node_modules/ajv/dist/standalone/index.js.map": "a1afc5f1e9166c87da0c8e96b39560ba7c2df532adb495ad2b39c2ebfce68860",
    "installed/node_modules/ajv/dist/standalone/instance.d.ts": "974948bdf0935ed1da8ec1aa9d71bebe07bfa4b67e1532b841831d053cc9d86b",
    "installed/node_modules/ajv/dist/standalone/instance.js": "4e14aa01e0cb8288fbb75deeb2e738950b0560bd02e1ad8974f391af4c9fc6f3",
    "installed/node_modules/ajv/dist/standalone/instance.js.map": "7f59241ec6792fa719f3151610ef417552e986f45eb7c2f368a5c19a9b6261f7",
    "installed/node_modules/ajv/dist/types/index.d.ts": "9941cbf7ca695e95d588f5f1692ab040b078d44a95d231fa9a8f828186b7b77d",
    "installed/node_modules/ajv/dist/types/index.js": "fc9c6096246805c2075c83ab1b96082eda2fc98c240a2502caa82f1966096b71",
    "installed/node_modules/ajv/dist/types/index.js.map": "dc7dd6ae1631a9726121bba97c02b42640360d3667f8650f78242d078693c4e6",
    "installed/node_modules/ajv/dist/types/json-schema.d.ts": "feeb73d48cc41c6dd23d17473521b0af877751504c30c18dc84267c8eeea429a",
    "installed/node_modules/ajv/dist/types/json-schema.js": "2e30aa0c0789b5af8248b081ddc14b439b48937730eb1be0ab28de2ca2353b28",
    "installed/node_modules/ajv/dist/types/json-schema.js.map": "c33ce191e73eead1689338837205402bb586032b089eafc83210e4e1f1a5b221",
    "installed/node_modules/ajv/dist/types/jtd-schema.d.ts": "25f1159094dc0bf3a71313a74e0885426af21c5d6564a254004f2cadf9c5b052",
    "installed/node_modules/ajv/dist/types/jtd-schema.js": "6755d0ec5a09cc74205d46089f814c88c1ce4363e56a55486c12a0a86942bd8d",
    "installed/node_modules/ajv/dist/types/jtd-schema.js.map": "c2840f14191be8435778a2a64a8e0600500dde376910b05c52865e2deafb09c9",
    "installed/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts": "a3b2cc16f3ce2d882eca44e1066f57a24751545f2a5e4a153d4de31b4cac9bb5",
    "installed/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js": "7beb0fbda5e349907067c8398bb8cc3260a6267b6e5dff9793a5ab2171934099",
    "installed/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map": "f8d4898f0f5a507cf88a43dbcffb4ae82e7bb600d56602513085151032aac571",
    "installed/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts": "1fce9ecb87a2d3898941c60df617e52e50fb0c03c9b7b2ba8381972448327285",
    "installed/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js": "e237cb180cd2e3f2e676feb714d7dcc6a42116640f9db2ad830cd20d9dfc540a",
    "installed/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map": "90cae7b84831914a0513d8db46fbe45e39cceba6c8ab3b39d853bd6439edc95a",
    "installed/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/applicator/allOf.js": "98f46a6434ebe5f851b406480e18b776dd7f1bcc275e28c16a13bfef3cc067c7",
    "installed/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map": "bc57edbf872aa33f295435a714b3612f887c29abf411aa114d2b92a89461ee5b",
    "installed/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts": "ac52b775a80badff5f4ac329c5725a26bd5aaadd57afa7ad9e98b4844767312a",
    "installed/node_modules/ajv/dist/vocabularies/applicator/anyOf.js": "8d7368d4aebad0514b713191b934993b4f0bf570e1bab93b07dc69712db2cec5",
    "installed/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map": "c05bb310be6b4e46482835cfe8978d34a8591a57722661d039f685d6e1ebd2d3",
    "installed/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts": "8deb39d89095469957f73bd194d11f01d9894b8c1f1e27fbf3f6e8122576b336",
    "installed/node_modules/ajv/dist/vocabularies/applicator/contains.js": "56165dc93cd8b0b4611db50a97f1e7d7f9af6c5ffe95a7a5b054d6eeaa7f6a8c",
    "installed/node_modules/ajv/dist/vocabularies/applicator/contains.js.map": "b6136d502d30985c5f9367214191e1a15f7ffffa7e66d38b5d90ce97c5fb3069",
    "installed/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts": "a38a9c41f433b608a0d37e645a31eecf7233ef3d3fffeb626988d3219f80e32f",
    "installed/node_modules/ajv/dist/vocabularies/applicator/dependencies.js": "c1a83bf484b6fde4d268935f079ddba5e74a2f589dfc6d15ca2e20ba4d06ee5b",
    "installed/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map": "58bd7453681e4e1f067f12ee46b0963fbb7b3dd91d5635146e892021541ea0af",
    "installed/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js": "d17d23755b0cf8699c180dd98b8b7270b688d2e4fe5a4c4fcc53ffdcc18ee58e",
    "installed/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map": "acf03cc2df2951050a845f391f71d74a82cf2448b628a791cfc37a1ef12cdc69",
    "installed/node_modules/ajv/dist/vocabularies/applicator/if.d.ts": "dd7109c49f416f218915921d44f0f28975df78e04e437c62e1e1eb3be5e18a35",
    "installed/node_modules/ajv/dist/vocabularies/applicator/if.js": "42374ee5dc681433579cc689b0c4ae5343f5bf78d4d6a561722b9277c5335ec4",
    "installed/node_modules/ajv/dist/vocabularies/applicator/if.js.map": "ecf2c80d9856d1678e643d6f4c77a36cd7bec448594ec6034fb72b558fce8939",
    "installed/node_modules/ajv/dist/vocabularies/applicator/index.d.ts": "eee181112e420b345fc78422a6cc32385ede3d27e2eaf8b8c4ad8b2c29e3e52e",
    "installed/node_modules/ajv/dist/vocabularies/applicator/index.js": "5a61978f6d81bbabfa8b9ccb71d7de816ed6dd1fd7de5c72657439a76c2a7cb3",
    "installed/node_modules/ajv/dist/vocabularies/applicator/index.js.map": "0b98845a246a8859fa44824daf69b40fe465f65075e2db2121aace15214dcf50",
    "installed/node_modules/ajv/dist/vocabularies/applicator/items.d.ts": "65f1d4dd1e542c949d9ef11825c9d568e16affad2d5c0cf5d39c386e3b09d791",
    "installed/node_modules/ajv/dist/vocabularies/applicator/items.js": "fa87f74adc3aac1f1b5e3e7dddf73294e6850e1dd49ed131fca4352e9645c54e",
    "installed/node_modules/ajv/dist/vocabularies/applicator/items.js.map": "a20b4a4a1802ca7708a0e8bcbb69b3b604522eeab131008bae7e8490b87c434f",
    "installed/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts": "ac2b3b377d3068bfb6e1cb8889c99098f2c875955e2325315991882a74d92cc8",
    "installed/node_modules/ajv/dist/vocabularies/applicator/items2020.js": "c449ef64aec16263c7935293ed450cfc2da3ba66f6df5f99c3198c05f169838f",
    "installed/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map": "8f28ef13b54491f634fbd00c89b87dab96f0e490e0065d5aeac3853345e906dc",
    "installed/node_modules/ajv/dist/vocabularies/applicator/not.d.ts": "5ef0597b8238443908b2c4bf69149ed3894ac0ddd0515ac583d38c7595b151f1",
    "installed/node_modules/ajv/dist/vocabularies/applicator/not.js": "ab2f2758d4ea97ac8763fe5540dd0f4d877859676fe5d6c750a18deca387f718",
    "installed/node_modules/ajv/dist/vocabularies/applicator/not.js.map": "c5b821f2b5cee147a5dbc645470a3528d1e87f3f9faa9f5a41cd353a075d60db",
    "installed/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts": "6ae5b4a63010c82bf2522b4ecfc29ffe6a8b0c5eea6b2b35120077e9ac54d7a1",
    "installed/node_modules/ajv/dist/vocabularies/applicator/oneOf.js": "e2aeb6c22d49fd5f348bedcf7f5c4d7b31f5a05dd7ff1a0c531374c6968792a2",
    "installed/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map": "ebab3ad34f13bc50265cb5ef9943beeef9f4e65c97a64533081da51d765dd526",
    "installed/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js": "0d43da49a82452c439ba990de7372ad5cedb663717918a5f6dae07025abff655",
    "installed/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map": "a8103db59a1c72cd5fea553943b386d21f5544f40202cb1b1af7ef465142c8d1",
    "installed/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js": "16264f7b3233a6dcb98b48700643efbd3ebc4d11e27b3eacffc83ccb5f44fb23",
    "installed/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map": "1f3562cac09a9442410a3b01bdf1930bf4cbb3fc4840704c6c6327be37aec33c",
    "installed/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/applicator/properties.js": "c896873ae7251093a2c8880545b69b6e8cb55c44817a53ec830a49818d74104f",
    "installed/node_modules/ajv/dist/vocabularies/applicator/properties.js.map": "33599345842c02b84401f6abc5b8df58023ffa180c148430a0e62d8eb2198ba3",
    "installed/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts": "8e1428dcba6a984489863935049893631170a37f9584c0479f06e1a5b1f04332",
    "installed/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js": "b3411cfeaff8efd5e6de12971bb5dc339e64b61fbe62d3b950794c077315c2e7",
    "installed/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map": "a606f571bd198bcc4d9414887a57650669989bd0795181d07310e08a46aaec64",
    "installed/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/applicator/thenElse.js": "9bc42eb8699d57188a7ec2a710d3f38052f92bd78c5d4d0442cf98cf2ebbe22d",
    "installed/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map": "474cff337e6d5c8ac35258cfc1b98d82367934b6d6a31bc261da7058e1008e4e",
    "installed/node_modules/ajv/dist/vocabularies/code.d.ts": "83ca5b45121b732612f3bfb090ed559fc701e69f385d48597f3ae7f54c535076",
    "installed/node_modules/ajv/dist/vocabularies/code.js": "9212ddf8bd0a4c3b1c4b44cdadd141183b2b36f561b91d13df53c83911e3bf63",
    "installed/node_modules/ajv/dist/vocabularies/code.js.map": "1db25a8b2b7a34ad9d348246d6f849f61d4e29538a16ad6498d77b1c3497d534",
    "installed/node_modules/ajv/dist/vocabularies/core/id.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/core/id.js": "49c8eff694ce4371450c1f9986e934fcbf4bd143311caef5332113f29175bc11",
    "installed/node_modules/ajv/dist/vocabularies/core/id.js.map": "fdeedb6446a7ddac6fc0dc0094bd70af32d00dc908ae2564f5519c45f6cd0897",
    "installed/node_modules/ajv/dist/vocabularies/core/index.d.ts": "817911706e04e79b7ac726cf166ee8d833db6e132693c6a88936713f89551010",
    "installed/node_modules/ajv/dist/vocabularies/core/index.js": "f420e1011b95e27b54c58323a7ed4ffbd0a88cdb4496f771bb6782c2aa22d23e",
    "installed/node_modules/ajv/dist/vocabularies/core/index.js.map": "47810777e556d4dfd64ed64eea5a9553e2c2ad632bac15944c8aafb75da4236d",
    "installed/node_modules/ajv/dist/vocabularies/core/ref.d.ts": "22caaec568a45c8d7abc8abdfbe2acbe23dfc8137c143e6c6348bfdc640decd4",
    "installed/node_modules/ajv/dist/vocabularies/core/ref.js": "1422c1454b3621d890066042048f37746fe1cf213088307099816199889bbfd1",
    "installed/node_modules/ajv/dist/vocabularies/core/ref.js.map": "102a133a0c29f09af757ac3715b3fe8d98b60d3651a8c288fc8aec35c51e4745",
    "installed/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts": "423d2ccc38e369a7527988d682fafc40267bcd6688a7473e59c5eea20a29b64f",
    "installed/node_modules/ajv/dist/vocabularies/discriminator/index.js": "b58b58025d2dbe5a6967376faec9295b860a338664c47037e9a1035c1e8fb88e",
    "installed/node_modules/ajv/dist/vocabularies/discriminator/index.js.map": "5dd1b53a8e69c78a9e4eaf155e5e6f9e3856814a529632403d6deecda6efc1b2",
    "installed/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts": "3be71f4ce8988a01e2f5368bdd58e1d60236baf511e4510ee9291c7b3729a27e",
    "installed/node_modules/ajv/dist/vocabularies/discriminator/types.js": "2365341d1f30dc72cece7703e908e47aacb8f904b9f66ec4019fe889ae1e57fa",
    "installed/node_modules/ajv/dist/vocabularies/discriminator/types.js.map": "4ab17ff95b7fec251f810c0d2c7bf2d9814b9ec733134195b91df6cf11821eaa",
    "installed/node_modules/ajv/dist/vocabularies/draft2020.d.ts": "3ea35fd2f7b15955306658465892b2ff6e4bebb342b1a55baa65cbb9d3e5d62a",
    "installed/node_modules/ajv/dist/vocabularies/draft2020.js": "2d0dc3a14abd48a45ad1407a97f23a0f943fa5244923037f86e95a7de04a7445",
    "installed/node_modules/ajv/dist/vocabularies/draft2020.js.map": "a45cb9b26d482a3a9018d4815ba277e409b83571c09c3a1065b9ba3390a7f891",
    "installed/node_modules/ajv/dist/vocabularies/draft7.d.ts": "9218319bc0e9c5e5bd7ebf676273928785813f41ec5501c59bdc2c36dfaba8b1",
    "installed/node_modules/ajv/dist/vocabularies/draft7.js": "8c62022c6c3aa302c3ea6f6709a697fc9eb6385d243fa7c2156dbe9f02228170",
    "installed/node_modules/ajv/dist/vocabularies/draft7.js.map": "e556fccd950796d8b708fe1fa2aa8bcdc37ef037be9e3234be5297085d90cb62",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts": "ac1d23564824d637da12dca9543b75a4f104407450469d004783d317c48cb293",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js": "78222a5b42bab186253d880f9af4b012394ae5988bfab78e79f2510caed0ccf7",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map": "a1a2f8ca7533601839749c902345c3001c95af3566eb30636eb6994d6bcfc0e7",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts": "3d51d2dc8af506a0345db97741b398cb386a0f8a3c3f3075a9a602158182a73f",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js": "acc2913c91d11ff57150dde1751cdd5d9f486a0cb156037870ede203273af917",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map": "4050eb882360e99c6a92d89a3c4f83e84f7f9df4d8e5c235ff9da9805d721a8f",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts": "4bca8e262b63afb07fc894cc4139df757fbabe511c6e47b99b99e9f6c3331d14",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/index.js": "8c05d09948653957427f351d9c6172965b932a5663f7dcb63014a491a533cc0b",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/index.js.map": "cae8a099e83300e7e71269dcbd1918b399d9fe4e11d82ca1ddb59547ab962c14",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js": "9f6cb7e509f9deada1b884010f08c52876f8eace32dcf0e7da28f6d0d91f3f76",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map": "14cfed1db7bb14734fd2d0d9dd4be341f16ef368d7890a90424e6646c1d0115f",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js": "7b0c651e2c5b5218639cd3ad7e5162f1e226fc9814107a85f4c3e47f5138670d",
    "installed/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map": "aa22a9e7bdfce86b5eb802e6d806dc7d835d58a0dbc9165d72777206380ed7f6",
    "installed/node_modules/ajv/dist/vocabularies/errors.d.ts": "2f9fde0868ed030277c678b435f63fcf03d27c04301299580a4017963cc04ce6",
    "installed/node_modules/ajv/dist/vocabularies/errors.js": "7758b311e7cba27a8ff8b99a5fcd8db6804265cbc48d2867b72bfe56823d36bc",
    "installed/node_modules/ajv/dist/vocabularies/errors.js.map": "d551cb2d686656a44924038afa1c337933a1e5f953a8e5f09837dc3895332675",
    "installed/node_modules/ajv/dist/vocabularies/format/format.d.ts": "596e5b88b6ca8399076afcc22af6e6e0c4700c7cd1f420a78d637c3fb44a885e",
    "installed/node_modules/ajv/dist/vocabularies/format/format.js": "6fae0d5124fd821b1a9959492f7d6d7b528bee8830d49a7a4759fc9a9ab81d5f",
    "installed/node_modules/ajv/dist/vocabularies/format/format.js.map": "35575d56b5d5b5140b5575388d6e8ab5cdc097123eabe8c1e1e2f6d742fffcc5",
    "installed/node_modules/ajv/dist/vocabularies/format/index.d.ts": "f5144b57a017760ef277fe7cdeb1707af63498721918b80650824ab23b75d791",
    "installed/node_modules/ajv/dist/vocabularies/format/index.js": "d5dad5f95c9c5f48f8ca956cdbb927aafc7b56baabfca8c0b0403d92c5ebeb67",
    "installed/node_modules/ajv/dist/vocabularies/format/index.js.map": "ad27029bd96489edc361684b818651562c0ba5eb6a0484bc52bcbb178e16e68d",
    "installed/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts": "b91034069e217212d8dda6c92669ee9f180b4c36273b5244c3be2c657f9286c7",
    "installed/node_modules/ajv/dist/vocabularies/jtd/discriminator.js": "14df845b5ef760d96a3c62db8d4446840e3d408a248d1b92ba6db2260fca4da2",
    "installed/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map": "c3b235680e571d21f99900ac5be4ce3457399b6881926dea7b1f36978e3ec848",
    "installed/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts": "c9b5632d6665177030428d02603aeac3e920d31ec83ac500b55d44c7da74bd84",
    "installed/node_modules/ajv/dist/vocabularies/jtd/elements.js": "b2cad5c59d7c8ce936cea240d70beb41404c729901a60f32013c4facdcacfd5b",
    "installed/node_modules/ajv/dist/vocabularies/jtd/elements.js.map": "2cfe04080ae8f1ff3a86805676dd57cb6e55134325d473fa36f57837d72eca05",
    "installed/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts": "ac3bcb82d7280fc313a967f311764258d18caf33db6d2b1a0243cde607ff01a0",
    "installed/node_modules/ajv/dist/vocabularies/jtd/enum.js": "4a8b7fa05f94b2e67275445c6e8437c337b92f709d243ed30a48ba6a08a9a154",
    "installed/node_modules/ajv/dist/vocabularies/jtd/enum.js.map": "87baba23c330e61539325d324acb2697c83a94e86e2902d2da3a08bc606230ff",
    "installed/node_modules/ajv/dist/vocabularies/jtd/error.d.ts": "a6613ee552418429af38391e37389036654a882c342a1b81f2711e8ddac597f2",
    "installed/node_modules/ajv/dist/vocabularies/jtd/error.js": "d6896337eedc9b71a742912f776580918cb4de58a90b434cd39f152896da16f9",
    "installed/node_modules/ajv/dist/vocabularies/jtd/error.js.map": "4737604dbfbcf18ad231ff4188391cf349fc0238baa89062956fc56fa1703a6f",
    "installed/node_modules/ajv/dist/vocabularies/jtd/index.d.ts": "b0d06dbb409369169143ede5df1fb58b2fca8d44588e199bd624b6f6d966bf08",
    "installed/node_modules/ajv/dist/vocabularies/jtd/index.js": "c57d340cd0709479d8ea9f102549a8fd2a47a2c1f2e6fe7f0e14067fe6385d7d",
    "installed/node_modules/ajv/dist/vocabularies/jtd/index.js.map": "31b17824ebfbdb2d2e7f5ae6835627153d57e8ebe801ba93988e4df2fea6f028",
    "installed/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts": "74dbbaddae5c3d5fdea9df3c53cb0b4ac8a18a2098370dee6393c152ff8b6025",
    "installed/node_modules/ajv/dist/vocabularies/jtd/metadata.js": "237a4bcc04f1a59628ba35aab9bd7c02fa19a007bf026f75c562c20c7a63ab68",
    "installed/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map": "b4815c6a53d59294b48ae16adb6bfa3f36a1052b2a23b3763124a8b27747c538",
    "installed/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts": "06aeb5ecbfc278df2941e3226dedecb838e64e02a6fab7518531854543ecb543",
    "installed/node_modules/ajv/dist/vocabularies/jtd/nullable.js": "ba6494ac04fb1c2654951e8c8a57861e324fafa0f6c3bd2e1716bea8eb5c823a",
    "installed/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map": "4d28df1f7dbde477e3501ab0d049b5643b5e7911d59603ebb24161ba8ef00f08",
    "installed/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js": "82b67841649a948b069c8e0cfab712eb883579690065a05658b7df7e4eddcc62",
    "installed/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map": "58c1f7d7f168abe67793982f655adaef8b76937875373a26552c840c3812b898",
    "installed/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts": "46456824df16d60f243a7e386562b27bac838aaba66050b9bc0f31e1ab34c1f2",
    "installed/node_modules/ajv/dist/vocabularies/jtd/properties.js": "4a392193b708f69c25511ed059e80a70ea084585731817ad8e459364f479eb35",
    "installed/node_modules/ajv/dist/vocabularies/jtd/properties.js.map": "7323488a259181201748b81e3c70628ef17842fdcc9ff917859240369d7f5380",
    "installed/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts": "e875ca9fddf2b2ba80afe86316bc19b2982a6da3482b29a5cf7cfb35e3d07a2e",
    "installed/node_modules/ajv/dist/vocabularies/jtd/ref.js": "4736880c610f3664a8c714fdb5cf4e9db9fcda1721691dcacad2e9796e937460",
    "installed/node_modules/ajv/dist/vocabularies/jtd/ref.js.map": "1f76ab8797ae96dadfb9f03bb0c170d822417224ec2e395431cd0d0a51922001",
    "installed/node_modules/ajv/dist/vocabularies/jtd/type.d.ts": "da47cb979ae4a849f9b983f43ef34365b7050c4f5ae2ebf818195858774e1d67",
    "installed/node_modules/ajv/dist/vocabularies/jtd/type.js": "f97e19f2c3042938f433cfad0c4500b3342d869719550246bd4fced479db8e1c",
    "installed/node_modules/ajv/dist/vocabularies/jtd/type.js.map": "8956607890334c9fd8eb242e2ae900c64e0c7ccc6879ce5f283fedadaa5e1fc2",
    "installed/node_modules/ajv/dist/vocabularies/jtd/union.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/jtd/union.js": "f8404ab539ecfc5f6eb1bc489cc541aad6bf79cf58beecfcfe671226678c3280",
    "installed/node_modules/ajv/dist/vocabularies/jtd/union.js.map": "53c59966c45cc6fb1276f8f933ea2f9fa79be5a91c2595a79d940c147abf5519",
    "installed/node_modules/ajv/dist/vocabularies/jtd/values.d.ts": "0697277dd829ac2610d68fe1b457c9e758105bb52d40e149d9c15e5e2fe6dca4",
    "installed/node_modules/ajv/dist/vocabularies/jtd/values.js": "6b98eb1fbe2686a7f26fbf1e8860f61bdc81fe47117c4f5a79d5ca1fc92138f2",
    "installed/node_modules/ajv/dist/vocabularies/jtd/values.js.map": "0dc547866a1329dbe62fb89f961c74611069ad797639acce2def6a185e657c6a",
    "installed/node_modules/ajv/dist/vocabularies/metadata.d.ts": "a63efeef4b2f74a79a7729d6d362a98e3c647a7a439711f3a43372e16c6223aa",
    "installed/node_modules/ajv/dist/vocabularies/metadata.js": "45c178744a7ec57e20c85ceeaea8d9f36b5663636ab7e495ea2c3c1bf4a58609",
    "installed/node_modules/ajv/dist/vocabularies/metadata.js.map": "7d888e73dee29bee063f1e98884e6a40386f5ee653a8ed6208e43b973a3542cd",
    "installed/node_modules/ajv/dist/vocabularies/next.d.ts": "0aa6d6107f533bac5f47e8ef5d7fcc39503e0cd547e16b6348d063a24b30a137",
    "installed/node_modules/ajv/dist/vocabularies/next.js": "491c4d9738e50a6c22b3090cb1df49911b4bb7c3b7dcafc2f2dd4c074c4d82e7",
    "installed/node_modules/ajv/dist/vocabularies/next.js.map": "79890db3838840ab79e117248e523f9d3c97742b042b02382326fb2bf14f0918",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts": "87d4054133a5812f28e73373903c8ed8cc4929fd2ed0aa14695e7140e12d24ed",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/index.js": "4e7936d1a55051e70e2ebbbfc8de94fbe7f1e7b055252df5a984481ea7c156a4",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map": "8a4aff71617048ad134ff9d6773270168595b0268c5330d8450b90e71496f8be",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts": "d4cad9dc13e9c5348637170ddd5d95f7ed5fdfc856ddca40234fa55518bc99a6",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js": "4d7010c39f1b7af4a2fe1a62e5b65c8f763d4e58ac3d710099d367659f5e4fda",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map": "03ade2a02a69c0b0bad0dbe74d70964daab47a65f5d4796cdb927edd00c06ec8",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts": "adddf736e08132c7059ee572b128fdacb1c2650ace80d0f582e93d097ed4fbaf",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js": "665029a99612ec32e9bef99c9c4b09a4dc0be6c71d7b920594d414d404806ebe",
    "installed/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map": "7eea70788f708b843fa81cecb7c90aef4ae473b2cb5f5cf9f3229d1025fcffc0",
    "installed/node_modules/ajv/dist/vocabularies/validation/const.d.ts": "1cf0d15e6ab1ecabbf329b906ae8543e6b8955133b7f6655f04d433e3a0597ab",
    "installed/node_modules/ajv/dist/vocabularies/validation/const.js": "ace994e9ab97a70899a9484794794f4be5ee03bfb3cf32242d3f091d77f0329a",
    "installed/node_modules/ajv/dist/vocabularies/validation/const.js.map": "5f9e6e0702178bf1ce990751be7fb9369403af96e7f724bc361da8c27b16d8ea",
    "installed/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts": "d70675ba7ba7d02e52b7070a369957a70827e4b2bca2c1680c38a832e87b61fd",
    "installed/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js": "cd69a90089328b24d2232c12edae57858c14f66aaa56923c12929eb3d673e8fa",
    "installed/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map": "62fd57bce66b2b2cffa208b30e7dab00011936f05ae2a5b075c04461663e06a4",
    "installed/node_modules/ajv/dist/vocabularies/validation/enum.d.ts": "7c9f98fe812643141502b30fb2b5ec56d16aaf94f98580276ae37b7924dd44a4",
    "installed/node_modules/ajv/dist/vocabularies/validation/enum.js": "61062b318a40eb52fc5a8283e7f4781db98349841744961ef4fe04a4722ebf22",
    "installed/node_modules/ajv/dist/vocabularies/validation/enum.js.map": "3d74c4a70ce905cb4c07c75fededfb51d7124e683cf4ce394e89835fad8b1a2b",
    "installed/node_modules/ajv/dist/vocabularies/validation/index.d.ts": "b3547893f24f59d0a644c52f55901b15a3fa1a115bc5ea9a582911469b9348b7",
    "installed/node_modules/ajv/dist/vocabularies/validation/index.js": "4a1839832de5f10ff423c1c0c6cb232b5b6e1b34980a28862cf56b2763136de4",
    "installed/node_modules/ajv/dist/vocabularies/validation/index.js.map": "42fce077fc1751290cef9a3b2e48546262724d61f91d44751e6e4075ce159ed4",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitContains.js": "0ea6f2e43359add298e1ed9306fe5020c62e086392f2915f10226b01394b200d",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map": "56076461ebadbfbbd25cf53a8eaf5e61368f325443f6fe8e6ed9bea5d7b24445",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitItems.js": "49f0427d29b38aef2fa8aead26e68bda12deb9a2da22f7a7804ba0fed44e1fec",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map": "4d8e8e8f64bd85fab47be9c03276d23d52421b18cdabe2962c8cac38d5109459",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitLength.js": "379c28317faaf7784680b6049c3562692d3df6d65cce33f48e6c6c723beeeec2",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map": "bc33ca19aa1613710c361b334d5387a178441fb79f368898dcdce1d8075f54f5",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts": "25fbe57c8ee3079e2201fe580578fab4f3a78881c98865b7c96233af00bf9624",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitNumber.js": "3dd4bd41dbfc76c522078ff54b6479683485c4e97faa04cfcfaf2d8cb0fb8e65",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map": "8fb0880eb5eba874c7424e9b5f4c6f14a436330a471e0c791b39248e1abf2d9f",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts": "e99ba2bf1ceb28ce6a3e60093bd8cb09e05eca71d0004254d3baf97c02152564",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitProperties.js": "8523a3f7b36c34882ca32b0ec71a2157d7930907cb86b778a97c1514fa6258ac",
    "installed/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map": "0d819ad8104004b82be28bb3e86c96eefbff850e0fc1bd21bf43678a17a2ebfa",
    "installed/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts": "62cc8477858487b4c4de7d7ae5e745a8ce0015c1592f398b63ee05d6e64ca295",
    "installed/node_modules/ajv/dist/vocabularies/validation/multipleOf.js": "df128c2a6ca74ae57c65fbfe3aea8a101447a3ae8c41fd53cfc5693fa23cc8bd",
    "installed/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map": "ff3ca557d3ed080cc3397829b9641b11764118afa8ce3c97ec2f6f47ae0c8c69",
    "installed/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts": "cc2a9ec3cb10e4c0b8738b02c31798fad312d21ef20b6a2f5be1d077e9f5409d",
    "installed/node_modules/ajv/dist/vocabularies/validation/pattern.js": "86e84206bfc6a66ef18bf1fe43fbc56ebe7f7f4d57841197b6d044c529e0c195",
    "installed/node_modules/ajv/dist/vocabularies/validation/pattern.js.map": "87277c96cf32b25da6e01a4ef46f202f741872a43f360af2838d209e114f5d77",
    "installed/node_modules/ajv/dist/vocabularies/validation/required.d.ts": "4b4fadcda7d34034737598c07e2dca5d7e1e633cb3ba8dd4d2e6a7782b30b296",
    "installed/node_modules/ajv/dist/vocabularies/validation/required.js": "b953bc18d94274bd73374dd5b4282d7a21159cec8c0e7a357e1eaf3f326b9054",
    "installed/node_modules/ajv/dist/vocabularies/validation/required.js.map": "93e4965462fa0e78f52e96498550ce19eca50f70872ffae95baeb4b59e66b1bd",
    "installed/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts": "360fdc8829a51c5428636f1f83e7db36fef6c5a15ed4411b582d00a1c2bd6e97",
    "installed/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js": "666d1a2aa25c0dfe3cf41312d0f9d40e9f99eb2c19be7469134ad89005aadd52",
    "installed/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map": "ca96cb4269f0665b48201bbd3bf767583b2d337cc6bfd1f8e3135c54c09780b5",
    "installed/node_modules/ajv/lib/2019.ts": "d56766ac02c001a4f808c99281e466c4ed004118169e1d93b1b383dbe8ebfdbc",
    "installed/node_modules/ajv/lib/2020.ts": "0172fbdd0f09d7cec4243374ef3148da91ac504b436c1b058bbb482fdb1ad603",
    "installed/node_modules/ajv/lib/ajv.ts": "db86e7216e623df616513e1191e428b8d73c9f2cb1a36720fff0f12003d22a85",
    "installed/node_modules/ajv/lib/compile/codegen/code.ts": "3e088cc949e98ccef11611d64f11b3035182c257dd055587f3cc3081b59b8f85",
    "installed/node_modules/ajv/lib/compile/codegen/index.ts": "5d36911057430b7beedd1acf8026afb6529a09bf8b974c47d68d9a72be252ea6",
    "installed/node_modules/ajv/lib/compile/codegen/scope.ts": "a4cc6bc51633c0a67e09d61926a769a4d805f13931fd3541957a8e80d2b86a16",
    "installed/node_modules/ajv/lib/compile/errors.ts": "088cd10b6fb1e7ee6fde64d791f17d06f9b79cb126c35f98ae02cffafec44480",
    "installed/node_modules/ajv/lib/compile/index.ts": "fd39c4872a98fd27d899345d92da8b5e9c92a3b311a9f91e156080349f85c869",
    "installed/node_modules/ajv/lib/compile/jtd/parse.ts": "3f987db29f450b9463fc64a2d594325d21155d3e7934a143ab1a744ce0d7ecd6",
    "installed/node_modules/ajv/lib/compile/jtd/serialize.ts": "f523467687cad8197f51828d97dba711087fd7fb7447626a672823fcc227f6b7",
    "installed/node_modules/ajv/lib/compile/jtd/types.ts": "4f9a151d6cb7028d5eb483a2f0aab17a2f8a411b0af6b48108712cf6448b0822",
    "installed/node_modules/ajv/lib/compile/names.ts": "7e985cf51593c03cfac0317c9cceecddc70ab630673a3f5af739885255b2be64",
    "installed/node_modules/ajv/lib/compile/ref_error.ts": "1a3246eb3a9a09e185099600b550185a5fe84b22e27d854ddc7273d5e35315ac",
    "installed/node_modules/ajv/lib/compile/resolve.ts": "83fa181288f15f4be781fe8baa6735fcfee169efbf3f7710a86a50c6cac5acb5",
    "installed/node_modules/ajv/lib/compile/rules.ts": "d736019109db360c5bb5d5fb12132a0d518ff3c01238c93b8f317a2879cbdf85",
    "installed/node_modules/ajv/lib/compile/util.ts": "2f9441df72d2d7996f90403f5f31d6d156036a9e8e39a773a3e52812462dbcad",
    "installed/node_modules/ajv/lib/compile/validate/applicability.ts": "22a43ed9cc6d17524013990d049d96494db39c95f1122e103c01dfc87a820497",
    "installed/node_modules/ajv/lib/compile/validate/boolSchema.ts": "e5c41cd20170d246d1d40ac54bf7df4cbef084238d27f2a8d69faa2d597600cf",
    "installed/node_modules/ajv/lib/compile/validate/dataType.ts": "37adffaf46b9648699ea8b08a3caf6d5d031de027b955dd5f69ad2a72e7f03e3",
    "installed/node_modules/ajv/lib/compile/validate/defaults.ts": "8ae3dec515bbf81721af940ed1ca3ff1edbbb5e2c24187f441822c89e3925c27",
    "installed/node_modules/ajv/lib/compile/validate/index.ts": "841338dea0ff90d44bde71f0651879edad186fd50d7bb6d03243b0085e557c48",
    "installed/node_modules/ajv/lib/compile/validate/keyword.ts": "83e14ccb96fb8e24bb81af1c0d12a724472f713faf5ff2af2a8fd1be43da273f",
    "installed/node_modules/ajv/lib/compile/validate/subschema.ts": "79eb0fbb091074cdbc7149f3fe6bf0c174f76f53f82cf90f346285505eb4113e",
    "installed/node_modules/ajv/lib/core.ts": "c9a2785949f4ba6dbe26c536a95437f38cf688cf74301666c8a33a816ae5030d",
    "installed/node_modules/ajv/lib/jtd.ts": "e7157f96fc310c1488fdc78d12c6c33f3064d23859049e5d1fffa0a21d57f262",
    "installed/node_modules/ajv/lib/refs/data.json": "d24ab8a97c18b3f5afdde7d7024a0e0ac1df0614a16a41cb88f81379edcc2db3",
    "installed/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts": "b0650c20759d7c19f624f1a7c8f3688eb7833a9ff964598dc0d4513e685d6b8d",
    "installed/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json": "9c356a52b0ad5da7d4c1b69f61dff5277c2af46221bc0b0521bbdbf3a12d3a2a",
    "installed/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json": "cf4792ae93f4a4580ec9523640945f7756f75fd624935ebf15194b0ac3909267",
    "installed/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json": "629c017994ffaa33f573a96cf01b9dac6cae80c7d5d17dad5e823a3afa18d5fe",
    "installed/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json": "018ef7c81bcca9e40a4a02ed236e7cabb3a630f2b1ea01fbdeed2f882c15ddc8",
    "installed/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json": "e038593d36bf1855875a13b8812469d6a2d62ed309436b9c9a2fa5a4ba59085e",
    "installed/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json": "aaba7f2d6fcbdfa6ca97fdc3d3da1ae7d66ca3322b7e90cf5a98b067555d06e6",
    "installed/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json": "264720afa0dd61919e21bbe9bc1312121b70e43019ac696240e069adc72cce15",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts": "9c4f608142c423538ffee89094935d3dede32664a1fc47c3cb4b248550946000",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json": "f1e465ff0c0cc86bee5c0cc4b51d2734c532e6ea12c75b60a2ac093a4577b2d4",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json": "7ede86f2c48d646202bf1332aefaf46db268c943d59752727db7247dc2920516",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json": "c3a5947992d4fe67c95cda7910911207376bbae41c0a124ec9e7e699172e7a49",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json": "1e31131b1ed21f98c007f04deb501343b8c4dd77f1c5a8494a9c2085f68d769d",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json": "eb008c756b29bdaa237c1f06d32ea4a21f6ef22148b03c6372cea5e4c0782273",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json": "8f7f75f4274745faa32e4abdba12de99f49b21df225f52f723b5c62043b0edca",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json": "3cae7069843679429e4ada7df261bb8961fa34cac15be89296026e69af312092",
    "installed/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json": "5333c7df76bceee098e865881d0808238dea836126c6c60b49299ec85c6c7a56",
    "installed/node_modules/ajv/lib/refs/json-schema-draft-06.json": "a9b6a00af20105009f0924cd7c02d811bbf70c579a96f1552579c3457111f687",
    "installed/node_modules/ajv/lib/refs/json-schema-draft-07.json": "f7e8b13cad4fecff9771f3626fef33e20e59027b90938a28fd9d2f6c17cd0773",
    "installed/node_modules/ajv/lib/refs/json-schema-secure.json": "b7840b4f1526eee47ac19780906a436d0c39df2aa3d505388caf18864085a421",
    "installed/node_modules/ajv/lib/refs/jtd-schema.ts": "76b788839e3f26ccbb073309b452595482714f2105295d009145d7b79e336003",
    "installed/node_modules/ajv/lib/runtime/equal.ts": "013de4ec7e4006015ef49ec787737636dc048a913aad0922295fc8b0eb15aa10",
    "installed/node_modules/ajv/lib/runtime/parseJson.ts": "79d1f9a5ae035324c73d85f146c00c19714f73a61d822470a12d28edd6be0fd5",
    "installed/node_modules/ajv/lib/runtime/quote.ts": "b87b625e0ca6a17d96c7af7999b7eaacc956c4265a49b54877d8fa9de295c1e3",
    "installed/node_modules/ajv/lib/runtime/re2.ts": "10841997f170df64628a12998362f97dec5052d06495a20ad72f725bd1bac2e7",
    "installed/node_modules/ajv/lib/runtime/timestamp.ts": "08509863a735667f2b8c5fb68d92f318947bd975cdf2a230ede606af96a8fbd4",
    "installed/node_modules/ajv/lib/runtime/ucs2length.ts": "a001c95dd2e835b9c61080254c117f02d425eb6760bd2c1d682ab63ed00d12f6",
    "installed/node_modules/ajv/lib/runtime/uri.ts": "4723aa43822e1cf2291029fe9038f317cca49ee685f59b2e48eb154f716a8edb",
    "installed/node_modules/ajv/lib/runtime/validation_error.ts": "abf8375d3a5d74512cc4d229e4839cf03b84d2e3904804401ca83cf7639e0a64",
    "installed/node_modules/ajv/lib/standalone/index.ts": "3509ccea2b4677c04074ccb9f6335ef63d36f183349d4c026dacc95928d096ed",
    "installed/node_modules/ajv/lib/standalone/instance.ts": "9fa1decae4056176ce7104da136af90419078307baafaeee947740e02eb4fc82",
    "installed/node_modules/ajv/lib/types/index.ts": "3cf1bd15564b691784b1bce4c6fa4223c0a3a8bde7b10d98270d7c66146aefa8",
    "installed/node_modules/ajv/lib/types/json-schema.ts": "4ccc0e648873df7580bb66a9d2e908604ddd96c69a88246dda60f5539e10bed8",
    "installed/node_modules/ajv/lib/types/jtd-schema.ts": "1c537a703005dbdf394539f58432861dae5135fddae6f54cebb28ae0f26f3d42",
    "installed/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts": "0593c60f31db5cea9022a353e56fd3066a8dac4e35607affb4e556d4d84c3f2a",
    "installed/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts": "1ea5e25fd12131cae2278b7fc4fda354dad5a60d65234b67aaa09adf10268f55",
    "installed/node_modules/ajv/lib/vocabularies/applicator/allOf.ts": "cce43c2f5c51e2c1f40d9e773d052fc9e73beb775c5d6c0ae93e0bdb5a2a32fa",
    "installed/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts": "2449024f686a1d8d51dc414849ae039465406adcf7ba04565d8ad2ba7448f594",
    "installed/node_modules/ajv/lib/vocabularies/applicator/contains.ts": "731c74710381d5484725d7e2bfa97e1f809a495ddae9bd0226a7c91578aeef05",
    "installed/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts": "d2e648e8fe45621558c8f14ff5684954a91f6d800d1b2bf3d90f43941c84df65",
    "installed/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts": "ba8f82eb99b70d5e128c69719a15a703f3b5b95844923487fd8d12c5015200cc",
    "installed/node_modules/ajv/lib/vocabularies/applicator/if.ts": "676949dae0592465efcfdb3f15c8700fcc5e0b95bf0674c3b8723acbf2c3285f",
    "installed/node_modules/ajv/lib/vocabularies/applicator/index.ts": "85f01326e6589c9b0a8cc38939ac0520c5d213d55f6fefe2a9c23c7bdea680f6",
    "installed/node_modules/ajv/lib/vocabularies/applicator/items.ts": "9ccc7f93f03988881f366885fd3cc1a1490f36712b7932f3735f2f72136990e3",
    "installed/node_modules/ajv/lib/vocabularies/applicator/items2020.ts": "939a853b1f7b3a1ba3907453435dac558d11ba5c059ffc02c87107871ed2a668",
    "installed/node_modules/ajv/lib/vocabularies/applicator/not.ts": "a458fd0c8a2386906e5e55a2095c6176dc02dcfa19e13ec4ba775b51e2b56971",
    "installed/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts": "ec3681fffbe66ae13befecacc4a400b3986b7819846b8e264320c189eff31ad0",
    "installed/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts": "80cb5e80c22228e2ce276b0703627f9057e40993b431a063a93abad5f92c3f75",
    "installed/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts": "ddddd4d635a17c56713d8938e78a7dc0c7688044ce1a5de033a6fd8e8ff96b0b",
    "installed/node_modules/ajv/lib/vocabularies/applicator/properties.ts": "76cd23a45c08a679f196d61e5b937e2a4361c92d9fc958a72d47ebc7efdba1f1",
    "installed/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts": "ab1b80a1a99dbf16578091b96b1347fda8f0177bfdee7ddbec161af54d01fa8f",
    "installed/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts": "29a4fc78180fa88c422b01d2168c29087235238a2516d4c1800542503b5060e4",
    "installed/node_modules/ajv/lib/vocabularies/code.ts": "f4bf46f24e44512addfc8b34e8ef1cd6320025236839e176deb59ee8b20c7ee7",
    "installed/node_modules/ajv/lib/vocabularies/core/id.ts": "241606f9c18746cb35cb74c728c6d972bd6100edad70692bb27f841ac8b1b4b1",
    "installed/node_modules/ajv/lib/vocabularies/core/index.ts": "43e089e25baac37f7665f0451e51956ec154f60a058b83f86cc3e577ab800f62",
    "installed/node_modules/ajv/lib/vocabularies/core/ref.ts": "0d932d49ef57d32449923e5687e57715f4d08252f749d34d1d9410e8f88711f8",
    "installed/node_modules/ajv/lib/vocabularies/discriminator/index.ts": "9b89f8b9ab15e49b326bb3505424a1c0cd234397bf7db13a80e74e627fc381a3",
    "installed/node_modules/ajv/lib/vocabularies/discriminator/types.ts": "537bcd41ac270d1a43417d742a1f9f55b319e6f213323f6b00edfbe38e88e7da",
    "installed/node_modules/ajv/lib/vocabularies/draft2020.ts": "840c49657713cbbd6467274f270c77bf16a7ed8b3aedbee6bb5c587550282aea",
    "installed/node_modules/ajv/lib/vocabularies/draft7.ts": "9f8fd4fa8b2084b4cae951badc68de3a361e01eea06a158d530c4d55e92b5fb4",
    "installed/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts": "bc8bb7636e8fff1add5d8c36577978f357731c2877fd4d4c59b620d6a8af1d8f",
    "installed/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts": "92884e9923f4053155e5c1f13d5e176c17b47f0db65616bf031a4bb93faf969d",
    "installed/node_modules/ajv/lib/vocabularies/dynamic/index.ts": "c5188cd455c45b486350ed74bb08b6fb47db13bea6f218cce9d2cbf88044352b",
    "installed/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts": "7d9e31d581249212f5c831d30d5398c43b6d7ce4d3dcb735880524016b3e8d6a",
    "installed/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts": "6202321b7ce13fb3aec6d0180c3e78b6f91d768be57afef6b1693bd143577ee3",
    "installed/node_modules/ajv/lib/vocabularies/errors.ts": "ccf58af574cd4a8475346998967fa6229b163b6b52af2e9b0b30fa37338b8e2b",
    "installed/node_modules/ajv/lib/vocabularies/format/format.ts": "5cd796fed502ebe7f2c650b47daae97c28967dd17fa020df56ec861986d30148",
    "installed/node_modules/ajv/lib/vocabularies/format/index.ts": "804a833df34f93e7cd1a1809782f65c1ac89610ac736045308d27b659264a40a",
    "installed/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts": "9dd6dd40e98239c10d6771c0a0d107e238c12af4b3c5932fe623de649588de1d",
    "installed/node_modules/ajv/lib/vocabularies/jtd/elements.ts": "54c00bc71c6bc0f5055c49fa0b6803db07832e5f77aadb1e55e5e045b3a4ad33",
    "installed/node_modules/ajv/lib/vocabularies/jtd/enum.ts": "a55ae1c6b7d9ac0e9053e71da407efe41b3156cc0db7091bcd20a9d8897844dd",
    "installed/node_modules/ajv/lib/vocabularies/jtd/error.ts": "e1bdb9dfada76ee42308e134f2e74027ea8398997961a3bae08cd10c792272c5",
    "installed/node_modules/ajv/lib/vocabularies/jtd/index.ts": "4ca3295374abddb3c03ada3fdc52b9b7cb175046769a3eef60605bef8a6ef85a",
    "installed/node_modules/ajv/lib/vocabularies/jtd/metadata.ts": "558fcb3d3b5e39a9a967326ea6a35160bd485755d587c5faafb644e25d0c0f01",
    "installed/node_modules/ajv/lib/vocabularies/jtd/nullable.ts": "75b370cb5ad4c36ff85a57fb9305a8018b5363666f0a5ac21c8de99d984b6bb8",
    "installed/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts": "03fdaf041fd433857e78c3b867ad1e6c1f0a964c0292498981e238b40a2a4e77",
    "installed/node_modules/ajv/lib/vocabularies/jtd/properties.ts": "930071681288045214e10af6065f5d6c7f6ea599d07c607f345b609bac4bf8e5",
    "installed/node_modules/ajv/lib/vocabularies/jtd/ref.ts": "f7dc8a31ad5764cc0c44725713130d5b656ead77483429226507da4dfd24ad2d",
    "installed/node_modules/ajv/lib/vocabularies/jtd/type.ts": "0e6c6bb43fa81bff1cb4ba3f4d6d73379f3e013efaa01b790768fa0a5095cd45",
    "installed/node_modules/ajv/lib/vocabularies/jtd/union.ts": "1dd265ce69eebbd46cd395b0b9d98ca22d8e681d0ab787e6409cb126450c9536",
    "installed/node_modules/ajv/lib/vocabularies/jtd/values.ts": "86236891ca9a9f77f7df5d399be026406d0f375c0a5d8f6d0749859dea245cdd",
    "installed/node_modules/ajv/lib/vocabularies/metadata.ts": "a0b32538e6d2c93c7fd10aef9963d990d24d9579d2494350a23f3501300817d1",
    "installed/node_modules/ajv/lib/vocabularies/next.ts": "b953c63e395e4e0c95e048ae8778473a744e1d7a7b5fa8c57733c1bfbf7ce443",
    "installed/node_modules/ajv/lib/vocabularies/unevaluated/index.ts": "0d44afd298469f01304d72a5cf7da11303367fa506200c46785cee4bd3350f40",
    "installed/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts": "c19c3d3e0b290171f674d3dbacc52d946f9e4325f2223355a055e741c5dbbbb2",
    "installed/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts": "7d725ffb348774d31cc697cc6b632a43431b3d2d92edb819fd7341902340c6de",
    "installed/node_modules/ajv/lib/vocabularies/validation/const.ts": "9dc3c40d6260158b2ee34dadadbc0e738cad939fc725cc1d2f5120bd43768ed5",
    "installed/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts": "082d569e899aca88dbe28bdf6a0c6c2efa120e107fe4d1244ecf3a0b17fef45b",
    "installed/node_modules/ajv/lib/vocabularies/validation/enum.ts": "f62f760dda52c2dbc053ef7b7012aa9db10d3af65e8b1dc5defcaf2ba9c25911",
    "installed/node_modules/ajv/lib/vocabularies/validation/index.ts": "72a7be83642b3da6317dc9661bfbc8a8f521773812ac6e5c58ddee1c4386a86c",
    "installed/node_modules/ajv/lib/vocabularies/validation/limitContains.ts": "3097c6f451ff7a527cbce136a08817114ee615f1b29221195cee45dfc89675e5",
    "installed/node_modules/ajv/lib/vocabularies/validation/limitItems.ts": "32098cc56bcd9ff44bfa83b1015a3bc2bb7d2f8f7eecb3113929df732faa8176",
    "installed/node_modules/ajv/lib/vocabularies/validation/limitLength.ts": "72afbaaa2718abe23156d8bb4af09fdc98a12054fe3c559b82e22718dbedb7de",
    "installed/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts": "61bedba4a12924a84924b096f3b401356805cc24593f4b800bab4ad05be06298",
    "installed/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts": "d55088c19cd829be5ff23dc7bb98dde9bb0bc9fb3baa2a4a141797044a668048",
    "installed/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts": "5130cb4147d60dbec590b1e153f0f69b3c7ab552da9dd12eb2e1c22ca36daf7c",
    "installed/node_modules/ajv/lib/vocabularies/validation/pattern.ts": "7de916ef56aba5ef4d0b03e69b0e206224d1226728700afc7ccd76d216ff7829",
    "installed/node_modules/ajv/lib/vocabularies/validation/required.ts": "73f26a08d78ace7a164eca526843086bfbb986799d9a7ecc02fb67a87d2456aa",
    "installed/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts": "9d978fd6b3dc81c07c60f5067253490b54962571a4b510e18f4e257508809ee0",
    "installed/node_modules/ajv/package.json": "1f9033ee5a6515e7d76938b7072941862d1ed228a6879cc7fe10cdeb75107989",
    "installed/node_modules/ajv-formats/LICENSE": "9df3bb69929a3b650ed73b3bfa1756725aaff0ac296461605753547004eafeaf",
    "installed/node_modules/ajv-formats/README.md": "bfb4ce0b6f3f34ffdc42be1a6549926aaa13854aae0d1827287d50c2c293097f",
    "installed/node_modules/ajv-formats/dist/formats.d.ts": "f050afc4e2e063baf534e8bfa7aa6489e360f1016eba8603c19b45ba9fcd5887",
    "installed/node_modules/ajv-formats/dist/formats.js": "b61693a26869970a92cc1fe832c931ccd3afe8b6d66802b19c48306349e84880",
    "installed/node_modules/ajv-formats/dist/formats.js.map": "572005eb8eca5a6bf6a82bb08fe5b96d001afd801a71c4f0c60dc98ec4e72e87",
    "installed/node_modules/ajv-formats/dist/index.d.ts": "092657fbee8f216761a98d6d1242bfe819a5ba06d8f312eafb03fe8b9ba059ce",
    "installed/node_modules/ajv-formats/dist/index.js": "3f3014150293846086d11058bb8bf43e669e354a98b37adcf10281454d5e753b",
    "installed/node_modules/ajv-formats/dist/index.js.map": "b954274ddd48215db2779c9da8b6353d3a327166de369219d45762378b30e5b5",
    "installed/node_modules/ajv-formats/dist/limit.d.ts": "9d6d5aec23fce486ccc52123d440d056519572f529d1f03dca71270d34efeec8",
    "installed/node_modules/ajv-formats/dist/limit.js": "ffc374031a55c3f6e39dc3fe69e663f8251b9d9d7ddb8f513a6807c985c18bb8",
    "installed/node_modules/ajv-formats/dist/limit.js.map": "1f7c052543625258c85ac43a754478960655ad4954a23846bc841a47e6fdf8e4",
    "installed/node_modules/ajv-formats/package.json": "402fb4bcfa457f0226813f3976ac42839dd619907c075c108efba8600d7edb69",
    "installed/node_modules/ajv-formats/src/formats.ts": "fec0bb3f73fd3ea487205c9fa783dca3d088d8f402829ab14c207567d00f0f8e",
    "installed/node_modules/ajv-formats/src/index.ts": "fb330a47ec7d2c8498d03078834603dab1a0689f40ca15875e6d57d740c5ff71",
    "installed/node_modules/ajv-formats/src/limit.ts": "62402e4fcb3bd9a0f4a22d2b228f1371897d47982e67ecd62950fdadb46261e6",
    "installed/node_modules/body-parser/LICENSE": "23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68",
    "installed/node_modules/body-parser/README.md": "8a065aafac23361571e81412d605763f1b4c2da802ecf6cdeeef19f70f2e46ae",
    "installed/node_modules/body-parser/index.js": "4d33d19d4ce36726988a1fa508f4d6f15254cc52fe95b777b30f49d97d825668",
    "installed/node_modules/body-parser/lib/read.js": "7c5d356030c78f124a0e1b4b848f4e3845f69def18e61f14b62bba0f359c71b1",
    "installed/node_modules/body-parser/lib/types/json.js": "88badae0fd93e54c8ea69985cc608ed8e4ecff54d5f7c415da40c3bda0d38e90",
    "installed/node_modules/body-parser/lib/types/raw.js": "4004d7e49853d2293e6f1dd1101a17cf61d7ffd072030810a140111750dd33bc",
    "installed/node_modules/body-parser/lib/types/text.js": "16366ad27c744dcea19fd6ee3a004265ade2f0085a12321f0170fc2c15acdf87",
    "installed/node_modules/body-parser/lib/types/urlencoded.js": "83ab07e1418c9dc2eace47c3f69d9278152e35ad7251288eaa45e8a2637fd972",
    "installed/node_modules/body-parser/lib/utils.js": "23eb2475b6cfd11fca8a5b157f8bf19416c1885dbd5d3c62b6f9193800c18fa3",
    "installed/node_modules/body-parser/node_modules/content-type/LICENSE": "257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38",
    "installed/node_modules/body-parser/node_modules/content-type/README.md": "ab20fde18d77c04276cacf5884b884d391cab2b75b905f6d24af5846bb671c90",
    "installed/node_modules/body-parser/node_modules/content-type/dist/index.d.ts": "33072e3d0e57b3860fe4dae3deae08ac8463fa94f3f7934659b77654fd057975",
    "installed/node_modules/body-parser/node_modules/content-type/dist/index.js": "cc336c843465abcbc40e9b12ff17cf66932a7b3685202fc707e7120f60e5d510",
    "installed/node_modules/body-parser/node_modules/content-type/dist/index.js.map": "afae79bbc2806914b2a72882c16d2e4f33d657b611de31675de67d6aec878f69",
    "installed/node_modules/body-parser/node_modules/content-type/package.json": "33102772db7c8375395bdcc11e7004c597b4cdbe457d8dd0ae2e56f5a2d28637",
    "installed/node_modules/body-parser/package.json": "ae841913f51a2b463ba86e011564784654dad953352dc972baf59f87da4b2d36",
    "installed/node_modules/bytes/History.md": "b335e48648e33bd56c3bcadbdad4c5a8b419099e7369d3dc845c106ddb49fc1c",
    "installed/node_modules/bytes/LICENSE": "e3b44af066615de2ea48d18d852d0762f18c0b2efcea714fa48a6f729d405b85",
    "installed/node_modules/bytes/Readme.md": "761e5a8818f8de496a4df6632fa30df65b62e00d5db2b297096c63e07d61f740",
    "installed/node_modules/bytes/index.js": "893fcbbbe962dc00e40dc2e4b20e76e92d874dd257345003c6575d940e91a37f",
    "installed/node_modules/bytes/package.json": "99b21c09ce812dc76a06cd87c4753247cb9615c6a8501c5a5a9d9caa22ea2d12",
    "installed/node_modules/call-bind-apply-helpers/.eslintrc": "dc98854dfa3be24e5f38a1b7a4a052388dd0c0b73e035c85a740c932be6c4d3c",
    "installed/node_modules/call-bind-apply-helpers/.github/FUNDING.yml": "ac7406f8f3f8eee59a2cefb2b2064ef232d01df43b7a9184cb7f48db7a8f7514",
    "installed/node_modules/call-bind-apply-helpers/.nycrc": "997785c50b0773e5e18bf15550fbf57823c634fefe623cd37b3c83696402ad0a",
    "installed/node_modules/call-bind-apply-helpers/CHANGELOG.md": "66327c6e1f42173b24ddd1c04500518452d501c957c314c5c366a5e39bdfcc85",
    "installed/node_modules/call-bind-apply-helpers/LICENSE": "5e325595b4ea8cfec3802f545b1def5d7b73e4a5b8e9ba63e32a320f67732292",
    "installed/node_modules/call-bind-apply-helpers/README.md": "9505a31673f63c1d4fe2fa70fbfcbf6b6ad71a323911e2e94ad9bf6649c9e002",
    "installed/node_modules/call-bind-apply-helpers/actualApply.d.ts": "c3be462785155944edb70e9ac81c626a33e2daf88d03172ec912e5ef22560300",
    "installed/node_modules/call-bind-apply-helpers/actualApply.js": "1cbe921bb00b03294815ff0ece4212f276870466961773ce238802bc71474540",
    "installed/node_modules/call-bind-apply-helpers/applyBind.d.ts": "ac3fcf3b11ad534a6a6c1be0024bfa1810b33d306c9e2bfe8ddb436cf0f5092e",
    "installed/node_modules/call-bind-apply-helpers/applyBind.js": "3e65d83cecb93fa80dc5ad4d86d98f9e715e101ac3d8ec56d36ee669f1180bd0",
    "installed/node_modules/call-bind-apply-helpers/functionApply.d.ts": "9c5e0d0415fb0e4f7e9b5ed63f1589225fe6f4a6497a01137180a81fb9151811",
    "installed/node_modules/call-bind-apply-helpers/functionApply.js": "6170e997fbe03c6f8ff48946ada7d54c7aadc01531509af81f0edfdb7be00e27",
    "installed/node_modules/call-bind-apply-helpers/functionCall.d.ts": "ba70f88edbb43a82675128e26f497b940da4e5d1abeed986c3bb03427cc1d4ea",
    "installed/node_modules/call-bind-apply-helpers/functionCall.js": "22d50c812748973250e9aa1994882a880c6e3bfc90d45e41f609cab97beee3fe",
    "installed/node_modules/call-bind-apply-helpers/index.d.ts": "47f88260dacdcbb125448220446b7f71a48fb392267ec81db281f50fd380def2",
    "installed/node_modules/call-bind-apply-helpers/index.js": "6a7ff51e964c2f1e24e3f3a90f41895bec230f07c3001eb29f45741ff99d7a83",
    "installed/node_modules/call-bind-apply-helpers/package.json": "59639b628c6846f674857c6a613fd47e2e4d2a24036cdf0f7a62ac634f4c8a5f",
    "installed/node_modules/call-bind-apply-helpers/reflectApply.d.ts": "936d6687c6f1a960dc45ae615e6b6f0bf4afc828eeed1a5990d65fd216b66e1b",
    "installed/node_modules/call-bind-apply-helpers/reflectApply.js": "e3ee45fb4c54bdb5f76ad4ef42780da004412ddb6d668993de4b9014efe246ff",
    "installed/node_modules/call-bind-apply-helpers/test/index.js": "8f68f29a54d276f06f12fe2143196130180e839ea75171b09e73c242433efeea",
    "installed/node_modules/call-bind-apply-helpers/tsconfig.json": "e85504b06a62ff3963fd69c1d30589c0808e5ce70c244e74efcaed46a8ea77c9",
    "installed/node_modules/call-bound/.eslintrc": "74e902a86f8225f37ee223801bbf5ac11f9d0a330a9b04c8909ef21147ffa412",
    "installed/node_modules/call-bound/.github/FUNDING.yml": "c88d2ad0d92b2977876a4f81aa60c4151c5b3a9e12eefe0843c0fbb87997edc6",
    "installed/node_modules/call-bound/.nycrc": "997785c50b0773e5e18bf15550fbf57823c634fefe623cd37b3c83696402ad0a",
    "installed/node_modules/call-bound/CHANGELOG.md": "333cf17d395a3c807ba1f568ca16aac057d40c7f3e6ef8b1e2e4967d1d0d12a2",
    "installed/node_modules/call-bound/LICENSE": "5e325595b4ea8cfec3802f545b1def5d7b73e4a5b8e9ba63e32a320f67732292",
    "installed/node_modules/call-bound/README.md": "8c1e445125b0119718896686b7c7015d1078fcc727327b6d1c4955df0b7b2d10",
    "installed/node_modules/call-bound/index.d.ts": "f8213a2dc5cb3a7b42d6708c68e36cbc2633552021ac89e618919cbecf6a2baa",
    "installed/node_modules/call-bound/index.js": "aaf524d09b5a4f8f732a516aa1c81e6e8c5d65ae3d01bce392e8fc1ac55c14ff",
    "installed/node_modules/call-bound/package.json": "dcc8abb3c4ad3774234272149020cb36d7b1a3d377a419454d1e7adb368dd9c3",
    "installed/node_modules/call-bound/test/index.js": "ff0e2917d84f9254d28466934577d67f0b00589d637bad08e637cb3278e43f22",
    "installed/node_modules/call-bound/tsconfig.json": "97ce3d982a834f79a60b6c4b8dccc0e961711f2e74fac4c8c2e1b877f9bc8bb4",
    "installed/node_modules/content-disposition/LICENSE": "bd47ce7b88c7759630d1e2b9fcfa170a0f1fde522be09e13fb1581a79d090400",
    "installed/node_modules/content-disposition/README.md": "132018e7063cb294ae51fe551c7622017ff2c30abbc28e4f6f807e617f3d7335",
    "installed/node_modules/content-disposition/dist/index.d.ts": "82a192d638efbb9fec1f901814aee8075a7be20c76df37376dc0831cb8575fd6",
    "installed/node_modules/content-disposition/dist/index.js": "5ec8a6c1b518940c111ac4c69813087cd52f90f99e71edf4a5a88d76bcac9caa",
    "installed/node_modules/content-disposition/dist/index.js.map": "1679a3f2c1621f707bbc63f339e8ef30097ac7cf0680aac38112865a0c7fd8a2",
    "installed/node_modules/content-disposition/package.json": "03fb6b61a5526d9b4b37bc7924734c3ddd34bf2dc70ae4d2718e501492c0b510",
    "installed/node_modules/content-type/HISTORY.md": "a8b6514926048a9bfad6c058a3f374797d1a752b47d00b03b34ff61d093a3b5d",
    "installed/node_modules/content-type/LICENSE": "257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38",
    "installed/node_modules/content-type/README.md": "8793880cbc4fd7294dff8562b71d9381ea1c0557422b66007920415ba439486e",
    "installed/node_modules/content-type/index.js": "7d76ae0f8ecc0a8c053de97b0f695f3fa3df33f692d1bd241307995304e5f63d",
    "installed/node_modules/content-type/package.json": "bd78a5427ffca1966621301edc6cac2146c8c1e137f122161ba90dca7ec89f77",
    "installed/node_modules/cookie/LICENSE": "c02110eedc16c7114f1a9bdc026c65626ce1d9c7e27fd51a8e0feee8a48a6858",
    "installed/node_modules/cookie/README.md": "ba8b36c7d860d6ef37887b6ef496a486e91aefe5229f65157cc8b44725b9bec5",
    "installed/node_modules/cookie/SECURITY.md": "299f5e632ccb1ae2d74f95dac09db13d7ff46c482663b67032e3e72cbe376276",
    "installed/node_modules/cookie/index.js": "a88f6d7257e3403b727b90a2f3f5c03591e14eaa0b217c501b7071074f080e42",
    "installed/node_modules/cookie/package.json": "7fa781bd142e7f38b66bff64b4e3a8be9e53e340e7ddaf27caebd00322602208",
    "installed/node_modules/cookie-signature/History.md": "dd43855550e6d855334a3c33be197b904973071f847eb3b2db26905bbedb7e7f",
    "installed/node_modules/cookie-signature/LICENSE": "0dd4e47333485760cf8c265db5a5e24ae8d7401064c6f2e19793ee81a5bef42f",
    "installed/node_modules/cookie-signature/Readme.md": "f3172a549a7cfb093d8706a6d0b1e7a271d81b51dbcd0ff0f5e15d4375553d53",
    "installed/node_modules/cookie-signature/index.js": "6e749929d9d289d7ee635eeff67cbdf6f11c2859bc867f576b164a1fe54e6cb4",
    "installed/node_modules/cookie-signature/package.json": "c07dac3271d2ab772ac105f714c3f44bea5180a9a40bf95c2db8d6cb29bb28be",
    "installed/node_modules/cors/LICENSE": "1aa9a12863eefb583779b2ca0e5d73c610b6e6d07529ae0472721769a6ea0a32",
    "installed/node_modules/cors/README.md": "369e3374210f43cd0e15bea9e1f974edf70f5719ea06d3ec2c0eb7517a16e000",
    "installed/node_modules/cors/lib/index.js": "ea5c1ee247ad5204dad41a86326197d9d85a3bc46e8c9078cc4f1f323a828697",
    "installed/node_modules/cors/package.json": "b314218cdfc9e9442efd35c74c4176902c0bbd74700ba30d6055e70a76455174",
    "installed/node_modules/cross-spawn/LICENSE": "aaa78451b6fecd1b9c4594c796c133c0e90cad100372ff8bc6de615e9ef9adf1",
    "installed/node_modules/cross-spawn/README.md": "022aa5bc5706ce14899569741b420e8cb59108c90871d341f31b684d279bd594",
    "installed/node_modules/cross-spawn/index.js": "b8e01cb18ba87ee1b0e5eb2eb1ce6cbb25a2bdd229f9e08671f8a10ed7e3ad35",
    "installed/node_modules/cross-spawn/lib/enoent.js": "0f9aab5c708991cf01d3fda557318c4600a46071138742ee8596244f7fd73ef5",
    "installed/node_modules/cross-spawn/lib/parse.js": "0a67601365a3ae413653c8c9d3c6bff2202861e1eb8b5d28bf46d4812a4465ea",
    "installed/node_modules/cross-spawn/lib/util/escape.js": "5d61b2829e0e7912874e1e664146554d0cd02fd5524abf4ea59a879f0fc30675",
    "installed/node_modules/cross-spawn/lib/util/readShebang.js": "b05ba732e167fcf9a4fd67ebb4a5c28cca4712a36376c0b0f2e4e1d37e7f18d2",
    "installed/node_modules/cross-spawn/lib/util/resolveCommand.js": "e525fe739aba01cf5eee6473df449cdda93df6266effa8eae0fcfb9a4e6c5de6",
    "installed/node_modules/cross-spawn/package.json": "2e106cd9b4ae4e34ead35218371a0d4e172da72515a4f8f97d69a2e1fe3dee82",
    "installed/node_modules/debug/LICENSE": "3a61c6c96caf5c1d9b623fb9b04c822b783dfcb78aa7e49c76a3f643e6ed7f95",
    "installed/node_modules/debug/README.md": "486cb669048bd5014adf9ea117e27a45c4e61b0e668f464c724273beb8170797",
    "installed/node_modules/debug/package.json": "ea8e33d63fe5f3a4c36609b6c3df8e2ef1f8b8ba2fc3a2e1e53cb27291f384af",
    "installed/node_modules/debug/src/browser.js": "19920671f5902f64ad8ea11767fa50ea9d7a71ae0b7dff7ba5693c0075afc763",
    "installed/node_modules/debug/src/common.js": "dbe83d2bb5837f3c4d7fe537b8004c585987270eceed5b06b8e078deb0ae214a",
    "installed/node_modules/debug/src/index.js": "aa127ff1752b7d9c7415c5c7bb6994d9aa722b81bcbcab4bd48316b013d23bf3",
    "installed/node_modules/debug/src/node.js": "d7b26d7c92f8ea7794b77ce11f3c11cd18c9084df7c357e3c7025344fa28aac6",
    "installed/node_modules/depd/History.md": "b6e94899b155a3f707694b8ced212e1b01f43d0953d89e1c5b718b3e5fb896fa",
    "installed/node_modules/depd/LICENSE": "bd134b41da59e452fb5a1d366b660886f741c87c2bf9428e93764c419fbc40f5",
    "installed/node_modules/depd/Readme.md": "11deb26eafa25a465ffb8a8e3c28195eb40e679fda52b760132dbe9c9b21fb5c",
    "installed/node_modules/depd/index.js": "4d587a5662e20a7bb9bfe6555afe5987e1b80303a819b447394f37a93297ee91",
    "installed/node_modules/depd/lib/browser/index.js": "10b4d4a4e9d14e9e6a5ab7ced64405ef90e6bec94d479a8e223cbba88828ad79",
    "installed/node_modules/depd/package.json": "5a3659bcc2e47b25ebf9f23f38eb9452a58920bfe4b59410bfa6fe84639a3b99",
    "installed/node_modules/dunder-proto/.eslintrc": "0694050195fc694c5846b0a2a66b437ac775da988f0a779c55fb892597f7f641",
    "installed/node_modules/dunder-proto/.github/FUNDING.yml": "aa11a9d937d72381b6fc36c2fa3ea4e7bb3d9650c5d2604e14f2998be4e9a643",
    "installed/node_modules/dunder-proto/.nycrc": "948366fea3b423a46366326d0bb2e54b08abd1cf0b243678ba6625740c40da5a",
    "installed/node_modules/dunder-proto/CHANGELOG.md": "889ec6c5fd3b8b18d431c60a36d643f357d22a8aa1c9c9e6fd8ffecd89c67f13",
    "installed/node_modules/dunder-proto/LICENSE": "2b770a704c15de238c3f622b01b0044ddd60b49ee30608ea6991ebf19db7a7a1",
    "installed/node_modules/dunder-proto/README.md": "a04f8e67cb76f7d636860dd5d9fc6edd07ec3d41c6672897045573977c8e762a",
    "installed/node_modules/dunder-proto/get.d.ts": "7c2f315cfb64dc1827f84eb89e84c0db072e109379173e3869de7c13160623d2",
    "installed/node_modules/dunder-proto/get.js": "9671388b2fa2cbce2f4b8645cc1dedae2f182113a78c93dd142d987c2517dacf",
    "installed/node_modules/dunder-proto/package.json": "24df71008e4225c858f389dd2728b76cf66b752256d42a38ed7930aacae7fe2b",
    "installed/node_modules/dunder-proto/set.d.ts": "1cafbbee16530370af0b1116ffea5f9dec7db15bb0c9d417c37c76505954bf50",
    "installed/node_modules/dunder-proto/set.js": "627dfab99b492879fca53b5d648a7263fc16181bfee148e7d29f7fa0f47bd24d",
    "installed/node_modules/dunder-proto/test/get.js": "cd6c3e2cc078652bac3005445b7d9f36108b61e67c4ced535307165cb2487a26",
    "installed/node_modules/dunder-proto/test/index.js": "35268fab42edb06d406b44b1805d6b7d037a585474fde87a246adfd463b97637",
    "installed/node_modules/dunder-proto/test/set.js": "80fd77e5232099dfb76b64e61edef17cf8567e46adbd3a71bdd05679b12bc6a7",
    "installed/node_modules/dunder-proto/tsconfig.json": "5c01887c6c8539144c0fc5fae6f5115073b6e26ecbeae8434a0329f46f9169c6",
    "installed/node_modules/ee-first/LICENSE": "965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288",
    "installed/node_modules/ee-first/README.md": "4480e03d020436e665886a99120abb2ee7fb422850e1b53ccbdbdbd251414c23",
    "installed/node_modules/ee-first/index.js": "29d3cccddc7148f48715bfc94eb6f7b9f9132a5ecb704b9d4b713de87e7603dd",
    "installed/node_modules/ee-first/package.json": "a4eece6ff6b38bf7ac107323f381cc60500097a9cbdd473f5d5b45e68822cb89",
    "installed/node_modules/encodeurl/LICENSE": "7585ea7bba616ccbbe43cb54ecb67956688c3c5641bb84f3099a652a73193afe",
    "installed/node_modules/encodeurl/README.md": "c94f2967cafee3fc1df2798a43014e9742b76d89de116ec01f7c6b903caebea5",
    "installed/node_modules/encodeurl/index.js": "da79e42b4f04e0ce63e45525558f838b99500d2fe1a4fe0e28cb6c7ed7eae58c",
    "installed/node_modules/encodeurl/package.json": "5df10798f4b086da95c24180d7519fa4f68e2057a48e2ff6b76b91d6ffed1e9b",
    "installed/node_modules/es-define-property/.eslintrc": "317b53d336fef735ecf930b9518869a5692c1bd1b80ea2d53ce6a86b36919c67",
    "installed/node_modules/es-define-property/.github/FUNDING.yml": "fdd23eb2a51d498f6bbc1d709eb6fad3778bbb0205126bc9548d4c59b714a402",
    "installed/node_modules/es-define-property/.nycrc": "997785c50b0773e5e18bf15550fbf57823c634fefe623cd37b3c83696402ad0a",
    "installed/node_modules/es-define-property/CHANGELOG.md": "fe3c3c181877529ccb5cce2f34779fa3fd28a5c5d239ca4c2a36e617dc3589b7",
    "installed/node_modules/es-define-property/LICENSE": "5e325595b4ea8cfec3802f545b1def5d7b73e4a5b8e9ba63e32a320f67732292",
    "installed/node_modules/es-define-property/README.md": "5ce564bb53fafd87b543f144e04955d128199205cf07bff442f3b875ca90d422",
    "installed/node_modules/es-define-property/index.d.ts": "26f10cc22a24b23db7cd41ff339c907121ef7f518e0fe347b48a05f1bf0f7cbf",
    "installed/node_modules/es-define-property/index.js": "92d23d0217808c68692a1881369c207db1a35fc09dd24b98dd5f1a07d6bb3ed0",
    "installed/node_modules/es-define-property/package.json": "3a2cb30dae30a96705dcd9aa2d5fb190cf8200f27badccfa5a81a4374e5708b4",
    "installed/node_modules/es-define-property/test/index.js": "2f27838dd904c0f4691d65239cf7a9dfb00f976634d616572b0acaf18f31e674",
    "installed/node_modules/es-define-property/tsconfig.json": "2ff433185c049374ca38887ac82b549215cd40f0090d4c350f8ee6c549fb076d",
    "installed/node_modules/es-errors/.eslintrc": "0694050195fc694c5846b0a2a66b437ac775da988f0a779c55fb892597f7f641",
    "installed/node_modules/es-errors/.github/FUNDING.yml": "5cffdeeee604fdf21f64369bf526c2c707377f01fdf1d816b204422cde144ce9",
    "installed/node_modules/es-errors/CHANGELOG.md": "f21ce3b58b9c00181c38429f5f5f07438675fb519c749e4cc9edd7c661a00daf",
    "installed/node_modules/es-errors/LICENSE": "5e325595b4ea8cfec3802f545b1def5d7b73e4a5b8e9ba63e32a320f67732292",
    "installed/node_modules/es-errors/README.md": "176ec91db928c929508abf9917ebc35dd66e5ea1a989ac3e7ab290496d32c0d6",
    "installed/node_modules/es-errors/eval.d.ts": "82e8fde67d906608c18ede0ee67f0ec2221e13fb7de1576f9fc59e91158de2e6",
    "installed/node_modules/es-errors/eval.js": "d3161a97f162b483206e9849e41bb17fd54166810c76ebaa1df068133e54caae",
    "installed/node_modules/es-errors/index.d.ts": "032af142c4e06fcd215e4519d4d1c9c60dbaa63d033cb116abb5b5a4f6336fbf",
    "installed/node_modules/es-errors/index.js": "28fee350e89561019cf27ea37a313b4b4995f521fd087198fa235a8f135962de",
    "installed/node_modules/es-errors/package.json": "1a0a0bcccc76b915cb64073317312840cf6363e9144b96f406d0059774dd5278",
    "installed/node_modules/es-errors/range.d.ts": "7ab8a9b5b7d60cd76c021039f87509f5a13ba0292a3984fb1381b4ba4d79c26c",
    "installed/node_modules/es-errors/range.js": "e376220f3a0226bd5b09b6d5a1411bbac274db8d2d9f7eb723142b7e676374be",
    "installed/node_modules/es-errors/ref.d.ts": "c736bb4552777f1dba23aa0152b8e41c20a09bbc02fca1dde4ea4d1180fefb04",
    "installed/node_modules/es-errors/ref.js": "31945f1740a0a2143fb8c38943afc6cce5de5ba6fab7af42d17b7874a19a0900",
    "installed/node_modules/es-errors/syntax.d.ts": "7a47e9178209435c05b910d1aac6fc939721c2cf45a878759c9a855b0b67551f",
    "installed/node_modules/es-errors/syntax.js": "56574ecd3eb54c06efd319080cc8923992791e430c914520b85e92c2f5e373f5",
    "installed/node_modules/es-errors/test/index.js": "14e2b88a10618ac3947289f93011dcfc5a2c27fcb585f453f99de8ee739185f8",
    "installed/node_modules/es-errors/tsconfig.json": "539cacffe5895fcf9a9eb59e3a6a9fadbb41ba3e05339d97e3b55da34d2c85a4",
    "installed/node_modules/es-errors/type.d.ts": "bf83d189c911c5d6f970c3c6a0ddf5637efe3deafaad89c31ef4418a2f90487a",
    "installed/node_modules/es-errors/type.js": "c71b2f41c15edb3824f50dd24df900495c8caaba5b6e9a80851b82bb2309827b",
    "installed/node_modules/es-errors/uri.d.ts": "ccbb8676063c7d4446b57e51b13d2f3d24a48ad419f9495b5bb21bd86f8c9374",
    "installed/node_modules/es-errors/uri.js": "e1e5591bde037a2ffeda822fa03fac22ff7c93c7b269ed9adf1cbea0e21614b0",
    "installed/node_modules/es-object-atoms/.eslintrc": "945b2b35c8d6dc3bb008e7a6391fb98f8d4103ca0dc64652b13dcbea0dd090e1",
    "installed/node_modules/es-object-atoms/.github/FUNDING.yml": "3a6cc965019e4c28527969955cb0fe7b8f8e456bcf9c5557b2fdd6c6cea2f9b6",
    "installed/node_modules/es-object-atoms/CHANGELOG.md": "a3b70f7caa0d82112311303675233cf100b600ea33c25f74fdbcd5dccc288321",
    "installed/node_modules/es-object-atoms/LICENSE": "5e325595b4ea8cfec3802f545b1def5d7b73e4a5b8e9ba63e32a320f67732292",
    "installed/node_modules/es-object-atoms/README.md": "7ed12f453b83efdb7ace289312b40ff3eaf810d548347636b8274f56b4af9244",
    "installed/node_modules/es-object-atoms/RequireObjectCoercible.d.ts": "2045b0793cf40da407a831c1c70de9c091a9d628bec71bb47da7a21a714df2b1",
    "installed/node_modules/es-object-atoms/RequireObjectCoercible.js": "52db42daa35deb84c5301c7dc5cd274593d72ad3ce77c64d2f9d71b46784b0c5",
    "installed/node_modules/es-object-atoms/ToObject.d.ts": "a13501abcba87c7de858dfb38777ba334d1ffa02d2c8ef54a808fc4e6b9f6466",
    "installed/node_modules/es-object-atoms/ToObject.js": "deab7682047e003d3bdaa5c17ac4466783a6d4503aeb97724315936967ed860b",
    "installed/node_modules/es-object-atoms/index.d.ts": "82cfb73ba05567cb297bb8066b03cfa1364be56c3e46d29875b6eb087b5d0349",
    "installed/node_modules/es-object-atoms/index.js": "44ee7a57ed1c50c4c5fd2a6fcaee8772f4b7d0869326eed0aadcef87bc305212",
    "installed/node_modules/es-object-atoms/isObject.d.ts": "9f1934de45bfb908c1daca737e1c9762d892a74b2f6b9c29f205f99de266f9c8",
    "installed/node_modules/es-object-atoms/isObject.js": "c253c90b894493019432019026378b8fc6e65ba2617da6792e2e6634212f56c2",
    "installed/node_modules/es-object-atoms/package.json": "e4b7882975d10c68457945c883e1060d0b058af5b1216215c872263f42e12fc9",
    "installed/node_modules/es-object-atoms/test/index.js": "e0b98cb59959ac9e9aa0f056aa2a6a6afc637458caec77a4f9ff1a7cdbcf54b5",
    "installed/node_modules/es-object-atoms/tsconfig.json": "22c713482377f2492fcad1e7cb33ef479cf8c1151b0ea2c8c3a49d20d4369988",
    "installed/node_modules/escape-html/LICENSE": "255aa557a1f55224ce522f311629c0bf20854740a67955cefd798fbd1d3d1ded",
    "installed/node_modules/escape-html/Readme.md": "86530565532ede3efb547e89694bd94cd384c6a4a6ce071afecb3381dfb2ef22",
    "installed/node_modules/escape-html/index.js": "42a7f91883d0c5ce9292dda4e017e1f8664d34b09276d89fb6f3859c29d1ca9b",
    "installed/node_modules/escape-html/package.json": "bd320a3e9d23249f5f7d3ce72f2fa426e28a6b2704bd2b281d0c92806a1f5223",
    "installed/node_modules/etag/HISTORY.md": "a6311c59a3ea30af617c8526eb2aa086b835260bf05490c81fa8e696e24ce7cd",
    "installed/node_modules/etag/LICENSE": "a7996721249a136fbcfc1c201bcb5f414f38a701d4a24f28abe65e16cfcce813",
    "installed/node_modules/etag/README.md": "8a982db264a205206e5f2c18b0dc2fbb3a46762e997e89fcebf439e390d0cf65",
    "installed/node_modules/etag/index.js": "a95a23b9a60726a4522b768c88ad73a7ea2c539d220068227f5510a8ee2008ae",
    "installed/node_modules/etag/package.json": "836b9a5dd1c6af638f4602e83e2568277f9ab1f457db0b95d949c2a4ddb0462a",
    "installed/node_modules/eventsource/LICENSE": "f683a72ffe6a9675b5507af22fe0f448d8c8de3da1e14f139d370a7e6a54a23e",
    "installed/node_modules/eventsource/README.md": "d443a66d7492d1c2bbd39fbeac0d19ae7e1e78fe2dbfa5a1b5bbc9281b44c098",
    "installed/node_modules/eventsource/dist/index.cjs": "5d397021da05bfe2197e382ae06ca3a11ae4fd6ff1ce3c66237911957c224fb5",
    "installed/node_modules/eventsource/dist/index.cjs.map": "6b0bae4d7d749c1c253b1f18fa8de3765694d591635f7a9e70947ba66cbf0c52",
    "installed/node_modules/eventsource/dist/index.d.cts": "7ae48a41eb14b67618693cd9a9565c932c5685be8ce991372190894ea2ebcd48",
    "installed/node_modules/eventsource/dist/index.d.ts": "7ae48a41eb14b67618693cd9a9565c932c5685be8ce991372190894ea2ebcd48",
    "installed/node_modules/eventsource/dist/index.js": "5d2927b232978166061a6add1211d5edbfd6068df345f36c44dba682eaf30dda",
    "installed/node_modules/eventsource/dist/index.js.map": "b231c0cee12bdcfd00987c556fa72c33fe3072c19a69ff294da7c3a679bc48ec",
    "installed/node_modules/eventsource/package.json": "99cec0bc0f4919b5de13302b0ce28cb0dd966b316cd2c961e0e7c73f884f7524",
    "installed/node_modules/eventsource/src/EventSource.ts": "8eacf2ad313a98ed027a591620cba99b9b8267a4c38175244aed1946f125cb36",
    "installed/node_modules/eventsource/src/errors.ts": "e4ceba7c4aa23edd057d694504f7df2c1371ff0bb9184a18e12c9e0acaed2e78",
    "installed/node_modules/eventsource/src/index.ts": "64635ca66e223b6b13b7040767627b6e0a456d3eb2cbb557a6ba0a4c7607f8c5",
    "installed/node_modules/eventsource/src/types.ts": "e1e8548c36526a0965fcc609ad94c9549ea5fb8753604f7f8a5ac847b10a04cd",
    "installed/node_modules/eventsource-parser/LICENSE": "835eb611a23301b27115ca1be9f754c876e643ceb7fe63049c6b50609a1cafeb",
    "installed/node_modules/eventsource-parser/README.md": "8e3843ae114ac1cfc102513384426bfc027687a03e6c0f429c33463b7e421152",
    "installed/node_modules/eventsource-parser/dist/index.cjs": "25ffe88290d5e348eff3716985b8c19881eeee8f062715e8f1ae9f7bb97bc874",
    "installed/node_modules/eventsource-parser/dist/index.cjs.map": "9d881e99fa1fef7898f09fad4d95a87b49181a2113d23438b1d9b249e10b7514",
    "installed/node_modules/eventsource-parser/dist/index.d.cts": "7bb96d08856fabf9f99b8627c8bce04a0f5836f388b476a1917127eb98768789",
    "installed/node_modules/eventsource-parser/dist/index.d.ts": "7bb96d08856fabf9f99b8627c8bce04a0f5836f388b476a1917127eb98768789",
    "installed/node_modules/eventsource-parser/dist/index.js": "74eb03948c048c68b048b3ff3e11e8ddf9470516379567544a93a83c448569d3",
    "installed/node_modules/eventsource-parser/dist/index.js.map": "1960a946c2a61a91d8f9000030699ab9e042c2add3c56b44cdfe1a73da91d01a",
    "installed/node_modules/eventsource-parser/dist/stream.cjs": "40df68578ee8a22bdf866050e0de11c7b3bb66488cf6c10bceef254f3113eb04",
    "installed/node_modules/eventsource-parser/dist/stream.cjs.map": "ba04deaa952436ec03f6f70abf96c4e782c0f4f79412d8c72e4f9a2ea805ea2c",
    "installed/node_modules/eventsource-parser/dist/stream.d.cts": "958002b3dddffde5cd74a187f93508121f7065e361312e16a8aecd7676bf1a83",
    "installed/node_modules/eventsource-parser/dist/stream.d.ts": "958002b3dddffde5cd74a187f93508121f7065e361312e16a8aecd7676bf1a83",
    "installed/node_modules/eventsource-parser/dist/stream.js": "05559acf7e512e413080ce1df97b51bbf875e67ec3068ca7df08a6da617b3013",
    "installed/node_modules/eventsource-parser/dist/stream.js.map": "2939c131c2c3979950992ce883ac4b48819d6d76b6f876454d5a80a0a3d67065",
    "installed/node_modules/eventsource-parser/package.json": "27a8440c43f6bb12ec3d93338d93efcc4130e8be1ec7f33f5b31c05c2147430b",
    "installed/node_modules/eventsource-parser/src/errors.ts": "28765e10e25b20065e67d5496a3bbdccf83f18808b33c26e22712eb846a27b3e",
    "installed/node_modules/eventsource-parser/src/index.ts": "7d526d9338f2a2f542c9817aace235a5081452d1d74a2789353a71f5e02dc991",
    "installed/node_modules/eventsource-parser/src/parse.ts": "51541ac36a5a2cc785baf7786815808533e10eaac1cf630cb84d165244ab8f7e",
    "installed/node_modules/eventsource-parser/src/stream.ts": "b286a2d9f73082fadb588ac0e1dbeb355510ff12879ebe350c90b20aa46eb9cb",
    "installed/node_modules/eventsource-parser/src/types.ts": "ea48288831fc03a2bcc30d488af2d25e2ab65d696de889d2db060367911f56b0",
    "installed/node_modules/eventsource-parser/stream.js": "08df709a3d9b0fd6d7bf5ba48f393969b253c1800dafe74c001caa7f31b22aa6",
    "installed/node_modules/express/LICENSE": "95a5762890e5c1c9808921cef095661fc482c5e1f0bba31446ac85595df6237c",
    "installed/node_modules/express/Readme.md": "600f9f3a8fe35c9657e3bb61d2afbfee9bfe788a764892596bef49ede3c9ef0e",
    "installed/node_modules/express/index.js": "4d2f5afc192178c5b0dc418d2da5826d52a8b6998771b011aede7fdba9118140",
    "installed/node_modules/express/lib/application.js": "6d7e08355025786982d17042fc0355b6a5e9339545dc27e2782b3aaa28a7bc04",
    "installed/node_modules/express/lib/express.js": "4f35e8273a5e78c35e778d14e4a8c80a81ca3e1fc8047dc87d2077b860404572",
    "installed/node_modules/express/lib/request.js": "a9fda39c4472aeaa4d696f4324f58cc1d036f84ed04145d6d56a12a59578e751",
    "installed/node_modules/express/lib/response.js": "efe24afe2978d0bf2ad52d5b163a7af0d25d965e5dfc75979c4fcc883c60a510",
    "installed/node_modules/express/lib/utils.js": "4bd3bf9c911e086d1911954708de7a6c384ed924360e3fd1d4a43c98bd68b112",
    "installed/node_modules/express/lib/view.js": "74f4171b66263e22481820bc5975708f7dd8a61484f570aac7c5b4ab77ecbd79",
    "installed/node_modules/express/node_modules/content-type/LICENSE": "257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38",
    "installed/node_modules/express/node_modules/content-type/README.md": "ab20fde18d77c04276cacf5884b884d391cab2b75b905f6d24af5846bb671c90",
    "installed/node_modules/express/node_modules/content-type/dist/index.d.ts": "33072e3d0e57b3860fe4dae3deae08ac8463fa94f3f7934659b77654fd057975",
    "installed/node_modules/express/node_modules/content-type/dist/index.js": "cc336c843465abcbc40e9b12ff17cf66932a7b3685202fc707e7120f60e5d510",
    "installed/node_modules/express/node_modules/content-type/dist/index.js.map": "afae79bbc2806914b2a72882c16d2e4f33d657b611de31675de67d6aec878f69",
    "installed/node_modules/express/node_modules/content-type/package.json": "33102772db7c8375395bdcc11e7004c597b4cdbe457d8dd0ae2e56f5a2d28637",
    "installed/node_modules/express/package.json": "9645053f08f43135ec21f46ae434e49e10528c9062fde7776b150f38a2335afe",
    "installed/node_modules/express-rate-limit/dist/index.cjs": "c1096402314a1452455682accc705d8ba5ea22bd941104eddd0f26d880359926",
    "installed/node_modules/express-rate-limit/dist/index.d.cts": "b4a16e081440f884d2822c4bb000a547dc2a3939eb294f702b875b6d759389aa",
    "installed/node_modules/express-rate-limit/dist/index.d.mts": "b4a16e081440f884d2822c4bb000a547dc2a3939eb294f702b875b6d759389aa",
    "installed/node_modules/express-rate-limit/dist/index.d.ts": "b4a16e081440f884d2822c4bb000a547dc2a3939eb294f702b875b6d759389aa",
    "installed/node_modules/express-rate-limit/dist/index.mjs": "56fc8f8b19c58b1b16e0f6974328d75dd098a9dee9c35577b2f2eab37e571d3f",
    "installed/node_modules/express-rate-limit/license": "a752c164b45840ef677e68c738aefabfd665ee9f112ada4538761301a97118b0",
    "installed/node_modules/express-rate-limit/package.json": "cf9f6a0150fbd9eb49971bac2760a3a0e143b06fac8ce6c0edd3d300cf9f2097",
    "installed/node_modules/express-rate-limit/readme.md": "73078ad9cd447b2d13361c56a0f472361ad1e2c72128b158cd6a5ac0ce76c376",
    "installed/node_modules/express-rate-limit/tsconfig.json": "e01bace0aeb0b1a35655b37ebfddebf2871279a870c2c780694b0e4957469251",
    "installed/node_modules/fast-deep-equal/LICENSE": "7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a",
    "installed/node_modules/fast-deep-equal/README.md": "ada32c1b53bd74640a22806e99b25c2b8ab2946eed338f325114be87bd5b9fce",
    "installed/node_modules/fast-deep-equal/es6/index.d.ts": "d979def17dea97ee491c975f3d3cb31957b7970a791c1d5a3854ea6cd4cce91e",
    "installed/node_modules/fast-deep-equal/es6/index.js": "d7f027497048c75e17268dbc66b670579d4f70f2dc0e019cdc9edf5078c247d6",
    "installed/node_modules/fast-deep-equal/es6/react.d.ts": "d979def17dea97ee491c975f3d3cb31957b7970a791c1d5a3854ea6cd4cce91e",
    "installed/node_modules/fast-deep-equal/es6/react.js": "366779cbb7821d26d18b9eaa12b6788cbb101cdbbabcae36f2919a5f48534ef0",
    "installed/node_modules/fast-deep-equal/index.d.ts": "37ffe3c12813b6a6d512f7c27b71f3388d03dafa10555ad5094cea393ed3d1f6",
    "installed/node_modules/fast-deep-equal/index.js": "eb469e206280321a3878f2335ec98aa2104a155079d8ed83a23029098dccd215",
    "installed/node_modules/fast-deep-equal/package.json": "a5c63940db0260739be9e2ac67f3aac268df4db5770420ee4e34e493152f97d2",
    "installed/node_modules/fast-deep-equal/react.d.ts": "d979def17dea97ee491c975f3d3cb31957b7970a791c1d5a3854ea6cd4cce91e",
    "installed/node_modules/fast-deep-equal/react.js": "37cbd168dbd42c73119ce7326556bddef40b3a5fbd2e215cf81a7c78fb73ff9a",
    "installed/node_modules/fast-uri/.gitattributes": "e173bffc6cde613d3e6d06e49f2b1d05385cb02aa68c4931656b5b051ab649dd",
    "installed/node_modules/fast-uri/.github/dependabot.yml": "60ffc0c7159ff6af5e36ad3ecc56fe63782e4defaabafa94a13df7150d9a84c6",
    "installed/node_modules/fast-uri/.github/workflows/ci.yml": "a5f799b1fd846548bd97adc494f1e0bc13919215b683235f5d3a30d2ad472736",
    "installed/node_modules/fast-uri/.github/workflows/lock-threads.yml": "618dc46b9d589d991d97f4c9dd8b24c4f21edae32cdfd6c1ddc299dcab3d21d7",
    "installed/node_modules/fast-uri/.github/workflows/package-manager-ci.yml": "7b086b40b64203092ce43638296c235ceba118d7b942fac7398ff476167876de",
    "installed/node_modules/fast-uri/LICENSE": "b010b0dfdfdb23d7396e03b82cd4621fc9bb8f95d6b0aea70b9c24e12074c786",
    "installed/node_modules/fast-uri/README.md": "55449f95eb4b7b69f7a97eca943de1e30d7ebcad2e323753e44cf44669133c5f",
    "installed/node_modules/fast-uri/benchmark/benchmark.mjs": "45ba9783c3258e448b05bd371161ef9fcbeed332ba1e9455ca9c98edb24e1f33",
    "installed/node_modules/fast-uri/benchmark/equal.mjs": "36eb5b2acea9c4e969ab8fe028e88b781aa948e597368655a13528c3a93f1d39",
    "installed/node_modules/fast-uri/benchmark/non-simple-domain.mjs": "303eb41faa6c2489b5086f3d2764bf6ecaf3b937b385647c6e8b14aaf2582524",
    "installed/node_modules/fast-uri/benchmark/package.json": "463a034d344b042e495841b770ca69a812693087ee2053d7c18cc8497e020b58",
    "installed/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs": "693d4a312b0e275e02ef5531d707ff7df6cddf14cd83bc09a79909ea2008bfd4",
    "installed/node_modules/fast-uri/benchmark/ws-is-secure.mjs": "6f105dc633aadd4bd4b8362765f4a1d44fb31fe0c8754cb11d73f27ff7d6527b",
    "installed/node_modules/fast-uri/eslint.config.js": "52e3a2601a98f23c954d664ab8de95fddb390789f8b067815e484b010d3da2d0",
    "installed/node_modules/fast-uri/index.js": "62876e5094b43ba2ba90374613dab4576fd337063dad20b4b07cc5e3a7e2303b",
    "installed/node_modules/fast-uri/lib/schemes.js": "c2c61d3fd0bc63a587100928a399e75be8c420d210c439d75f7346da4aa4f3c3",
    "installed/node_modules/fast-uri/lib/utils.js": "610a6cfa7b1c9d5689443b3a3d14af4c24afed51ef5852495ae1489ae455a9f4",
    "installed/node_modules/fast-uri/package.json": "30cad05aad3d3596513706451dbfc7e0422f9c1d00f2903ecc34580327d54bc7",
    "installed/node_modules/fast-uri/test/ajv.test.js": "75892faa0e01df30856f2a87eb50dcd4a4aa9a3ec1c7aa4e290ff936b0789f72",
    "installed/node_modules/fast-uri/test/component-safe-serialization.test.js": "354eb0c7c00d0a827d2351ccaeea702ac2c04f794fe6831ab7b8c15f7a7b15e4",
    "installed/node_modules/fast-uri/test/equal.test.js": "9a2e83b204e7d9e14139dce7a13457a12b46f02189fb9138e1624bbd25d9b390",
    "installed/node_modules/fast-uri/test/fixtures/uri-js-parse.json": "c954f79d2fa7f4d9779a6e7514cdf8df1eeb95d0097ea62cd3b785d20f2d0859",
    "installed/node_modules/fast-uri/test/fixtures/uri-js-serialize.json": "c10203102fee328d6c8aedbd03319b8eeb364417c3b1137d714537fcd3102d69",
    "installed/node_modules/fast-uri/test/ipv6-canonical.test.js": "647cca74400388c5ea503c67433507a71fa371ba3377e5ddcec5204948b16968",
    "installed/node_modules/fast-uri/test/ipv6-validation.test.js": "b34eae8daa2cd6717d6ff72098204692a393a0f4fbc6d47497557c42f28be79d",
    "installed/node_modules/fast-uri/test/malformed-percent.test.js": "151bf26b0c6096adb923677c42ea33dfa2dabb999cd4dc07ce34f94aa8281fce",
    "installed/node_modules/fast-uri/test/malformed-urn.test.js": "dfc01dbace807c71fab8e80acd154aeba25d1eca0aa2740681fa62d046bfe437",
    "installed/node_modules/fast-uri/test/parse.test.js": "53d2c5bf0c198a834cb131dfd71795a30df6e49a28cedb1c62eec2d497192702",
    "installed/node_modules/fast-uri/test/query-fragment-normalization.test.js": "18051e881d06450b5e33009e92c7582cc020b4dc39d636103370e0e8dd3ea0a6",
    "installed/node_modules/fast-uri/test/reserved-path-normalization.test.js": "984c6d447e4e0474b8b11c75cf2a5f54ffd855206dc588c8d5c47fd819fe7212",
    "installed/node_modules/fast-uri/test/resolve.test.js": "5f44df0de389cfb13848595184fd73a309ef7a702f55ebf5fc3cf0490ff7709c",
    "installed/node_modules/fast-uri/test/rfc-3986.test.js": "b753dd115304e6cc567d2cb1169dd4d23641148274956fde0fabfdc612c65e27",
    "installed/node_modules/fast-uri/test/scheme-validation.test.js": "eeb22864d23236f723fe00f8fccace70911b95ef9a3f74f116921e5cb18cce32",
    "installed/node_modules/fast-uri/test/security-normalization.test.js": "a8a76693ee9035b8fa631a30269b4165a77f73f1174d376d4a596d25f6d03182",
    "installed/node_modules/fast-uri/test/security.test.js": "ce2138c92e7c0f6cbad4cdc8e6d142b66ecf78af192b04771cd3b48c604dbb1d",
    "installed/node_modules/fast-uri/test/serialize.test.js": "abb8f831a5ebcfe6d76d8d9abb2220bfe2d255892cab1f2b43d8ef3364f21ab4",
    "installed/node_modules/fast-uri/test/uri-js-compatibility.test.js": "ca79aa1a3917c2bb237ab7e64235e4f1036a6ddacb66a5319845e8926cc89b28",
    "installed/node_modules/fast-uri/test/uri-js.test.js": "dc3a3b9d0a532f6483bc2c11d13b865273afb7c74224e401ce6005a7fa0a834a",
    "installed/node_modules/fast-uri/test/urn-full-input.test.js": "2f36727aafe2524ef08b8c5f1d124dea6971784ec9e96cffbf1986fba6c95718",
    "installed/node_modules/fast-uri/test/util.test.js": "fa0595a97c1f948e641ea4696828a4d81c3389a986a45ac0a16feeffc73f8cad",
    "installed/node_modules/fast-uri/test/websocket-query-preservation.test.js": "b3e7a45b622530f0c76910d7bdda2aa18b3b17a1d55b66e67dbb86d030fc0769",
    "installed/node_modules/fast-uri/tsconfig.json": "6bbba68684f6d6f1613d9ae79de617c25d8d749f30942307faee46a6d2fd721f",
    "installed/node_modules/fast-uri/types/index.d.ts": "84bcc7c6b06f4d643a55dc63b56be0c81d990f8d549b66ea615c553268774dc3",
    "installed/node_modules/fast-uri/types/index.test-d.ts": "ad36147194c3ecfaecf55d75dd22f0b2c6b4ca476d6450cd307dceaf39012b46",
    "installed/node_modules/finalhandler/HISTORY.md": "b507c0dc37b8075f28a9dfc94c5a132054203a29137ecb6d3c289ed7c8fb06cd",
    "installed/node_modules/finalhandler/LICENSE": "47dcccf62bf40469d23849b0b1dc8df9fc91bce219b880c638d4dc4596e6b5cf",
    "installed/node_modules/finalhandler/README.md": "ea82071bc08837af3578e98dbcc984d66c3a4da39d490e8cc6233a668f8cc982",
    "installed/node_modules/finalhandler/index.js": "33fa315d18529f1269034af21470ca384b4278330aff6f6f64ea06dbcbaf3e15",
    "installed/node_modules/finalhandler/package.json": "42f5503e57f067caf49dda0353d766f8eb4616429d3c43234ba673ee8acd1196",
    "installed/node_modules/forwarded/HISTORY.md": "16a998adf118889eee706826b2d3bc50b0d6ef228d81eb94a64b47b72d95a398",
    "installed/node_modules/forwarded/LICENSE": "bd47ce7b88c7759630d1e2b9fcfa170a0f1fde522be09e13fb1581a79d090400",
    "installed/node_modules/forwarded/README.md": "114e825a45563255497909dbdc6b776ae7718698896a8e66d8dc980dcd2c1088",
    "installed/node_modules/forwarded/index.js": "4ca8df355d325042545f4a522017926ec460fcb836f10174f2c80bbc4d47aa69",
    "installed/node_modules/forwarded/package.json": "550a78f64b6a76bc353d6a10152af5750613d0d910f8478943176c1a6196158a",
    "installed/node_modules/fresh/HISTORY.md": "60286ff6a18d9c2d702e0cc57b3665658111b96c900a59c0bc366f7c5b951386",
    "installed/node_modules/fresh/LICENSE": "a0ec0dab16b3666f24950f86d257930ac2ad475557b4bfe245620e0817d8a45d",
    "installed/node_modules/fresh/README.md": "0c01f3af85a5b0b76a4869bca1c24c902057a368faeec10a5b2b2d929df475a2",
    "installed/node_modules/fresh/index.js": "7d1a55392c8dcdffc22cd06b549b28cbd102a1761cfa6190eb81e37baef3d25a",
    "installed/node_modules/fresh/package.json": "3895d6c15a9e65c1cca20c675db7637423ec2d087bb221ef79e09ed2e7d34ec0",
    "installed/node_modules/function-bind/.eslintrc": "d1ef27c0f368368a239a99363dc04d7c2dbcb9b62d1a4107390a6dc52b901f1f",
    "installed/node_modules/function-bind/.github/FUNDING.yml": "728efc32ee016ce1b42d6b8848548b7f3540d5e0ba2966efca1774d132493d52",
    "installed/node_modules/function-bind/.github/SECURITY.md": "dd880fbe091e1b4fe671ef6e4879f7d144a64c0a3b21ce9b498c62c082ff3e50",
    "installed/node_modules/function-bind/.nycrc": "948366fea3b423a46366326d0bb2e54b08abd1cf0b243678ba6625740c40da5a",
    "installed/node_modules/function-bind/CHANGELOG.md": "c44d3c98a0cf4f95fef7845da104deca900d24853589767bbeb380406ce1dab2",
    "installed/node_modules/function-bind/LICENSE": "773e131a7684726005a7e4688a80b4620033bc08499bc1404dd1a1eb3bca725e",
    "installed/node_modules/function-bind/README.md": "305fc05a184a5afa3766893be87d24e4c0f2e8561b66463a51aee4b196b1dc48",
    "installed/node_modules/function-bind/implementation.js": "5c52eb40601e0716dafff9759cf28d8d4af3e2fc2e2c96384f43dbfd0f7370b5",
    "installed/node_modules/function-bind/index.js": "12fa1b92429db25599f6fe118cbbb877f7f62b83cb9bfe2fc896b2d6a8110647",
    "installed/node_modules/function-bind/package.json": "edb1c4faf4148e6e3d74ed8dbac1a1dc359a647ff4207aad4851396dc7a3559a",
    "installed/node_modules/function-bind/test/.eslintrc": "63cdaa0cb9c27170eab17635114928f01e23665054b7ac15538b7be2fc3eb495",
    "installed/node_modules/function-bind/test/index.js": "32ba00e232dc250a945bdb23461a7346f6029d31b595aa2046bf386aab6a91e9",
    "installed/node_modules/get-intrinsic/.eslintrc": "e580467ddfd72cbbd80b8d84ec237d2809f62d357b0cd7189e8c2ba55c0d89ca",
    "installed/node_modules/get-intrinsic/.github/FUNDING.yml": "24cafae83831c946115236f57f58e0d4797a3e7f6bcc8ad87b88a69d15a520c6",
    "installed/node_modules/get-intrinsic/.nycrc": "997785c50b0773e5e18bf15550fbf57823c634fefe623cd37b3c83696402ad0a",
    "installed/node_modules/get-intrinsic/CHANGELOG.md": "e73856f1e09b5743933e57e3ecc153d3d81bf1a1d5ead38d8472bf4e0fd14cf5",
    "installed/node_modules/get-intrinsic/LICENSE": "39c5ec504cf6bd5cd782a7c695828e09189df79f5d94840e4f08feb97b9fd416",
    "installed/node_modules/get-intrinsic/README.md": "15f5365e3e1d4182780423363296e53408ff4254dc958a6e52a05a7dcee324b4",
    "installed/node_modules/get-intrinsic/index.js": "c3bc7278af37cede0da2db32724fa0b89a07c44205c44c4f5db0e4d8d497d49c",
    "installed/node_modules/get-intrinsic/package.json": "45b14763baacc59b0fd7b39e3ad983d5d2aaf7f5ed682f2fce9edb469826c999",
    "installed/node_modules/get-intrinsic/test/GetIntrinsic.js": "7541f692c80dc65187896456ed4c0dab3a8c5dfd61b088f5cbaea13f3bce8e80",
    "installed/node_modules/get-proto/.eslintrc": "f234bdd351b6201bfbe156b83e1ec1372fe18d669d26670398c3919b5e21c630",
    "installed/node_modules/get-proto/.github/FUNDING.yml": "efc240256bdc771e8b442e1e88b40157e9fd51f5a1b2cb510da770087b77719c",
    "installed/node_modules/get-proto/.nycrc": "997785c50b0773e5e18bf15550fbf57823c634fefe623cd37b3c83696402ad0a",
    "installed/node_modules/get-proto/CHANGELOG.md": "11759506474827be4b01f43de7d038f1f23effaada2c84ae430459c2aa4dc205",
    "installed/node_modules/get-proto/LICENSE": "be46ce1e3b0479af9ce82d22b465a6d7d2ff084fca0aaf3d54172da2b5eb5781",
    "installed/node_modules/get-proto/Object.getPrototypeOf.d.ts": "b741a7e634a760b535687ff4b64e2477ea9ec085fb90a57013a8dd478d679b81",
    "installed/node_modules/get-proto/Object.getPrototypeOf.js": "66d51243588d269eb28f5bc8236e111a9a36e010e9b5b9b496be2963882a9e28",
    "installed/node_modules/get-proto/README.md": "5a3c611a2e47ccbe9b01df7ee9f6bce0a2035fd35acbff028e5ceef77a1331ee",
    "installed/node_modules/get-proto/Reflect.getPrototypeOf.d.ts": "9be2e264638db3866380db1e22f491a565e70c2f8c5a6cf6a085b24bbfb6e336",
    "installed/node_modules/get-proto/Reflect.getPrototypeOf.js": "bab0332997a67c0eb3d2ab24ee9ae5d106d275a8ef5bde2a711faa1c96899c59",
    "installed/node_modules/get-proto/index.d.ts": "7538ce3a26100e7dca4c6d51b9315e91ab2088a1bb0f2033f752f506311df206",
    "installed/node_modules/get-proto/index.js": "ee310261ff252b6d90c1a9fc4b9eceb63ddb963e7eec5125631cf169daad38c1",
    "installed/node_modules/get-proto/package.json": "73839e012ac7134a632c9d9fc6bdb700ac9ab5553cce39eb789ba2b65663e734",
    "installed/node_modules/get-proto/test/index.js": "1f4edb40034d0c23400ab56be0d20fd8bc2cee1aeb4298905b2eb5e78e946a56",
    "installed/node_modules/get-proto/tsconfig.json": "2f3c811aa59dd8b9d58e160110c7ad919cab9827c1fa89f580e328da3c573db4",
    "installed/node_modules/gopd/.eslintrc": "f441ce02cf8246250be17c235fc77a2f674a6e538847c3c8b0639377efb253e8",
    "installed/node_modules/gopd/.github/FUNDING.yml": "14a29231a020201285cec832f4d4c90b7296bc45f9117e3f2a28c5e51a430cae",
    "installed/node_modules/gopd/CHANGELOG.md": "aba458bfc8c4bdc9cfdc3b2e879d5820b0d03950bcefcaaaac3620dad727283b",
    "installed/node_modules/gopd/LICENSE": "d90bf0a089da4cf43d644ed240a0b3825dcdb705e64e38371d56995a4cc9e4c5",
    "installed/node_modules/gopd/README.md": "a5adda11eb1b5c4a225289ccc2e1f01bdc27e1635b85039ad327ec37082ad3d4",
    "installed/node_modules/gopd/gOPD.d.ts": "dd965f7c0c2aa6f08e154a854d004141ab769c1b981037e1cb48e753c1e764e1",
    "installed/node_modules/gopd/gOPD.js": "48a04dcb3fb5cccb6c8541a3a8227b8d9f881ea3ffef3177ac4bb0338556b839",
    "installed/node_modules/gopd/index.d.ts": "395aa7e2c154e81a0d7e20f2732369e4c875c3f23336b270a3db75ca3019c64e",
    "installed/node_modules/gopd/index.js": "8f8092ee3aaa2932a71e9f264a9b273dc33f7c52f4cdb0815956fccf80230d8c",
    "installed/node_modules/gopd/package.json": "33ace32dc861f6da9d1fd9d0a44c66e8c6ff3b13358d070683c1c2978ff5f19f",
    "installed/node_modules/gopd/test/index.js": "09dc70d20fa4d40c2749508868750a0d677d7c2b472a7d984271134b7af76d42",
    "installed/node_modules/gopd/tsconfig.json": "6346ee4c020f341387588479dd83740a65ab902a462b8c6b3b8bf51f032c6795",
    "installed/node_modules/has-symbols/.eslintrc": "15b0bd2d80ee6d32af3c8761fc9007606a5ec9cf605e4ca2a214eef8be564fce",
    "installed/node_modules/has-symbols/.github/FUNDING.yml": "e777d06bafdcd1d459abcbdc03ac52357b59c248614dc6143d8d02ebfb4aef15",
    "installed/node_modules/has-symbols/.nycrc": "997785c50b0773e5e18bf15550fbf57823c634fefe623cd37b3c83696402ad0a",
    "installed/node_modules/has-symbols/CHANGELOG.md": "ad7ead4963a1958ead230596f27a721645617e8f63640a59f87d333ec8dbe917",
    "installed/node_modules/has-symbols/LICENSE": "206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab",
    "installed/node_modules/has-symbols/README.md": "a062b27ee12e84e310041d05d10d69ac2d7076cba1fc698bae8a4e40a15897ec",
    "installed/node_modules/has-symbols/index.d.ts": "1b02a2f85850a7a5af11ce050ac42126041b89f7bb319f8b6e107b19512ef98d",
    "installed/node_modules/has-symbols/index.js": "fd9bef8dd0d913bc8beac3156a0019d1a83a6e091498d1af1cbdbd536776e189",
    "installed/node_modules/has-symbols/package.json": "5190268c0e3308d7446d1f7c036238f329f786938453e6017cb90980b3612e7a",
    "installed/node_modules/has-symbols/shams.d.ts": "05ea7bb0c9370e097da841bf955be2bee13ea698c7de94a00a713d7755879cae",
    "installed/node_modules/has-symbols/shams.js": "41277ab2db4a31094dc6f4ca2c3cbbe5576da5e5bddac4bda6c1f0d9c0e0c417",
    "installed/node_modules/has-symbols/test/index.js": "b2eddc5a76e6a43738847679126ef698ec8ad36993045207cc1323d1f89710d6",
    "installed/node_modules/has-symbols/test/shams/core-js.js": "92fe765a1b83f04811a8e75219c55dfe1c8f374892fc2708e9296f6e17625970",
    "installed/node_modules/has-symbols/test/shams/get-own-property-symbols.js": "89f4eeab0b85306f45c1d6238cabf3e42c4306f2f1d48772e280ed24a1495cfb",
    "installed/node_modules/has-symbols/test/tests.js": "30e827ff7c7a906135fec45a3eabf281f2384ad5479027793841f759df5f1ccc",
    "installed/node_modules/has-symbols/tsconfig.json": "b9b19c254344aae6fec9086e109040f9a13369c0d061c9a018e9b26dfe94a1c8",
    "installed/node_modules/hasown/.github/FUNDING.yml": "4a8aadc5bb4e3fcb59ced104864f1440a8a0b82c57d7a69ef3845223590039cc",
    "installed/node_modules/hasown/.nycrc": "948366fea3b423a46366326d0bb2e54b08abd1cf0b243678ba6625740c40da5a",
    "installed/node_modules/hasown/CHANGELOG.md": "dbb1b9d059ec30fa69b146d123969dbf8396cbcac3e725ecdaecd81220baad3c",
    "installed/node_modules/hasown/LICENSE": "bf9b0d665be2a689851eea667ca9f42066ea1d903b38349c51e6a44b2577680a",
    "installed/node_modules/hasown/README.md": "a922ab2a0abcdcbd99c1484c7bd83d69a04b5e11ab53064d2c9aa557df1c52b4",
    "installed/node_modules/hasown/eslint.config.mjs": "d93d3e9ef95505eba19cb8d48506df45f4a4d6fda2efe0b9b1c0d7afaf8e1763",
    "installed/node_modules/hasown/index.d.ts": "19bcd679cc9cb312683bf10390a1aadb929af6439b33eb60f06119ee2d702761",
    "installed/node_modules/hasown/index.js": "8f875520f41a3d711566013882af290c840969316cc72cd6b35f7e81d7dfc6d2",
    "installed/node_modules/hasown/package.json": "40b750c55a8bacf2c5ac316f5299dd44d48acc101c189a00cd59d39376b5eb89",
    "installed/node_modules/hasown/tsconfig.json": "29ef530207266f2859676c048073e7f746db37a0a20e2a75bc2ef2b3893fbf40",
    "installed/node_modules/hono/LICENSE": "a6ab98e5c77b9070c443eaff2ff81034a6f8cc05a7524d5098eb0f24defa0115",
    "installed/node_modules/hono/README.md": "8a99075e115af304594f7d7cfb120a46228629811f0a9ede7e7edb151c218f32",
    "installed/node_modules/hono/dist/_virtual/_rolldown/runtime.js": "1b10431e13b4eb349c329aba7d2beb6e6c224de569eac52966731c8239a941c9",
    "installed/node_modules/hono/dist/adapter/aws-lambda/conninfo.js": "0c137b2cf22fa44c4063d2eb95c94c3561cbf707c955261690f68bf522a15586",
    "installed/node_modules/hono/dist/adapter/aws-lambda/handler.js": "360103ad2e2e4257904fe59616ecdb88cdb5c3adeaadde54ecae828ea63c93d8",
    "installed/node_modules/hono/dist/adapter/aws-lambda/index.js": "e1d1c2a824b7191d0d8e1f3625fb583adc6b2935f29bdf853b4f1b09c6a057fa",
    "installed/node_modules/hono/dist/adapter/aws-lambda/types.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/adapter/bun/conninfo.js": "d19de2ed9ca8fb8b9e11f40a1655ed5b3768d78b4a4bb1c9bf12985ffb9626dd",
    "installed/node_modules/hono/dist/adapter/bun/index.js": "4f6d9ed5349f76100f045cb5d25dea41a210337203a3d4c7cfc7c30b80d8f423",
    "installed/node_modules/hono/dist/adapter/bun/serve-static.js": "e882b1f20cf2305efba8b6cc5b34c5f315ae2497c91b86d1d971700a4633dbef",
    "installed/node_modules/hono/dist/adapter/bun/server.js": "be1336601bc44ab1e078922b7bbeda5afffa59eac9ab557df6d71e87e5a338f6",
    "installed/node_modules/hono/dist/adapter/bun/ssg.js": "29e11e2fe0315396529dbdb7ed2c89a4610ff78d744232723869374021778602",
    "installed/node_modules/hono/dist/adapter/bun/websocket.js": "8890a422851496d78294a7423740c8ea6883e52746fc57ac929f85099282e019",
    "installed/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js": "2a9f104b2cfa0d7677be65eebb2925ed259428a9df119dc8f534992908cc8101",
    "installed/node_modules/hono/dist/adapter/cloudflare-pages/handler.js": "b211322a7e85b550bd0dd59af5bb8d5294ca5e62d201434d323c8ac6f221a859",
    "installed/node_modules/hono/dist/adapter/cloudflare-pages/index.js": "c309ccebac9abd93fed5a1642b242fa8e5d19a2e4323755e65dbe8e34eaf26c8",
    "installed/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js": "c7e67bb67c41de45d31abf2f8a622b32998d0cea2eb912a3a3d00f836c2b6235",
    "installed/node_modules/hono/dist/adapter/cloudflare-workers/index.js": "f1e0016d690ba56aa959dce57f4f1d48501169ad30be627cf5709d792be196c3",
    "installed/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js": "24744623f334a6d334b42198565f8ba159747c84f26a7e87dddb208048359d6e",
    "installed/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js": "16840c5afa5910d02db9cba9aa961b22841f5566067e6f15b081789e99dd10ed",
    "installed/node_modules/hono/dist/adapter/cloudflare-workers/utils.js": "7bfcd6f92b6d4c7972405196702a42a11032c224ebaa8ed4767e6c374b92de4d",
    "installed/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js": "3faa3551b567996ad79485cda7416a4c415b5974d7e87fe9371327dcf1ad81b1",
    "installed/node_modules/hono/dist/adapter/deno/conninfo.js": "aac68e0b4c7d6df2a03253ae37bfd4ab285bf13138b9a94191ab927a041d6474",
    "installed/node_modules/hono/dist/adapter/deno/deno.d.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/adapter/deno/index.js": "e4b98634dfa5da3f65f6a143d5b345c81a2456f875129d17df33af14f0b0b192",
    "installed/node_modules/hono/dist/adapter/deno/serve-static.js": "79c05d31ca942a4c785d7067305128f29cc61623253e0724dc11aff02dd050af",
    "installed/node_modules/hono/dist/adapter/deno/ssg.js": "053130c5a60adbad1adb9c4f8777a44b57433129a512dff42c2a2ca302414989",
    "installed/node_modules/hono/dist/adapter/deno/websocket.js": "857899560c4e607c49b12f50990a55de008f17d64de37494fc49fb0c436033e0",
    "installed/node_modules/hono/dist/adapter/lambda-edge/conninfo.js": "99550f645f2b17f7a6f2434ac90c3897c113515e5f584eb6b4480b491e51c524",
    "installed/node_modules/hono/dist/adapter/lambda-edge/handler.js": "e39fd32030ed552e721088056473a0dd26c9065a24f2922d745082c935f9210b",
    "installed/node_modules/hono/dist/adapter/lambda-edge/index.js": "10b12694337df921ed3fbeb6a12e1e23434e05a02fab1a4a02bd9257aa7de621",
    "installed/node_modules/hono/dist/adapter/netlify/conninfo.js": "1adcd56f58a710e30c3f41a5eef2b10a7bcbf944b82daa2b2eb3851da1668f5d",
    "installed/node_modules/hono/dist/adapter/netlify/handler.js": "ccf650f15a8ef0e27b729b7532519917ce876e74fec3ebe21e05fd0275291463",
    "installed/node_modules/hono/dist/adapter/netlify/index.js": "10b12694337df921ed3fbeb6a12e1e23434e05a02fab1a4a02bd9257aa7de621",
    "installed/node_modules/hono/dist/adapter/netlify/mod.js": "10b12694337df921ed3fbeb6a12e1e23434e05a02fab1a4a02bd9257aa7de621",
    "installed/node_modules/hono/dist/adapter/service-worker/handler.js": "be9dbb9de6695f24e86f398838ff13bf346a33dbbb661894a01c003179a1af2c",
    "installed/node_modules/hono/dist/adapter/service-worker/index.js": "06089047e5c1a177bfb99d3489a0d655ecf2283cc87113afb3a0fb607c8f323d",
    "installed/node_modules/hono/dist/adapter/service-worker/types.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/adapter/vercel/conninfo.js": "2569b63796ec177663578928afa8569b29568218dea05d7c89e7e961e82033df",
    "installed/node_modules/hono/dist/adapter/vercel/handler.js": "8afcbbed51445912a601335fa57b7a420a5768a941053d46682d13c3c39b8b82",
    "installed/node_modules/hono/dist/adapter/vercel/index.js": "10b12694337df921ed3fbeb6a12e1e23434e05a02fab1a4a02bd9257aa7de621",
    "installed/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js": "3366cfc673858aaea1300f206dfa5d457d0d7caf0bc5553e09f8c675e39bfe48",
    "installed/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js": "7b2be16b492e4e6d6e223a30f4b320fe09069b7fcd091c95ec85f141f49837dd",
    "installed/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js": "ad56599b6ed4036f7e58f69db82fa67816e8c7cf385b8cdfa8879b89f09362b8",
    "installed/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js": "671ef421cfe996b060ddd014a2a3096e098a48ce405ecb998f0e7448ce07e671",
    "installed/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/adapter/bun/conninfo.js": "710edd1a1684ae9f54b1c8c97dc3868a7f3b270f062abf0c01f3403592ad8d32",
    "installed/node_modules/hono/dist/cjs/adapter/bun/index.js": "39c0ef1c4c93e4762ccb0723cdf6cc8f829bddf929a6831b95c56df5bbeefe2a",
    "installed/node_modules/hono/dist/cjs/adapter/bun/serve-static.js": "4c12e75686a7bfeafd62881fe0f876db16dc6acd97c93b7fbbbf6f6ba247e28f",
    "installed/node_modules/hono/dist/cjs/adapter/bun/server.js": "326ebcb9e0e64ef5331ffe2a3bd2e8b9ddf3dc59649d60faa5cbdc1a7a91408c",
    "installed/node_modules/hono/dist/cjs/adapter/bun/ssg.js": "68178877d0061431d5a73c8ea43aef883270021bb472548088081680b2430682",
    "installed/node_modules/hono/dist/cjs/adapter/bun/websocket.js": "a5860637d9afacfe523d8199e83c93771e511b58a4ac0d2438e927084883c1ae",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js": "ad1cfe271ae01d3dded8de8e4dc6944e92ea62d7e805370c98e10f67133d2621",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js": "8f169819d6534774c96475e495b3ebaafc67d3139fe1f426ce360aee3368f8d9",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js": "a9f0837e9e0e206563c0832f834682e809332507bfd66589c0d436b49dd46b43",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js": "21f12476adc20b1dc98897b0b3f42daa32445979c2f3fa92b79adaea5deef96a",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js": "ff8896f199241f8cf5f85d884963019cd6677349c025d20ce5ac889bb898e41d",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js": "1333f06eb972b0e4a40e876019eeef87b7da52a89b6b3ce2b32a87a569e62752",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js": "b2a6f07bd23169697703f3931b3555ee3d291a21e9f94a0f15a68fd5223d84d1",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js": "652898d3b8929267f34636e3d6ac3cefdcd91ca5cb57f3a42ca5feb5a45a1528",
    "installed/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js": "ffbfcfc9548d0b7a85961e690d580fd350dcfd8c0918cf9befa49a91b100697a",
    "installed/node_modules/hono/dist/cjs/adapter/deno/conninfo.js": "e6210de2303f997012c29b03875cd609e40fd3a18e3c16b0cc5df45e0d9c5ca9",
    "installed/node_modules/hono/dist/cjs/adapter/deno/deno.d.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/adapter/deno/index.js": "46826068deef9415cdbf04a391fe6efdd2e1925008a9e7f591984801ac895555",
    "installed/node_modules/hono/dist/cjs/adapter/deno/serve-static.js": "e4d03c4bfacf0aa601e48c18f0406273c2d8983f83ac3abb5c7a2e0a73d52949",
    "installed/node_modules/hono/dist/cjs/adapter/deno/ssg.js": "7e3c631847dc649fa7f36bc8b9a18f32874be5f29d24670c288706c04d36e2a6",
    "installed/node_modules/hono/dist/cjs/adapter/deno/websocket.js": "e02407431c0e872d51b2e502f8ba1467ae53ba5085c2f3f432507e05e0738732",
    "installed/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js": "534451c852d63406d60b639fbb558234b0acf2c6785e5e3b8a1e7417e4f22f47",
    "installed/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js": "9601cce6a663d8ea1b95f458821157623a85d5b807e7cf27bc9e24963e756053",
    "installed/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js": "56ae555d70221ccd06987141c3138dc17f15133df535eb1a63936c17f7bd9499",
    "installed/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js": "6d829b0f06d25f6aa06ac257c4738a513cfa9a49196aabc54b7f4c8a8ce42a70",
    "installed/node_modules/hono/dist/cjs/adapter/netlify/handler.js": "29cb2bb5ea672afab686bbc16759e612d1366fb6590eee526e9cf59678cabf33",
    "installed/node_modules/hono/dist/cjs/adapter/netlify/index.js": "9d8cc4afaf814066c48592830adfec12cd97df9673cbf4e50bce3a6e23263b39",
    "installed/node_modules/hono/dist/cjs/adapter/netlify/mod.js": "9d8cc4afaf814066c48592830adfec12cd97df9673cbf4e50bce3a6e23263b39",
    "installed/node_modules/hono/dist/cjs/adapter/service-worker/handler.js": "cfe00ab4fc4681d0d77c292f904f2ff43f2affab258bf0e43128b47282c89bf5",
    "installed/node_modules/hono/dist/cjs/adapter/service-worker/index.js": "ba04425819ce3e781ee3aa826ab9cd38d73b720378d49a57aa467506df57ba87",
    "installed/node_modules/hono/dist/cjs/adapter/service-worker/types.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js": "97003c94e3bc090e466baee1d586f2f6f5b583f1f8d804f94d5fa427a60b0ec7",
    "installed/node_modules/hono/dist/cjs/adapter/vercel/handler.js": "4376ddf494855629b538f891872e825c5bac658e743031d31aff31531a2b295f",
    "installed/node_modules/hono/dist/cjs/adapter/vercel/index.js": "8a96b4bc5a67b3dc308bab423995e8dacfbe9b85c5ceb8f0d79a533dd64a456d",
    "installed/node_modules/hono/dist/cjs/client/client.js": "8a21d031f995f945fa6ed1dca092579effdb02960fbeeaad1d73dcfb07ff388e",
    "installed/node_modules/hono/dist/cjs/client/fetch-result-please.js": "420fe0bf838df7c159e5f2fade0956302285e450bb559adc53c938bf925876c6",
    "installed/node_modules/hono/dist/cjs/client/index.js": "9d2446fb577e28ac683bcbdfc606da9b4797e728ee40f31c90d631b6fbc024b8",
    "installed/node_modules/hono/dist/cjs/client/types.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/client/utils.js": "27c3adcc8193271305f14137bed41eff25833c1af11161d2161c64900bf16912",
    "installed/node_modules/hono/dist/cjs/compose.js": "6b7de513fab3ad04c44232ec16b1882a4677c6d2b3b1d4a3eef029141019cf03",
    "installed/node_modules/hono/dist/cjs/context.js": "63067a35cfa33c1dc23bace6658e533f4cd3b840cb72bf701145a931210814e4",
    "installed/node_modules/hono/dist/cjs/helper/accepts/accepts.js": "f493df00cf4a438147a2c3d8527adf6c7d6026d7858b58838bea442c655c1df7",
    "installed/node_modules/hono/dist/cjs/helper/accepts/index.js": "1ee7e4ab8ecc9827bbf46678148b462d14ac87d7926703a4489afc29c4dd9068",
    "installed/node_modules/hono/dist/cjs/helper/adapter/index.js": "bd6a09d4b1a1909c097f5e12796bb256a2c5fdfd019bbff49641372423fa9264",
    "installed/node_modules/hono/dist/cjs/helper/conninfo/index.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/helper/conninfo/types.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/helper/cookie/index.js": "f84fce7e4d7b2bba8c612f89debffae84c69e86bd0675582fa659adb5bdf38bd",
    "installed/node_modules/hono/dist/cjs/helper/css/common.js": "0d1a070abc329a3c34b11778e78df54bc5981a1f99ff7dfb30984a20edc128c9",
    "installed/node_modules/hono/dist/cjs/helper/css/index.js": "cf94405ae6a26d901561d0f9750d5fc88543029a4e47b880dcac9279f2f6e919",
    "installed/node_modules/hono/dist/cjs/helper/dev/index.js": "d5401a37a4a208db45ac6ee359eaba60dd2d406e93ae5a3dcfedaea0e8f341ac",
    "installed/node_modules/hono/dist/cjs/helper/factory/index.js": "15671a0d7a777f1557a70448e86e072b209a850b1837d29ffe905375fb2eb696",
    "installed/node_modules/hono/dist/cjs/helper/html/index.js": "6bdcf4eb8facee9ba555599c5afe9529a87e451e2ea67b46d7e605c55c6cff92",
    "installed/node_modules/hono/dist/cjs/helper/proxy/index.js": "dde5fea8b4a071d48ad2025ffcfbe8f95afdf575a680beec53c0d50c78b0293a",
    "installed/node_modules/hono/dist/cjs/helper/route/index.js": "a7fdad505bdab085a701473535902c576c6b8a931ea27103363ecdcd02dd09eb",
    "installed/node_modules/hono/dist/cjs/helper/ssg/index.js": "f056e5c4d197627107f7d6b4fdb2c0039a80176f14a88f616725640500bdd7b5",
    "installed/node_modules/hono/dist/cjs/helper/ssg/middleware.js": "54197d8c14209d83996ab8bea4144093269563aacd9fb8a180de75bec9ab07a5",
    "installed/node_modules/hono/dist/cjs/helper/ssg/plugins.js": "216936ed241da78541a961b8c8afa0ee859d4b1f94c56b0a57e0d6a01a24356f",
    "installed/node_modules/hono/dist/cjs/helper/ssg/ssg.js": "45fca2c96d8b7fa6485ee464feff377e1853b582e828579a61dbe8118760f0ff",
    "installed/node_modules/hono/dist/cjs/helper/ssg/utils.js": "4416135d1b86f43a1a2b24aaad77596d920042733dcbad1e0956218e3dc4729f",
    "installed/node_modules/hono/dist/cjs/helper/streaming/index.js": "5688ff3f04cc6f9debd7d850321b62d8ed934f7425dce88bc9a7017747011068",
    "installed/node_modules/hono/dist/cjs/helper/streaming/sse.js": "d24a317afade834a438b0afc19ac83000c42b53097a064de69253ef7e80f1315",
    "installed/node_modules/hono/dist/cjs/helper/streaming/stream.js": "f638020132fc7134ce91df9374fba15f92d198747c39eba9a12e01cec1bbf981",
    "installed/node_modules/hono/dist/cjs/helper/streaming/text.js": "db23fc9de6dfd41cafd2ccc97ed74b2408c54c699aa9bbbe523a59da4753822a",
    "installed/node_modules/hono/dist/cjs/helper/streaming/utils.js": "63bb52f65ad9c90def62e88691f2f7396e8c452057b9af9f5245b357eb0ff712",
    "installed/node_modules/hono/dist/cjs/helper/testing/index.js": "ba0fbd25154668ee7f4c60eb3584053314715ba5722f52ee99a0c883deb1d264",
    "installed/node_modules/hono/dist/cjs/helper/websocket/index.js": "bc2cf374b6582a2f953ba45eaef556e3203317bd1b7823b9b8d694c7e7736d4c",
    "installed/node_modules/hono/dist/cjs/hono-base.js": "6edd50326727cae429f3bdf3c326b9aae15ea6c5cc330c59131f341d52511218",
    "installed/node_modules/hono/dist/cjs/hono.js": "51269a690024423b1a863e309556fd8ebd7bbb207a4898176cb8b473359602e6",
    "installed/node_modules/hono/dist/cjs/http-exception.js": "ca45092f389c8013bde72772ed0a99610eb481e7a506bb077ec100e29763153f",
    "installed/node_modules/hono/dist/cjs/index.js": "f06fe5a53cda57589ade2a3c33bb666ceb60bcbef5796dd13e59a87f5a389082",
    "installed/node_modules/hono/dist/cjs/jsx/base.js": "5e705e75cd95e75a1f8581a4665ea76256447f391bab136f114712b4550a0f25",
    "installed/node_modules/hono/dist/cjs/jsx/children.js": "4cfc28208003fb9ee8afdc54cfca23ce6350c8042cbd60de486e52b42ee5dd52",
    "installed/node_modules/hono/dist/cjs/jsx/components.js": "744379356b9eaa03940ab4b2617adf29c19ca130e992b7414322ae235fa6ed4a",
    "installed/node_modules/hono/dist/cjs/jsx/constants.js": "41be2819634ecaa5aa1cff463d30234c67b80bf7dcf131b8e33dc9a9f8854c63",
    "installed/node_modules/hono/dist/cjs/jsx/context.js": "4a4e13e5b846c9fd31925064a0e8a7de77375588fd2a66995657d89ea2daefe8",
    "installed/node_modules/hono/dist/cjs/jsx/dom/client.js": "b918686583faa6cdaf3c034688222ac4896a8c6bd4828c832fd29578c9e3b81b",
    "installed/node_modules/hono/dist/cjs/jsx/dom/components.js": "de59b7a9873a7039ba4d77027cdd4d85687ea10251732f53eb521ef0ab117c39",
    "installed/node_modules/hono/dist/cjs/jsx/dom/context.js": "c011e151bdbef945812c1dc422cc0d19511bbfedde4bcc3e7781a4911780e950",
    "installed/node_modules/hono/dist/cjs/jsx/dom/css.js": "40616722dd3bd1848d3dfaebe4d49dd9e94191a66f73cc056eb2c1df9f72706c",
    "installed/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js": "e914c92bb0f2878a4d3b7d8ce3691ae029f1f43aac17293fc9da5d5809fe55fe",
    "installed/node_modules/hono/dist/cjs/jsx/dom/index.js": "48ea58bdfbd25c08fb6be09ecb9cd86d796e841b8c56bc0e147909d6adfd92a0",
    "installed/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js": "3a630ca9692d9dbd023577efeeb95af8a92475acf9ebccc828fd14057d1e8b34",
    "installed/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js": "e95c452af2b71906dbb234d94b0baa3c363c2420cc12615ce1b39409680f1147",
    "installed/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js": "a3c94d733bfe2cd309c7c855a5fb6820522aef6cc997bdc98a31acbed55347ba",
    "installed/node_modules/hono/dist/cjs/jsx/dom/render.js": "54baf998f98d8cb8647212565936a2a16850ec133e84e1449267f18a88fa76f5",
    "installed/node_modules/hono/dist/cjs/jsx/dom/server.js": "36699e371600c25d173675b4fe012d022c53c5b2b510ba117b7bf383c933ec16",
    "installed/node_modules/hono/dist/cjs/jsx/dom/utils.js": "61ed1e036ffd0fc25079a5e72008f1141418d176c487638c9f499e46e0c95439",
    "installed/node_modules/hono/dist/cjs/jsx/hooks/index.js": "55d1f18bac493e382be32bc7850e82b37052e56adc6562670889d7e908fa47f7",
    "installed/node_modules/hono/dist/cjs/jsx/index.js": "f30b5dbbd655ac595e34152055e62fca314127df94f1be634c3465abbd7947c3",
    "installed/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js": "202f18a802f0666ac30dc15a8268a093e77bd827588cc5da5b9f9bfd5388037b",
    "installed/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js": "f05f80c16212861d49cbbdfeefbf4f18e8ad2eb72eeffb28491e9a8e5b1ef948",
    "installed/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js": "c23834114d274707bb55b09e872ce4c7d01c0b5bb856a4a67b3480a966501034",
    "installed/node_modules/hono/dist/cjs/jsx/jsx-runtime.js": "8128e8126c309480f7c792ec702a898f0b8e6cd46464d8eba2b1a7c3e7b2e550",
    "installed/node_modules/hono/dist/cjs/jsx/streaming.js": "f8e92a911c33481757b817646bd3ee612a8a591f567e6635793d95ff65726bcc",
    "installed/node_modules/hono/dist/cjs/jsx/types.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/jsx/utils.js": "e9402d4f8b24804ff95c2c87c5fd3c53480f84174fcc6aa013b6d862eb2f30ea",
    "installed/node_modules/hono/dist/cjs/middleware/basic-auth/index.js": "702c2dcde6e19510e8cafdf30f423b527051b1a0e4e35e27f09ab46f5dee7f21",
    "installed/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js": "f30156198765ebb03e4fadd902a171fe019e200f86298b5d002e5fb35376ee7b",
    "installed/node_modules/hono/dist/cjs/middleware/body-limit/index.js": "b820897aab5220e6858b8a2503dcf2f4533af3fe792541e16924a436bd5cb843",
    "installed/node_modules/hono/dist/cjs/middleware/cache/index.js": "a71a010de69a2f9e0b9b1ac3a8813d7e669bc71ccf8cf662839c1c5260a3b4a2",
    "installed/node_modules/hono/dist/cjs/middleware/combine/index.js": "c1da542854c810a810441d7e3f4e0755137ac92e81b3cbba68f2dfa47c17b901",
    "installed/node_modules/hono/dist/cjs/middleware/compress/index.js": "e4f0d054252a1104773a5b535252a6473f1cf289de849c8ac716106b2719e443",
    "installed/node_modules/hono/dist/cjs/middleware/context-storage/index.js": "b2a482dc90ffb32c660c6218c8dedcbcf1998f994fc70e15c25cc002aaae7494",
    "installed/node_modules/hono/dist/cjs/middleware/cors/index.js": "ccf6380b3a4f7332051ade949b64f482f3f83eec3db7ffdbd54b1cdcfbcf60be",
    "installed/node_modules/hono/dist/cjs/middleware/csrf/index.js": "43e3f25b840ff304de74bcb1dd73219e638a3b63fa803fe01f489398625c3335",
    "installed/node_modules/hono/dist/cjs/middleware/etag/digest.js": "619cde04e5708c8bcf83ac1ff7b0c63bc7646382765d0d63700179721de40a10",
    "installed/node_modules/hono/dist/cjs/middleware/etag/index.js": "f68f9f4e86e7fc19969ede8d34edb1ee6967cf5120892feca4c14f2863eea2f5",
    "installed/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js": "0c76ddb35e042222978db886b7e9474b399c704ec86da79e4bab794ca5a2b9e4",
    "installed/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js": "f8104a798d5d96677090243708459ee22ee9f823b560e09d87772679a1fbbf81",
    "installed/node_modules/hono/dist/cjs/middleware/jwk/index.js": "2e35076ffdec67df1d096f69fc64b1064038bc7cd48f4cd536936335465d3e06",
    "installed/node_modules/hono/dist/cjs/middleware/jwk/jwk.js": "372e1fb892ad9eeda68b994ce0a3331b4996166bc649acf7b35795a707c97aad",
    "installed/node_modules/hono/dist/cjs/middleware/jwt/index.js": "c6c2664eb49dfa4450c8e26a037f1301826d64195ddd661dc60bf0184e8ebf11",
    "installed/node_modules/hono/dist/cjs/middleware/jwt/jwt.js": "13feeca2ebd8cc97b86a547398b887febdc3134302c14d2160f5bf40c2843f54",
    "installed/node_modules/hono/dist/cjs/middleware/language/index.js": "8f7196acfd178bfb4abd47d754316d02f5d3114779fbda4916882ba76c2352b4",
    "installed/node_modules/hono/dist/cjs/middleware/language/language.js": "b2f1bbdc466360486cac02e23d4cb60f3e44f01377d31febb9391285e0ce6141",
    "installed/node_modules/hono/dist/cjs/middleware/logger/index.js": "8ea625dee42806f7fa01af46b9473a05bc60662d27152f5c0c82a50a55413b79",
    "installed/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js": "5c23d03540b3b5049f9e061d9fd3035e08a4dfed13d248594a27dfd05d2cb1d4",
    "installed/node_modules/hono/dist/cjs/middleware/method-override/index.js": "96b9968183163d8d42eba623a9fb2a8f155e116e7788ced2da352b748ee3f243",
    "installed/node_modules/hono/dist/cjs/middleware/mount/index.js": "40c9ba31b7b5eae45c25bb5542984fabf8500daee4d463c7149c4825ba917721",
    "installed/node_modules/hono/dist/cjs/middleware/powered-by/index.js": "1b5d5da8dbcbfdfca0d074cdf25adf4a27492ccdb6b6f361a5726e4952be48d8",
    "installed/node_modules/hono/dist/cjs/middleware/pretty-json/index.js": "e26b63fb1de53bcbbb9a07e7562d970ab3b933ed2f9343f0bc830bb19220ed2f",
    "installed/node_modules/hono/dist/cjs/middleware/request-id/index.js": "0500b2b1eba546f87e0989b1cbcae9b1882a327a434b21dab6f86afa773b0887",
    "installed/node_modules/hono/dist/cjs/middleware/request-id/request-id.js": "d8eb0c432162017368e4c9f19b807d943b5acbaa3c71976cc72f0f86ebf68ce5",
    "installed/node_modules/hono/dist/cjs/middleware/secure-headers/index.js": "afcc26a41a89865d363fb1130a4bfc88497cacee3529e96be04092c221d730c9",
    "installed/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js": "9cfa38ec0e779ad29118f0060c822b0774b9e09efeafc6d8dd65703849dd29b7",
    "installed/node_modules/hono/dist/cjs/middleware/serve-static/index.js": "8fc85110a32a6323934e2e346ed8d0d002c92b9e7f56606d46853da3770559b2",
    "installed/node_modules/hono/dist/cjs/middleware/serve-static/path.js": "10823cdafaeb6db3fe0c434d42e76ef617ec352d6bf9622996151ac691893633",
    "installed/node_modules/hono/dist/cjs/middleware/timeout/index.js": "9ff46ef32ac8585eb5a10cef72e62953bf7ccf3aeacb328dd5d130340c862f14",
    "installed/node_modules/hono/dist/cjs/middleware/timing/index.js": "e7933db439c368944e52761308422ddc7c5f7ce91182c443df8fa6f85d27714b",
    "installed/node_modules/hono/dist/cjs/middleware/timing/timing.js": "0d0c550d0e9fa79b1baf5e00a21bf832be41974d145b881989e6197ca52076a6",
    "installed/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js": "f4c786fceaaae5633df1f776813df91b1461bd2a0141ba9d727b61b0af27b62f",
    "installed/node_modules/hono/dist/cjs/package.json": "8005a3491db7d92f36ac66369861589f9c47123d3a7c71e643fc2c06168cd45a",
    "installed/node_modules/hono/dist/cjs/preset/quick.js": "00d55dbeabebf13471b5347ac33070a1ff3e60270d0d52c26a5155bac41f783c",
    "installed/node_modules/hono/dist/cjs/preset/tiny.js": "d255aa3488c46ea94a8a2f01632a4550c8bed9544ee3bfa86c8a3bfbd9d1e934",
    "installed/node_modules/hono/dist/cjs/request/constants.js": "13e8dbb342132b2008363ec8a511a9c714ad1e96bbc5375d761f56cc62650458",
    "installed/node_modules/hono/dist/cjs/request.js": "0d89ae8acd1b228c1c1dd6081a57f417e8503c70a679cf4e29b7a678968e19cd",
    "installed/node_modules/hono/dist/cjs/router/linear-router/index.js": "5821ceefe1e9e146c3a346e41552aa6c7a65a2a03963574f38c87e140601162a",
    "installed/node_modules/hono/dist/cjs/router/linear-router/router.js": "e6b2f30701a8037b936b6bc579bbd20306a30467fa749fa88f26ec47db5af803",
    "installed/node_modules/hono/dist/cjs/router/pattern-router/index.js": "9c753d37a7783993ca2d2797347fe9dd25f9cccea8127d5b79157d19842da54c",
    "installed/node_modules/hono/dist/cjs/router/pattern-router/router.js": "3852bff6b6ff4dc672a9081b537b266afbfc622a0b85820b747931fc5d10b99b",
    "installed/node_modules/hono/dist/cjs/router/reg-exp-router/index.js": "d392e273292d926647cbd50800e366d541a56a37a6715ad458ec12e0887caa92",
    "installed/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js": "c77785aa1ab2ab6f71ed56c7e6bf44ab641ecded66c93cc91a1afd9407873446",
    "installed/node_modules/hono/dist/cjs/router/reg-exp-router/node.js": "4d5b3173787ee45a7c9a15688419fba2385cc89e825b5de322943ace416a94bc",
    "installed/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js": "ea466566ad9a3b90cd07357ded4eef0e95da90136a350d46ef4530a206b0bc39",
    "installed/node_modules/hono/dist/cjs/router/reg-exp-router/router.js": "66033c63853f62408e86cadb204689b5f67b4c95c93cbef1b935ed98d8210013",
    "installed/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js": "c6b21284fb3e39c62c1c4b605d200fbb0281beedd36f88fe3489301365391ea3",
    "installed/node_modules/hono/dist/cjs/router/smart-router/index.js": "d4fca8c18fb980fc945e120d9de6ad94d84d6df484fb4f1fd8223cc130d7b9f3",
    "installed/node_modules/hono/dist/cjs/router/smart-router/router.js": "947b5e3f07929e3c3b301937d2a32c4b2b8f58bf38f949b973de3a11abaec1ee",
    "installed/node_modules/hono/dist/cjs/router/trie-router/index.js": "5271f43cefbb8fd39e43da6b9efe8f2882e1d3f99084d42644ffbfbcdb006023",
    "installed/node_modules/hono/dist/cjs/router/trie-router/node.js": "e6c7bbd0c737addfe2e1732078f00d3c2a49380a6e5571ffe13f5a7ba7eba09c",
    "installed/node_modules/hono/dist/cjs/router/trie-router/router.js": "8d1c373203b1578b9954c85aefcc1e103260651387b0dc4b173978816d09c418",
    "installed/node_modules/hono/dist/cjs/router/utils.js": "8a78c9498ba5c6fdf97e74d7b172873842f23cf55e757062b015f4996d971be8",
    "installed/node_modules/hono/dist/cjs/router.js": "e6e4b22f03bec855c966f4c75cafeca176d471ceeb1779d8ed56eedcae45c1f9",
    "installed/node_modules/hono/dist/cjs/types.js": "ba13154c52e15dac51ed6bdae8ec778f57f33793410d5d36b895e9d9c0a2a7de",
    "installed/node_modules/hono/dist/cjs/utils/accept.js": "2b7f5fd4e5eadc22bde3bfd91ee96d9ef59f387121a2b53db61c010f1c1311a9",
    "installed/node_modules/hono/dist/cjs/utils/basic-auth.js": "b6a4023c9a0786f8362155dfa3e90cad3f1ad9d665d73d723bcf99836a91217f",
    "installed/node_modules/hono/dist/cjs/utils/body.js": "a4c6ba89102fbd8de046467008fce23b3c04d60abb67be8f2b9352f7c459fff0",
    "installed/node_modules/hono/dist/cjs/utils/buffer.js": "3d0d8ba9b6829c4a95ab24c7e3096a3d72f7ef26f89ba43ea23b36da3e0fc1d8",
    "installed/node_modules/hono/dist/cjs/utils/color.js": "e041c5dc59be4af1fec395c96f6e7df7171cf9b3c2a674f58f3e0749a51c41e7",
    "installed/node_modules/hono/dist/cjs/utils/compress.js": "387e6c74a4bc37ba0f64b89491637e137c12617a13fd8864cabcdd44509c86bf",
    "installed/node_modules/hono/dist/cjs/utils/concurrent.js": "94ffeb6a3d89062e2a128b2c3608380e782150a8b87a1bcfa6bfcfdbca0a4b70",
    "installed/node_modules/hono/dist/cjs/utils/constants.js": "b86c73cf5a6b6aa0a6910e2bb79d5f77b5136c639908cd7ed9f7565d1b08e2b3",
    "installed/node_modules/hono/dist/cjs/utils/cookie.js": "59e43f7630aabe6107dd4205250fd2252cfb5860dca82805c6e093a1d8e1ecdf",
    "installed/node_modules/hono/dist/cjs/utils/crypto.js": "fc02aad3a74546b16960145bcf93f438349c3b7147fdbf74dba627841a2efc62",
    "installed/node_modules/hono/dist/cjs/utils/encode.js": "0f5fa7e6b82aaf126514d3aa23841d6e1fe3911c5bcea0be7f28dcbfc3b0670f",
    "installed/node_modules/hono/dist/cjs/utils/filepath.js": "f657e24a59184767d4d705be67614b37f3d95d2cba1be35e3cdbe8b09019a957",
    "installed/node_modules/hono/dist/cjs/utils/handler.js": "b7fa1ec58bc4a58f68f85e2c422051e5f48ff334f85086d83430a1367b79bf10",
    "installed/node_modules/hono/dist/cjs/utils/headers.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/utils/html.js": "060228527176a57bd435af8d6daa13f9f5812d3a34339ce3894bce9a7a15cd31",
    "installed/node_modules/hono/dist/cjs/utils/http-status.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/utils/ipaddr.js": "e21672abd64149a80b1e8ee404fe0a013f8ce0db929b2dca721993889835f774",
    "installed/node_modules/hono/dist/cjs/utils/jwt/index.js": "23b1bfd9f40b7db7ff2424aedc8b1d04b291b8b41f98e489ec1dd945debf5270",
    "installed/node_modules/hono/dist/cjs/utils/jwt/jwa.js": "be58de308ec87e9e28fbba81d52ac35f45995d893bc70cefa09605241a3e0f54",
    "installed/node_modules/hono/dist/cjs/utils/jwt/jws.js": "c91edddda20a692bea2db607cf5b92d6b7dcebffa12accad14904bbbd1ccc71f",
    "installed/node_modules/hono/dist/cjs/utils/jwt/jwt.js": "48b2d7c3254ef56bf15a2107fae40864b0a7597582a9721fd64e79b4deff0971",
    "installed/node_modules/hono/dist/cjs/utils/jwt/types.js": "684ce54fce0cae6c8384ef8254addbe8692690bc0debc5c853a0c53a466389d1",
    "installed/node_modules/hono/dist/cjs/utils/jwt/utf8.js": "acd85d4567ddc6804f401e206cdaa06f8b954903ad0876d82b1332b2ca4b8579",
    "installed/node_modules/hono/dist/cjs/utils/mime.js": "d2a973b0b335368d72f22a697d7cc8fbaf041168195578d930a329d382f77c4b",
    "installed/node_modules/hono/dist/cjs/utils/stream.js": "9f9bb136ed14dd0587652cbf1f760c0c67a1b8af685e0eee93228f60252f98e3",
    "installed/node_modules/hono/dist/cjs/utils/types.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/utils/url.js": "27d31dcae52c65b9f1710e913f7a7b0967050aff737dfb227f2aaadfcf33db9d",
    "installed/node_modules/hono/dist/cjs/validator/index.js": "67c3075cd4ea89698ba30d87cd42526695402edab15b08e5bf17f8e7ef6219af",
    "installed/node_modules/hono/dist/cjs/validator/utils.js": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "installed/node_modules/hono/dist/cjs/validator/validator.js": "33c89a62cc8482394f4f3d54c4cc8f005ae17c04c79b3bea003b622067680725",
    "installed/node_modules/hono/dist/client/client.js": "4ef24feab506637b586d873c0a55a718a17865c6806f7afe52bfe7034e65d326",
    "installed/node_modules/hono/dist/client/fetch-result-please.js": "b343b7f102480641cf9db6275bc1077bba9d30a12fdadb0c2c6595897e72f6a0",
    "installed/node_modules/hono/dist/client/index.js": "f324825ef7afa484c7d8a899acd0329ca167fd6eb2042df18757bd03efde50f6",
    "installed/node_modules/hono/dist/client/types.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/client/utils.js": "c2214c24d69ef5ec9a8ad57658b159025a8056c9b0a7447d68b346869466fc59",
    "installed/node_modules/hono/dist/compose.js": "6dcd93b8a74298b867b8d2c90ca4fa344677333f16e92393668d224404326b3a",
    "installed/node_modules/hono/dist/context.js": "1f70e2e2c14ab515476bcf18897d887a9fb2a97464b41a732c61e75c8079893d",
    "installed/node_modules/hono/dist/helper/accepts/accepts.js": "149a7cd688ead489dae363c7f8b9136faed195dc043767ec5468cb4f67e8b9f6",
    "installed/node_modules/hono/dist/helper/accepts/index.js": "d8e17d8f887a9e53ff5e457a8a14342fbe275027a9208c0c9571cb56e5afd7ca",
    "installed/node_modules/hono/dist/helper/adapter/index.js": "ddb47fdd81979682ec89860482785b6c5faaf5f001e7367b3a192e136de37336",
    "installed/node_modules/hono/dist/helper/conninfo/index.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/helper/conninfo/types.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/helper/cookie/index.js": "fcb2a37f557ac35320064121cd4d060ccda664016e8e7c014a5770be59c9ef4e",
    "installed/node_modules/hono/dist/helper/css/common.js": "028560777c63755aa994f7ba7b5c2b8733c72b2c5849ac034f1eec6447c5b1a2",
    "installed/node_modules/hono/dist/helper/css/index.js": "b6ce67e556991772d048e462fef66932fb28545856cc87d2e8fead9503368424",
    "installed/node_modules/hono/dist/helper/dev/index.js": "385750673fb511fe3bc37201e58d9996777eda4eb2fb37bc61d4261ad814eb35",
    "installed/node_modules/hono/dist/helper/factory/index.js": "5e46cd194c89fa0ad4a60b6b2b4861a92c8186b2a24f4a92b025ceb2e9be9cb5",
    "installed/node_modules/hono/dist/helper/html/index.js": "6d73103df7f662ea449cda118b009ca819de4c6dc50fd750c6429f92fe0ff306",
    "installed/node_modules/hono/dist/helper/proxy/index.js": "5370b81f777da242d41a520bda4445b0dd3cea3474ce8f822ca78ef6203d81a7",
    "installed/node_modules/hono/dist/helper/route/index.js": "d6d63a0f6a47601c002d8e7ff4bf440b24f31f0f2a97e559d39ff96f7be52a8c",
    "installed/node_modules/hono/dist/helper/ssg/index.js": "473a144c836a123267707df4a553847a3fd9a430ed9777daf595542c47ab1e3f",
    "installed/node_modules/hono/dist/helper/ssg/middleware.js": "bd1aa0705606e155d62d90b7400c56cf9a17d0938807df3bdce7afa356d70d66",
    "installed/node_modules/hono/dist/helper/ssg/plugins.js": "cd57a2c3388e12fa5b09424653505474bd11344bb7a129367fb5cfe79a96a359",
    "installed/node_modules/hono/dist/helper/ssg/ssg.js": "212c31fbdc6e6537f36837ee2388c0f15d8418f5c4fae4b3a36a5928deeb8d07",
    "installed/node_modules/hono/dist/helper/ssg/utils.js": "b9a6395b3db76a977a1c8f8ad04bb09ff1b7ee09b5eb7858dff6e7c96836b790",
    "installed/node_modules/hono/dist/helper/streaming/index.js": "88ee314551d90c1af601101f77e77ed7596b3d9991c361daacc30e16dc1ba5ed",
    "installed/node_modules/hono/dist/helper/streaming/sse.js": "747acd0d83d2b1dc6ec89278c9e21826eee68f3fead7440f7992f8f20a2631d6",
    "installed/node_modules/hono/dist/helper/streaming/stream.js": "9468dfa62d388c645bfb6b11a1bfb1fec761f71a6c9fe62a801e8eabbf6aac06",
    "installed/node_modules/hono/dist/helper/streaming/text.js": "a21ea95f07733a21496ec0f4bdd745c8ff0ff0cf12a8da792b2f9b1cc3fa151f",
    "installed/node_modules/hono/dist/helper/streaming/utils.js": "ee40f063143c32fe44f56cee274260cf3c859888e9ab663b3d1be5c120c5b8f2",
    "installed/node_modules/hono/dist/helper/testing/index.js": "abd3c028ca1fd62bcdd03741eec5cf9d0c6ef15c1fee1812798c650c0580534c",
    "installed/node_modules/hono/dist/helper/websocket/index.js": "c7fc914a4281b144b5fd09317570e8a48ac993117a4329ebe2b15e99fb5f807f",
    "installed/node_modules/hono/dist/hono-base.js": "b187a52a0d57f47a6a5ede24bb05bc8f1daab4c1c53f290dd749098d677e1d34",
    "installed/node_modules/hono/dist/hono.js": "e630eb3e76ab5dc306e64bb5ba78eab92f539aa43202a2def785f1bf9c7defe4",
    "installed/node_modules/hono/dist/http-exception.js": "449b2603121978f28c50a9809c577d5a761b24617a55fd21dbfeaea5335ad1d2",
    "installed/node_modules/hono/dist/index.js": "a18108f10e31afeda6c1489a3dc6588c45966d4800ff6361f7cc77e0159154be",
    "installed/node_modules/hono/dist/jsx/base.js": "c3eda9d3c2a06b9eae0d959ca9845152deb7f8bc395870ba605040cfd826f82d",
    "installed/node_modules/hono/dist/jsx/children.js": "6a7587692b7f752dd2d7128bcf59593876f00badfc5a594aca607eafc7e26ab5",
    "installed/node_modules/hono/dist/jsx/components.js": "ae4e0eb0ecc67582b72c1f9a2d04ae6dd07b2983ad755dc7a9650e7824e39601",
    "installed/node_modules/hono/dist/jsx/constants.js": "7b296145674c9b4d46fbc4d2eecee37f0b4636665dc3eb64ad48ed5c8dee2ccd",
    "installed/node_modules/hono/dist/jsx/context.js": "b6f07545a988e874345f29efdf3910ae764138acf85401fcb913745b31344d6b",
    "installed/node_modules/hono/dist/jsx/dom/client.js": "4440a5d2409257d34b32f849cbbfbe6c24ed69cd34baaff2e0cda794bbfd80e0",
    "installed/node_modules/hono/dist/jsx/dom/components.js": "d40d4ac2e9862f699b94ccf955f59eb1d95bfd6617167945f3548d3b205e425a",
    "installed/node_modules/hono/dist/jsx/dom/context.js": "f985f2baef48732977979557878ac1b2bbd414ec931ea30ccd4d2b5fd6c26bd4",
    "installed/node_modules/hono/dist/jsx/dom/css.js": "c843968b41557ec3d6a0bbe6d360a3ba1ce08a81bf896e0a4fc019ce87e48404",
    "installed/node_modules/hono/dist/jsx/dom/hooks/index.js": "c77796504c8bdccf6a42b48e130a58b541d619fb99db4cada4f2e263eaea76c1",
    "installed/node_modules/hono/dist/jsx/dom/index.js": "c083719a31ef8113841dac509426ed621f5d13eb6a7b6ad394868e1eb453e554",
    "installed/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js": "99b5d9ccc623211149a8edb936dfd0d75962abdc448a93032c3c775a88908fd8",
    "installed/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js": "f92e07b6e37722c4e9a5ce76458b625e7a2345ba97243e1d667dbc29b89276aa",
    "installed/node_modules/hono/dist/jsx/dom/jsx-runtime.js": "3516a77b2e82a41d168188cfe4952efd40a78ad5dad1ce1c63c64f98b7b2e57e",
    "installed/node_modules/hono/dist/jsx/dom/render.js": "4ee6ae9823a515999f6fa39c52efd18b8171d0e381a5dbb67a87f829befa86ae",
    "installed/node_modules/hono/dist/jsx/dom/server.js": "2d5575bfb50bcc2fd88abde7080819e78e538129214ea42ae816f0b388404b1a",
    "installed/node_modules/hono/dist/jsx/dom/utils.js": "26c926e46cb6ef95d8671fd214708a3a4ba6644fbf3b4d5b40ad101960f1fe79",
    "installed/node_modules/hono/dist/jsx/hooks/index.js": "51463b8adb9b426241f4f001a1003e90bad5e70d3fd808d0dcf034bfe5bf41aa",
    "installed/node_modules/hono/dist/jsx/index.js": "ca98edd2ad1fdd40bc2ec72c715d238e7ffabdc4eb61e391095a7c8866771560",
    "installed/node_modules/hono/dist/jsx/intrinsic-element/common.js": "7774c3b2d850832bcfd27b3eaf3e6a0859963177e3f7aee6582ee73b81bf6ec0",
    "installed/node_modules/hono/dist/jsx/intrinsic-element/components.js": "4a18564a1215a9b1da2fafb8fda914d3a34d2a5fe77b07e3dd6aa0aad1865c84",
    "installed/node_modules/hono/dist/jsx/intrinsic-elements.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/jsx/jsx-dev-runtime.js": "5e8a1f3dd2fc992c516555709a28256448238308edb3827b7e9dc7247dcf20fe",
    "installed/node_modules/hono/dist/jsx/jsx-runtime.js": "4c409c30ba0befde4b2be91e18b1b4037b71488ce11088971032d34b2dc61b63",
    "installed/node_modules/hono/dist/jsx/streaming.js": "87248a2f512db45269ab9d6a7ae8f457d0a47e48faa55dd412922636bb46fe7d",
    "installed/node_modules/hono/dist/jsx/types.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/jsx/utils.js": "e9e8ddcd4c8f0448ff3854053a171e893f6280fb308dbf054481bd8a7d896791",
    "installed/node_modules/hono/dist/middleware/basic-auth/index.js": "b54d99c1abcd1ba57fb9d16e1a00376ed8d468c417203501482f723cb5dd4990",
    "installed/node_modules/hono/dist/middleware/bearer-auth/index.js": "4a42aa005f5143e3109dde5968383ff3905cfb010ee313ad50806ac47b5f50b1",
    "installed/node_modules/hono/dist/middleware/body-limit/index.js": "19761aea2af27b7c539d6d7e6bf856e147b2f2842d96e0099aa0c36e3023bb82",
    "installed/node_modules/hono/dist/middleware/cache/index.js": "5b0145fe6d0d2d53223cd17799b0cc8b8e5be3a5b607f8ae9f3053543d207991",
    "installed/node_modules/hono/dist/middleware/combine/index.js": "a8b7a480547d32ee69dba793f86cf05f8dffc1fd6cce317d544fc8fa4991d1f3",
    "installed/node_modules/hono/dist/middleware/compress/index.js": "12249147aea7b0bf4dabb8c20a00616139bdc58cfa1c44899ed4fe1d301c0522",
    "installed/node_modules/hono/dist/middleware/context-storage/index.js": "21174a4107ea499b660eaa1eefd850bd0566370bb6b084c819fe87c50b7e8417",
    "installed/node_modules/hono/dist/middleware/cors/index.js": "cd304718072500b981b7bac430d22e4004c858d91d0c1cefa09d065edf84ef40",
    "installed/node_modules/hono/dist/middleware/csrf/index.js": "7af4e6626d5ea4e84b87041f9da0f53343ba68c1f96c297fe20c478c4f541789",
    "installed/node_modules/hono/dist/middleware/etag/digest.js": "5250cc08d8962be5cdb92d056dbe07bef2cf3d4322c84e6c2e287349d8cd71f9",
    "installed/node_modules/hono/dist/middleware/etag/index.js": "14d4ed7ae141acaa64e7215332eab8887db1e1ab96e150910642ecda0e4e8e30",
    "installed/node_modules/hono/dist/middleware/ip-restriction/index.js": "6b9e2830ef85981ad1855670e31adff9bd71d676158a493e796e0f8005f605c8",
    "installed/node_modules/hono/dist/middleware/jsx-renderer/index.js": "960f9f96be50b93ef69dc18f15e74c9e679fdb8e1d5335517a05f3d1a6e6119f",
    "installed/node_modules/hono/dist/middleware/jwk/index.js": "020d2224d18809ee5c4964f3ca3f44bcf3d307a71b8e185e2979c10069be9f56",
    "installed/node_modules/hono/dist/middleware/jwk/jwk.js": "12b7ca04967741d5703ce9474359cda04c66a5f83446fa9f95f4014de30f33d4",
    "installed/node_modules/hono/dist/middleware/jwt/index.js": "f4748b1e748a0e542122f3d395fc03661a01d21262ee34d7b7f2abde4767f459",
    "installed/node_modules/hono/dist/middleware/jwt/jwt.js": "89fc957f99ce9218f46d1f22cc8134b851b0d88001b596fada1c7544747b843e",
    "installed/node_modules/hono/dist/middleware/language/index.js": "61748e76811bd3969c08ba56b2c564ee941de63ce3a0239bb6193a3981b437b2",
    "installed/node_modules/hono/dist/middleware/language/language.js": "a7a67f26c2e8b9300fc1b3ad471ac09851b26d5f95b79af7874136ad4374250c",
    "installed/node_modules/hono/dist/middleware/logger/index.js": "6c272358c1efa7bbe71603a3407a0189a651b2c0364de180a4dba6e8488d5046",
    "installed/node_modules/hono/dist/middleware/method-not-allowed/index.js": "f6bc2239455b98562abaa9759610b4d3dc1e165c6367c296cfcf03fa518af4fd",
    "installed/node_modules/hono/dist/middleware/method-override/index.js": "1230960dd0bfcd4641fa402842afd9264183e1b2476e14226b25d47d251b6f04",
    "installed/node_modules/hono/dist/middleware/mount/index.js": "aebd9872e726fb86b58f37e168a3662e058e9e86913f215a4d70d71627710625",
    "installed/node_modules/hono/dist/middleware/powered-by/index.js": "2fe9184982417db3ec2381dd1d3ce79c690d0dafcea0d9a3eb6859904f1d8605",
    "installed/node_modules/hono/dist/middleware/pretty-json/index.js": "e484258fddc7db3c95e8bc8edcedc236b7eb7a7fc148c4805b4604b58012a282",
    "installed/node_modules/hono/dist/middleware/request-id/index.js": "b20aea3f0762f2fbc75a720d081f45d920b32be0bae2242ef012c18d3e230386",
    "installed/node_modules/hono/dist/middleware/request-id/request-id.js": "92220b063e60cac761ad70f66d68a81d0db1d899bd2140ee98cb53e291c22e62",
    "installed/node_modules/hono/dist/middleware/secure-headers/index.js": "6d3881390ec386a9d8e81bb740dc40a25d20b7128f4761796c3ce0d74549faa5",
    "installed/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/middleware/secure-headers/secure-headers.js": "85b46603ed235872459ed4b9c72166b2dbb554c820214a5397d616bdd64792ec",
    "installed/node_modules/hono/dist/middleware/serve-static/index.js": "367ab6e405018eb56c8d730910e3c9facb1f6b5973804f9b35cd5816559bb4b9",
    "installed/node_modules/hono/dist/middleware/serve-static/path.js": "6284fc82686432b2eb30d19a77ed02e801fd6d3437fb90f4965a92e7ade62f83",
    "installed/node_modules/hono/dist/middleware/timeout/index.js": "98fd93570335c35806337a31110ab9ddb7df4d15454a2bb8436f03ae22955bab",
    "installed/node_modules/hono/dist/middleware/timing/index.js": "67100dab6fc34ef790485cce002ebe38d95b2ea557f9d428e74e73419e57b0dd",
    "installed/node_modules/hono/dist/middleware/timing/timing.js": "3261b0cab5eb00e0dc220c3ff31d958b63e685427ec95d7613e75657d6439a0b",
    "installed/node_modules/hono/dist/middleware/trailing-slash/index.js": "0ee19d4f0aca5bef6a9f7ed9fcbb379948208b7ac6bd3f1afdc0a07f464c8dfd",
    "installed/node_modules/hono/dist/preset/quick.js": "01709d1cfb78a895282b60e31de2203136db7ec4b42620dbff72ba0d8c96a62c",
    "installed/node_modules/hono/dist/preset/tiny.js": "56621ddd5e79a890f18ced77db3e58811e417871d09ddc9d6b8c2cb8970e5fd3",
    "installed/node_modules/hono/dist/request/constants.js": "983bf06a2f366ec289ddbc253008175a63eead569dc501b5adea98b9f8faf3a9",
    "installed/node_modules/hono/dist/request.js": "7606a9234008de851797cf618667c4ec9debe8cb517fe5a4aa9a9fa3507cd265",
    "installed/node_modules/hono/dist/router/linear-router/index.js": "f5d068eefd19f467c93f5eacc7f45dc6e93205bf4dc2af76e707e8e226199dd6",
    "installed/node_modules/hono/dist/router/linear-router/router.js": "4c29f2a4b6eb6cbadbadb2ae29adbe0d6ceff5fc7f72b3cb3c055962b074eaf7",
    "installed/node_modules/hono/dist/router/pattern-router/index.js": "2d6f5753d40866134bd48b971088d466459e4351cb5b1de6696a348bc2a37781",
    "installed/node_modules/hono/dist/router/pattern-router/router.js": "36e3c9179edabb70e83930667ca2dca75571a187f563d938d72b54188bd89e8d",
    "installed/node_modules/hono/dist/router/reg-exp-router/index.js": "822304b59df8cd453267e5335817db09e1d126307a4060afb465b4fa702c807d",
    "installed/node_modules/hono/dist/router/reg-exp-router/matcher.js": "bbb976ff313449c4490290ef392ab0fe0cb01c5a1f93a4ba5baf47e26ad0036f",
    "installed/node_modules/hono/dist/router/reg-exp-router/node.js": "c962a952318e80f0260b47e67a92ae296ce9b253ae4be3c93823029bdecd25a4",
    "installed/node_modules/hono/dist/router/reg-exp-router/prepared-router.js": "c3cfadf01bcf8e2fa9963cf891ae395e7c258480a1edeb338cbc12c2ecd97e67",
    "installed/node_modules/hono/dist/router/reg-exp-router/router.js": "949c2286aa6787b942336c107b6877fee5518c43491e01bb163a04abc29b8621",
    "installed/node_modules/hono/dist/router/reg-exp-router/trie.js": "dc3a7f110a75ae2de852e4de9af9570ae24f5981fc7084e5816a69f1e1dfee9b",
    "installed/node_modules/hono/dist/router/smart-router/index.js": "66e237deef0c95fb2750b0c38d1b47e702c4af44d0fe0ee64c496fb2dc48a9a8",
    "installed/node_modules/hono/dist/router/smart-router/router.js": "545e65d0abf3d265678ad02478f1523610a2f361e338e9fe7abd6dbb54535dc8",
    "installed/node_modules/hono/dist/router/trie-router/index.js": "0dba884522130fe101909713ef612ebd46da0ab030176259bd2cedd0a39fdd2e",
    "installed/node_modules/hono/dist/router/trie-router/node.js": "b8ff86a389359d734245b0bd2096bd7db5cbbe40eaeb910f4d51d29a56923a62",
    "installed/node_modules/hono/dist/router/trie-router/router.js": "529da9a7e75c8bd388cf00527883d991dfcf51d97cb1934247c230db544af469",
    "installed/node_modules/hono/dist/router/utils.js": "517286c2e5cfeb573ad35119a4b8813c66ca730f086fc195928a251f88c66824",
    "installed/node_modules/hono/dist/router.js": "cf1dec50138249bcadc086cfb427780ee46ee5671231ea0bb25a3a5c38dd6bce",
    "installed/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts": "e4f0e4edb63153162fe7eecc36082f4e399d3872ae6785ed0b17df1489bb3779",
    "installed/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts": "0c03bef4aada51424980c64bf4535b2841061d24dbd2f5bae482203e0272d05d",
    "installed/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts": "9745b1544e295e24bac7a67d1a1a4c8f27557bd5922bb41f27d249169ca6a542",
    "installed/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts": "50a853553f947b9ef8565f830fdfd87dd2643c823d8cfde0927d31f1dccbf145",
    "installed/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts": "3028948b62d6fe7db0eaecc28db7c2d3d0e1ec85a2d8758d0870945da762f8aa",
    "installed/node_modules/hono/dist/types/adapter/bun/index.d.ts": "bbd8d46f2fa89d6ade1a52f473ec96bbca410baa67371e434532a1b42501ace6",
    "installed/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts": "e3adc9536bd39de045271f9fc5fb6db5f0f454a1b894a15b10c1427c860f303b",
    "installed/node_modules/hono/dist/types/adapter/bun/server.d.ts": "a77502c55fdf7e0ee2117dd3c5afea353487a552a614b68c6981c8c48f1da8ba",
    "installed/node_modules/hono/dist/types/adapter/bun/ssg.d.ts": "268abaae3643fa58c6979aa89032f93a6c4e91bc61c8527e23f5d2bee99e0f4f",
    "installed/node_modules/hono/dist/types/adapter/bun/websocket.d.ts": "ced71c56452402f6fc5dbe62f6893eeb6003037ccee96258e34957f81e826a8a",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts": "72d7e44c9e51c28a2da96071337964320c9b826339179b6b83d3266ba48c58f8",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts": "d982eea100ea241ca02a887596a3230ea74c332add129235816de937d249acb1",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts": "79f8c39fb00713711331b278af89dc3cfbd0ecddb0b02b740cc62e8817ed5c16",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts": "0154485da56c1158ec1e6315ce36f6d8c1e9964abbd43041b9962f7de1b7b6b9",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts": "147d37193c4be77cfc02fc7cf4fb782f1a9d9275466ce7caaa2dd3a85389f047",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts": "74e0fce2b0d6a8aae6c11272e760c4656789db13a506ab89e6bec047d9f67f51",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts": "904b0ceb4de08493681e522abaa6ad664fbcfd2865698b55aa5a1c621e3871d0",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts": "d8ded02b64471a7b2c3167df075fb5fc590f85f0637e48b0c133b895edbee6f8",
    "installed/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts": "091e55fbc9c59056dc3c85ae6ea5f3e0dab0e980611052d08208bfad6727dfb8",
    "installed/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts": "866429943db130e5d58d8568d3a7fadc5b7f3de35abf2f6b303003e36b893507",
    "installed/node_modules/hono/dist/types/adapter/deno/deno.d.ts": "f4c5cf9bb78e85f15dc27180260637cf24b2a24bc39e0788783a3accc4dde614",
    "installed/node_modules/hono/dist/types/adapter/deno/index.d.ts": "377b70fe7437a42cab67f6bc94a4328870b5daf94059b23032f017a84838fc80",
    "installed/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts": "220ed3366e6c2ebb53c05995f9286692029bde019326fccb937f3fd9cb4d5a1f",
    "installed/node_modules/hono/dist/types/adapter/deno/ssg.d.ts": "d0015347ab9cbb9b9261381413e2f5cc0920a0db33c7dc7822316b2db07d9926",
    "installed/node_modules/hono/dist/types/adapter/deno/websocket.d.ts": "ce3ba829e0ee27ded6694ff886ece5d9d2ee596c434f6f3373848ba2d5f63bf5",
    "installed/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts": "7d46785e18d5793ea7885bc15c7e1c9063bd5573ac878ac29292965a3b1b0603",
    "installed/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts": "fb59ad05ac4b674fe9eaf1a7ec678fc719df2c8061c1b7cac6add6bb1f2e047f",
    "installed/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts": "c1f7cdb942180113edda3c7587d58892b9d2d1cee939375678aed4954822c6d3",
    "installed/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts": "f369cf782806dc12c6d8c0139526470b641e176b3b3045fcba02dc2e73899cb3",
    "installed/node_modules/hono/dist/types/adapter/netlify/handler.d.ts": "ea77d77922d11ca2273ad1b62886d1e5cc525517491ae4eedc6e38d057bfbdb5",
    "installed/node_modules/hono/dist/types/adapter/netlify/index.d.ts": "8bda7286b3974ef19be1a4afeeb671fac74437ece4084a264c71132f0814ffaf",
    "installed/node_modules/hono/dist/types/adapter/netlify/mod.d.ts": "8bda7286b3974ef19be1a4afeeb671fac74437ece4084a264c71132f0814ffaf",
    "installed/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts": "ee8e11c69b0c031f7c4b9bf51809aff2123c0e1cca63bf69647c68bf29407729",
    "installed/node_modules/hono/dist/types/adapter/service-worker/index.d.ts": "7f5dd2c91d1ac6824ff63a8ae714423edf7fa2bcd4a7b0e26dea60413b999474",
    "installed/node_modules/hono/dist/types/adapter/service-worker/types.d.ts": "3bb94cec45566d578ebbe9ba298bc63baf035a191115539955e7c72326403cc2",
    "installed/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts": "b82507b26e5b21bc8b318185d75cdd2f566cb592eca37f6b1fa5630cda725cf1",
    "installed/node_modules/hono/dist/types/adapter/vercel/handler.d.ts": "26ec4ae67072e53afbb975b8a563845c50c6cd9a2aae704407e86c756860fc28",
    "installed/node_modules/hono/dist/types/adapter/vercel/index.d.ts": "8bda7286b3974ef19be1a4afeeb671fac74437ece4084a264c71132f0814ffaf",
    "installed/node_modules/hono/dist/types/client/client.d.ts": "85fc5027c27e35ac77f2fe28db8efc88eff8db2b48d6df1ea5cd017613b5c516",
    "installed/node_modules/hono/dist/types/client/fetch-result-please.d.ts": "a5ec600863fcfec53c962b214b5d270d84a789277c76f2e72fde177726c2bfb0",
    "installed/node_modules/hono/dist/types/client/index.d.ts": "21100b63b9571c4d595cc77b81fd59a4e81836d873294a8b6cfa0741fefcc14e",
    "installed/node_modules/hono/dist/types/client/types.d.ts": "d8e011c5e09e367cff78be7ef719924470b4373a2372b421dd2a37e223285728",
    "installed/node_modules/hono/dist/types/client/utils.d.ts": "fa2d020487fc9a29014b22a627702c9bf56b0c1bdba4589ccc81e3adfd69bfb0",
    "installed/node_modules/hono/dist/types/compose.d.ts": "a2ade0ccd54a2830a2008b4eaf700b27b7d427e4227646d9f561c8e01c302b01",
    "installed/node_modules/hono/dist/types/context.d.ts": "4c37c272fe6a11bd63281450512955515856e8b5ba2c8d49521b8303a8621306",
    "installed/node_modules/hono/dist/types/helper/accepts/accepts.d.ts": "db6c34df89cfb2bd0431475104ea574c507dc5dba9ac45cdb984fcc51ed5e198",
    "installed/node_modules/hono/dist/types/helper/accepts/index.d.ts": "e2d9556091d017234370ac258ac40ca4e4e75786a415f471149d61b3ccd3e026",
    "installed/node_modules/hono/dist/types/helper/adapter/index.d.ts": "b997626838e1cad093700214664910e175cea02d0b2a8d981db7dbaf783ed01f",
    "installed/node_modules/hono/dist/types/helper/conninfo/index.d.ts": "52deaf10794b22fccf7fd4daf7941dbd45251bde0d4e81fca13f5063e5b93d9f",
    "installed/node_modules/hono/dist/types/helper/conninfo/types.d.ts": "1df5825d25c9b32db4fb261c24c2b0b3ce4a76b4e36f0cf78f68b84f9cab906e",
    "installed/node_modules/hono/dist/types/helper/cookie/index.d.ts": "051f8b6b52e8084a9d696c96e371637ce7f9f6e0e58973b3ef2a277b38b8768f",
    "installed/node_modules/hono/dist/types/helper/css/common.d.ts": "eae9bbc443d62542b785c37476c93e676067cd3aa13fc3f9f4132dc89a9fdf6b",
    "installed/node_modules/hono/dist/types/helper/css/index.d.ts": "fd921fb3ce2f68225e0a25c55f65108fcd881b011093e3b1d3082601230fc95e",
    "installed/node_modules/hono/dist/types/helper/dev/index.d.ts": "021866089e215fccca33a3632664fefee98a4b2610c2b9fb5fa812a4fb2343f9",
    "installed/node_modules/hono/dist/types/helper/factory/index.d.ts": "32da6a1d0f6d185d096d1e7872b9ad2c333d72529df0a10453812daa88368b7f",
    "installed/node_modules/hono/dist/types/helper/html/index.d.ts": "063077b820b06f52e0e9c164ba2383e4a6f970d1dbe8ef1c5efdd09e211ae662",
    "installed/node_modules/hono/dist/types/helper/proxy/index.d.ts": "660f81359385f7746279c45bb4943ef17a0075bf7b0f462706c0075f6accde52",
    "installed/node_modules/hono/dist/types/helper/route/index.d.ts": "d082706872b7b820d7a0fa0ad2243bbf031a215f288e926d1f920745d070df1c",
    "installed/node_modules/hono/dist/types/helper/ssg/index.d.ts": "ad30bd6db4530776c73a2e8188d4746b6408e0be9e3c576d9df44bf023cbc633",
    "installed/node_modules/hono/dist/types/helper/ssg/middleware.d.ts": "73db86fe69c39b974140c6cdd106b5fe3f06975379db5f1372a1efe44aee8fa4",
    "installed/node_modules/hono/dist/types/helper/ssg/plugins.d.ts": "136ee15b1cb9e24919903ac4e41b1407ecfb10b824c795bb89bae9d25af19abd",
    "installed/node_modules/hono/dist/types/helper/ssg/ssg.d.ts": "ba858b339e6ca1db5aeed163c2fd98a080f4efde59380edc5a2bf16ec184806a",
    "installed/node_modules/hono/dist/types/helper/ssg/utils.d.ts": "d8b070ed8e152ec33b8fddb6ecaa26d1a80abe3645465c92a8a6c8e8e95e1db4",
    "installed/node_modules/hono/dist/types/helper/streaming/index.d.ts": "dae717d006d04d2da8e7bea8da2979f1db70acaee880460732510ac1ce0ed3a9",
    "installed/node_modules/hono/dist/types/helper/streaming/sse.d.ts": "f4fb8d6f469e5e3d332532fb5d0886c7279c1092b4dea3a83576609c6195404a",
    "installed/node_modules/hono/dist/types/helper/streaming/stream.d.ts": "2ef94c24fba8fe932d33989bcfc58df24703f95381d07faf471a4cbebef3be5f",
    "installed/node_modules/hono/dist/types/helper/streaming/text.d.ts": "b626e25acddc930910970752c314139416f7b554891847f6b7e3d4b882d40346",
    "installed/node_modules/hono/dist/types/helper/streaming/utils.d.ts": "a412278be6f393ea91b83fc7147aea91286455fd993cdcdb1c6d6c4ba01784b6",
    "installed/node_modules/hono/dist/types/helper/testing/index.d.ts": "b541f47340594ad926aa38a2021e0f0aab0d51c767930bba330d27953f3265c1",
    "installed/node_modules/hono/dist/types/helper/websocket/index.d.ts": "67935e11e106f33b8ceba31942c8db86e4bd25b21f8f7e9d584dbbb7155dc366",
    "installed/node_modules/hono/dist/types/hono-base.d.ts": "adc54032de5f0751a8a914b0720c26f1cfe854d10031c3e5d37731191dd47191",
    "installed/node_modules/hono/dist/types/hono.d.ts": "65451de7c104b560dad74a279855a715db0d0d846e2c7f0f46f163b315d70655",
    "installed/node_modules/hono/dist/types/http-exception.d.ts": "6351d0ee1eefccceab22ec7c2eee67844f69448d081ef43e77f1e397a0716459",
    "installed/node_modules/hono/dist/types/index.d.ts": "ec4fd50e1e34d03621c3216ffae720ea2c2abe2d84a06ba29da0c78089e7d3fa",
    "installed/node_modules/hono/dist/types/jsx/base.d.ts": "df8ea7e617bd7138c1ce3ccfbc95c0c03a0fb02b1c09076490cea7ac59f11053",
    "installed/node_modules/hono/dist/types/jsx/children.d.ts": "4a233e03fbcd86d49fdfbe8626381b99009a1ab204e21121aa0dd46d611f65bb",
    "installed/node_modules/hono/dist/types/jsx/components.d.ts": "b45b44e4deacfd766b630a0df48572cc654ded2fa5a945bc83eefb1fc2cb13bb",
    "installed/node_modules/hono/dist/types/jsx/constants.d.ts": "599545af226d8f7ef1304a1f7c53525d986fa676bbddad408a16b48907876759",
    "installed/node_modules/hono/dist/types/jsx/context.d.ts": "406b50b57400004e27fcc9877b172ec425ecc575e7cb877be5b4c093a25fa14a",
    "installed/node_modules/hono/dist/types/jsx/dom/client.d.ts": "11ea52738d2562ee190686085db270797cfc199f9e72b0ea484275cb165a4077",
    "installed/node_modules/hono/dist/types/jsx/dom/components.d.ts": "329e70bfb3b7a99ed4b151c6efade50138a2df5a34818172ffc2053ae3978970",
    "installed/node_modules/hono/dist/types/jsx/dom/context.d.ts": "db4c1ea6d8e74a4fcd9863bbc2f2086f0d7e542e6f6c3807205b2548a510f47a",
    "installed/node_modules/hono/dist/types/jsx/dom/css.d.ts": "78932a825ffd209e8cfd594fae4641660af1f19856ed204a37434feef661073a",
    "installed/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts": "ae750468eaf9689f26aca08824d3fdbab412968baf4fe19ae40896fcd4184a2c",
    "installed/node_modules/hono/dist/types/jsx/dom/index.d.ts": "e81da91711140022480711092000076958579030f4eeab9a03649acf979c7d83",
    "installed/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts": "6a0673fd596d067ef32b6db94a2858e574271404ec1fe6e744458ed29900c791",
    "installed/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts": "8631fcc7c8c4c133549704e17bb12f2b6f58b248f33ac7063abe472702ace291",
    "installed/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts": "0952a989b8785565bbcc77b989a9cb87be07bc85ecbfe57cd0974a597e2c1380",
    "installed/node_modules/hono/dist/types/jsx/dom/render.d.ts": "1f78950598e8b37402caa0531bb754511720a600fc0ca21095ab44e19b48d48c",
    "installed/node_modules/hono/dist/types/jsx/dom/server.d.ts": "902d61850737f56283903a3748f6e3e677b852b367507310dde206ce6309e5b7",
    "installed/node_modules/hono/dist/types/jsx/dom/utils.d.ts": "48d8d94ed2a3723d85cf0142a0544d00b467a0707b02c2474ca58e248dabed80",
    "installed/node_modules/hono/dist/types/jsx/hooks/index.d.ts": "955cb8ec8e08908ef57840fd92b10b5f6e7d15c7f0fd80f540b08415e8fcf38b",
    "installed/node_modules/hono/dist/types/jsx/index.d.ts": "47716d6b491a7be1db5035fb887347c685c1b0031c97671e494d7fe5084baa41",
    "installed/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts": "e3c2986ea2841d9ecdf2ed6cc635915858d1bc5cb2fe79da6d3173619c87bc47",
    "installed/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts": "0ffe24efbc235d2b20a741c69f5bb87d1225a7d5e4a4798342a4c4f38e8b3583",
    "installed/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts": "5f1dff374aa151eccb77a3c12af7c85d7beb6d58ca2c20cb1e860802fb05ac86",
    "installed/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts": "1cd2316be5a76e09fb9758900e1c9068803851aa76aec1b9c952e9d0f73f4df8",
    "installed/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts": "bae4e17cb929ef6a010a951a2e8c0a4f9c6692fbb2f97e5582274043ed9970c7",
    "installed/node_modules/hono/dist/types/jsx/streaming.d.ts": "53b2ceeb49da98b9cac6a552a2026fd3f0406e00842fc31b03672d643594fdef",
    "installed/node_modules/hono/dist/types/jsx/types.d.ts": "aa6ddd5cfb2d6841e5b7068a140783681676cd130a8a3b25fa903235b7b15ec6",
    "installed/node_modules/hono/dist/types/jsx/utils.d.ts": "be9eae5932c239b3deabbf2342b896e56cc1222b33ee71831c9e76ab75231d9b",
    "installed/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts": "5375ce257527d19aa6fa8a51dbae1e6c3844ab4b44bd799e7e349d95bae0edc2",
    "installed/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts": "bbfe5e01b7d7b763e3060d2a1c78804f77439828f4c7b741c5cb6c1ae82da666",
    "installed/node_modules/hono/dist/types/middleware/body-limit/index.d.ts": "a1fd37f33dde007518c506e8af15d33c6c16c58072fb368b2786048db4dc2d80",
    "installed/node_modules/hono/dist/types/middleware/cache/index.d.ts": "021eaa57c3c2a726a28651eb1ec63a0b0b48aff384941bc20229c69d2b663b5e",
    "installed/node_modules/hono/dist/types/middleware/combine/index.d.ts": "8ce3eecfa0608155692c4ab19e32c8c8afba0ed1af99e099d8fdfbd8e9096269",
    "installed/node_modules/hono/dist/types/middleware/compress/index.d.ts": "06160dd866938e3e9244bcbf5afdcef6447525611dc5ed712fd1e5e1a10eb38f",
    "installed/node_modules/hono/dist/types/middleware/context-storage/index.d.ts": "827c0e2e17efac8e19eb6274cbcdc9b1af21bfbf83340c716eff6ab6cf78196b",
    "installed/node_modules/hono/dist/types/middleware/cors/index.d.ts": "20731800e6e9fdf1d24ad90e1f2db2f6eb281f38d4a20143458fa14672071be6",
    "installed/node_modules/hono/dist/types/middleware/csrf/index.d.ts": "e98c19a109ae327d6efbffbe32a06eb32dc59b766a9c503c76ee9e9ee94f5b72",
    "installed/node_modules/hono/dist/types/middleware/etag/digest.d.ts": "627b0790bb5e39d4e13a7fad68ca9f61a4b368af7337cc7a893c2a06326c2807",
    "installed/node_modules/hono/dist/types/middleware/etag/index.d.ts": "fe690d0db2f9f11653c425a68ba3d6bb3b421bd261400f83e6da740dbf9824b6",
    "installed/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts": "5a261cbfa3a627067abd6d7d8799c9f5f3aa21fa173ecc7275347d64179957a3",
    "installed/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts": "770f300d792be89a5164f9659cdb8b20173741fde4477d693aa5e7efb1589562",
    "installed/node_modules/hono/dist/types/middleware/jwk/index.d.ts": "a788973aa43ae7f3e2a34a6a54135b623923540e6d950fcd44fb59e3159d2091",
    "installed/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts": "d6235615981635118242eec1b6b182574dd87238fe25843e3c8aa5e413e5969a",
    "installed/node_modules/hono/dist/types/middleware/jwt/index.d.ts": "391abddafd30c91747470f7c780e5f42268a458efb02ebb17933073fad5d69d8",
    "installed/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts": "07039135e366082e7e12e0940d97c536d267c9a9abf24d5f716f6c34cc56d2a7",
    "installed/node_modules/hono/dist/types/middleware/language/index.d.ts": "fb95dd07fe2d91b6a15e2c7e4226af4fc077a751e4579447a96e9d863112360e",
    "installed/node_modules/hono/dist/types/middleware/language/language.d.ts": "4fa6e1c323f2cada728ec62af4a516ddb26b2042e9fec662ac3cd6f902f0ce41",
    "installed/node_modules/hono/dist/types/middleware/logger/index.d.ts": "4600a80b441aef4537fd9ac243cbe7ffba1dcd6ccd0ad2a0b76940a924190338",
    "installed/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts": "960d52489a5dce30811e111f2541ea3272062848621d5ca5cd51ec1045b5665d",
    "installed/node_modules/hono/dist/types/middleware/method-override/index.d.ts": "5ef39b43eb867e228b6f6782507249a22b2025b244ef4a59416c6dd46e80bdb1",
    "installed/node_modules/hono/dist/types/middleware/mount/index.d.ts": "7c3486269e23ef68e42ff15e5247205c29608997cc3cdf478e820ace9678f398",
    "installed/node_modules/hono/dist/types/middleware/powered-by/index.d.ts": "817919dc12f81dcdc5a4e90e196ada4df27fbeba7fe1bfe169aac9869124f433",
    "installed/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts": "83981e75ae3728ea67dd93ac5cbe7ea2f622ca3601328ac8533e55b1cfc95cfe",
    "installed/node_modules/hono/dist/types/middleware/request-id/index.d.ts": "bb22f86b8efc3059e33179b1e27b58cc4f4f7ff2e7fa2942e5321814001de8da",
    "installed/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts": "ac1d62fcfcff9a26cad7ec0d20748c1de0c1031adb24642e2833e81502b573e8",
    "installed/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts": "e0df88073585e6e85ce375cae2c2c7ab9c83ccf013aaf82fb416af86392648c7",
    "installed/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts": "cdd7d3a53c5acb3f7e547fa5c59ae9ccd1bdf96c3f2c5d71a5ca427bc1c81bcd",
    "installed/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts": "80c2167217e364438255feab625787dd4a74e0dd16c5f43c6f099c218e0a6171",
    "installed/node_modules/hono/dist/types/middleware/serve-static/index.d.ts": "b4a9959949e5b8009cc4e7a9955182b4e1dfe24daebd7eda5591fff81e6e2352",
    "installed/node_modules/hono/dist/types/middleware/serve-static/path.d.ts": "7ced1aacf120370abb5e43855a6a332ebac47b9f7b9002043969fa6e8cfc1445",
    "installed/node_modules/hono/dist/types/middleware/timeout/index.d.ts": "65268dc0f73b3dd60d940c75848cc5ac1d27bf84f0887e1e620dd7841b7e09cc",
    "installed/node_modules/hono/dist/types/middleware/timing/index.d.ts": "0d0dbc7dbca00e347aeb6ec92d12a0b91b562699be323603c18c75d3610f7f68",
    "installed/node_modules/hono/dist/types/middleware/timing/timing.d.ts": "f3d3c968592ff1c1440996239caa9c66484f220f9dfd19b9e14c301aa61b7bf1",
    "installed/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts": "11ae412e13bfeaa435a505f5b0621198361c343bd7676684de0e4e004021e707",
    "installed/node_modules/hono/dist/types/package.json": "8005a3491db7d92f36ac66369861589f9c47123d3a7c71e643fc2c06168cd45a",
    "installed/node_modules/hono/dist/types/preset/quick.d.ts": "2b52f916f2583891015e8a48b5e8db2082214ae0c36efa063a9150946e77721a",
    "installed/node_modules/hono/dist/types/preset/tiny.d.ts": "36e041452941f12f8ecffe1e3c878d0779c5e9588a9b4117cd6223319bbd4e8b",
    "installed/node_modules/hono/dist/types/request/constants.d.ts": "2105b94251053ac7f09cf04580e184faa248429b73f177f304f692899a940c84",
    "installed/node_modules/hono/dist/types/request.d.ts": "1249777837dd0a8a76970f5336cc20a508770a1e73a7c07707a6484cb2f28359",
    "installed/node_modules/hono/dist/types/router/linear-router/index.d.ts": "071aad45502889f75fe45f6fc8a9127315a15a1df3c053ac1e52d21916a02db9",
    "installed/node_modules/hono/dist/types/router/linear-router/router.d.ts": "f52bc15eb2acc71dd2b99cc109f42f828ba44f5a75340371d95ddcf7498cde18",
    "installed/node_modules/hono/dist/types/router/pattern-router/index.d.ts": "4e9f39cc48a52e0a7a46eff0fcc5a985a3be695be263f156f35ec982bc65e8f7",
    "installed/node_modules/hono/dist/types/router/pattern-router/router.d.ts": "3bae67f85178509b3bd9cd56faac00926067a1eace4a953d2f0d02664bf95757",
    "installed/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts": "6e541f9423cc1b136c1bcdac75e3a43f755aba5ccdfaee464392ae456646afe7",
    "installed/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts": "0fe1ed8c5b75d5aeaef9117b856894a228309d8643bb1c76407a88cec22e4ca4",
    "installed/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts": "9a3e2bc09f71d01e5c73e4194f246628d501ad45fc80aa9eee373b6d28227a0f",
    "installed/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts": "4ba1df5c3e7ce4a7acc4961a653f4aa0d05ae3284cd4e28c061a12ff6897e7ea",
    "installed/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts": "686156bd7fdc58b4c5d07c7b634e0b2ea3bc78fc47e1cdb0759d6b512d9d5cbe",
    "installed/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts": "3d853b2920f42e41408409193b98afc7823f2bd47469ff7fbf81b50083c2901e",
    "installed/node_modules/hono/dist/types/router/smart-router/index.d.ts": "eddd35a67af1838b6aaaab6b5ca6914ed09a7ad4ce0c411008fb3c0f1e5fed97",
    "installed/node_modules/hono/dist/types/router/smart-router/router.d.ts": "9db80936212fbed6fc279cbdf0cfb94e649b5bf3da60eb8f51738ff31837abd9",
    "installed/node_modules/hono/dist/types/router/trie-router/index.d.ts": "98a2d316535753cbc0332139d9856aec2ab04ec1683fbd64842659057ac8cd99",
    "installed/node_modules/hono/dist/types/router/trie-router/node.d.ts": "2971312c801c981446c16a63c8d9660578e4bbf6ae863bc10ac6772e9df23408",
    "installed/node_modules/hono/dist/types/router/trie-router/router.d.ts": "58715c4b2e04dfe8971309e558008074bfda2df8a707654f4710ef558b8b09f0",
    "installed/node_modules/hono/dist/types/router/utils.d.ts": "cf830b8e6538acc3dafc0ac9819012750aef567c2b18dd9f2cf9af902d49149c",
    "installed/node_modules/hono/dist/types/router.d.ts": "1ce58ec0ce67b21f4ec336751d0a0b2e8140e0affa0a3d164379bd7fdb7f9bc8",
    "installed/node_modules/hono/dist/types/types.d.ts": "55f1e79132b033f4ca6c41d46fefe2728af7daf0c2b73c47ee8b861518b5153b",
    "installed/node_modules/hono/dist/types/utils/accept.d.ts": "815d08bf64cf477d0e19f3e4bfe04c3ad6f63f712f7e5eaaf701dd1d584247a0",
    "installed/node_modules/hono/dist/types/utils/basic-auth.d.ts": "6e509ee35c84d9e30810a224920f7286c90c66a589ea8652e37674cd087ae0e7",
    "installed/node_modules/hono/dist/types/utils/body.d.ts": "1c8318d40ab6d75140cc5698d6bdc4b7744fd2adc237146234c034c4da00a4a5",
    "installed/node_modules/hono/dist/types/utils/buffer.d.ts": "cda7dd6156be6b3e6c167376887cdea194b604df82fef690b91ae456ee112696",
    "installed/node_modules/hono/dist/types/utils/color.d.ts": "067b1b8484bf46c7b3412a27e15fd8334d7df2b0b0014b6dc0188b2ab2777279",
    "installed/node_modules/hono/dist/types/utils/compress.d.ts": "e666561a6794f50f31495b7eb7ada15d54abbec9193f74c2f821001896ccbb84",
    "installed/node_modules/hono/dist/types/utils/concurrent.d.ts": "ac605aae991ecfd88a27128dd22df34b85ba5f450f7e50491181988a6030f2a3",
    "installed/node_modules/hono/dist/types/utils/constants.d.ts": "b764a7af68042c7b44f58eb170eb10208ff1638f407278756e3fed496f0f7360",
    "installed/node_modules/hono/dist/types/utils/cookie.d.ts": "fe1220eaeef142a1bb3f248667c3592f85e14ab5361b3e087f243bd7db9ba4e3",
    "installed/node_modules/hono/dist/types/utils/crypto.d.ts": "5f5ab342c2202d0d4af1567ee3b0ab280c0cfb0a9758bac7b4880f2b8d54c1c3",
    "installed/node_modules/hono/dist/types/utils/encode.d.ts": "59d85f2247b867d1e670024d567b7cab2a7a2498e081360c6044f88ef45a2651",
    "installed/node_modules/hono/dist/types/utils/filepath.d.ts": "5e46e3cee74b1cfcdbfc09cfc0609c7db2ad63c5c4f07b4de04a287c1727dd71",
    "installed/node_modules/hono/dist/types/utils/handler.d.ts": "5a9157adaf70fe1036f45444692ba63496533846e7ea2ff64ba71324bf162889",
    "installed/node_modules/hono/dist/types/utils/headers.d.ts": "6eea6cc08d101b84a7bb4da62ef6fba018ce012c593aa0aee696c0f6c1100db3",
    "installed/node_modules/hono/dist/types/utils/html.d.ts": "21780d54dd79879e33ad827550b144989f40389e1e00c64593801e0149ec064c",
    "installed/node_modules/hono/dist/types/utils/http-status.d.ts": "c110166f886b1c19477a6f59b723d8a48d20a98da3150ffe1c07c32650ec0750",
    "installed/node_modules/hono/dist/types/utils/ipaddr.d.ts": "e8ac6d291fde78806f88baf3e7d897651f6b95fcc98fc393f9f16c15087d6967",
    "installed/node_modules/hono/dist/types/utils/jwt/index.d.ts": "77aec8fe3ea1adacefbeb25ee054f1e6cb207643a2b94f155fdb9ce84cb9cdc2",
    "installed/node_modules/hono/dist/types/utils/jwt/jwa.d.ts": "721ff7d27ddf7ae3352dbda7cd580d5d3542fad7ba26732f61e09dcdcfe80792",
    "installed/node_modules/hono/dist/types/utils/jwt/jws.d.ts": "5d930504be6c8847b39c244838ca29398f2f0e5eccd17f46219f8c66d87fae0a",
    "installed/node_modules/hono/dist/types/utils/jwt/jwt.d.ts": "047994936ab230f8dce5864d31acf9a26a7b6f6f771b74d5313055565f702722",
    "installed/node_modules/hono/dist/types/utils/jwt/types.d.ts": "e4edecded22abbe0aa0333df06714a228be15b8eda692c830faebc879f7c0379",
    "installed/node_modules/hono/dist/types/utils/jwt/utf8.d.ts": "5818b8ffe6f4750eac9edc98ab8efa99d4f10cbe53bcfa17669c82edf08414a9",
    "installed/node_modules/hono/dist/types/utils/mime.d.ts": "3081cc93e03f3ee991e44b106a124f3dbe6cab242319ebbe3b3648ac82b1ba2b",
    "installed/node_modules/hono/dist/types/utils/stream.d.ts": "296409cd6bd20e6a18ccf2718c99769b7ee0a90c3c084ce5451e9e4009d4eca5",
    "installed/node_modules/hono/dist/types/utils/types.d.ts": "2f0d7b357f7ec60afc012f4e3422460abecd57a56537c149218eb4bdb17c77b3",
    "installed/node_modules/hono/dist/types/utils/url.d.ts": "e65bf247e12af82654acab7ebd06b7de8982d625fec226e43cbbd728263417cc",
    "installed/node_modules/hono/dist/types/validator/index.d.ts": "0017d93aa933a4e276720fb9e17e49a4288ab954d36a520d7283d9a1db48ad6a",
    "installed/node_modules/hono/dist/types/validator/utils.d.ts": "1f0d7752ef3bccdd03c4cbdbb914ffbd8e2b6634d31d427ddb5b2cc2b57cd29d",
    "installed/node_modules/hono/dist/types/validator/validator.d.ts": "bf3bcfec74d36a703ea33e943523177eec2de05c47233a7b212cc64136e3f371",
    "installed/node_modules/hono/dist/types.js": "619377da140c8d689dcd6a993cae2290d4c9b21fe0cfb3d5206a7af76b033abf",
    "installed/node_modules/hono/dist/utils/accept.js": "8a7b2b942e56fa9cda83588d741ba8e0e3099965cbad58f6efa150499e254033",
    "installed/node_modules/hono/dist/utils/basic-auth.js": "8e86558bea5f4336bbea28114a750c686f704457aea8a1684efc2b34a82a720d",
    "installed/node_modules/hono/dist/utils/body.js": "6e41a63e30a29a0158a2016aecc7b5c68c7a465c20d08868262cc8a3e21e74e4",
    "installed/node_modules/hono/dist/utils/buffer.js": "f72bd9c18c958eeccf72fd658de570a2471942a1a93da2f60930f46b8beb3bae",
    "installed/node_modules/hono/dist/utils/color.js": "0db35994db8e2830b3de5660e2f98df439b1dcc32ea0207e9f306d58de749c2f",
    "installed/node_modules/hono/dist/utils/compress.js": "0fd4e822b7322591da6f437fd41379e554cc0bba83440885daaf0c64ba6c296d",
    "installed/node_modules/hono/dist/utils/concurrent.js": "683be95e4689e958a90e1f4a5ebc82e74098df7a24087e4930c1c737fcd5c92a",
    "installed/node_modules/hono/dist/utils/constants.js": "9252298eac70224f65a052b98eab0f81460e9eb1d835bbd652faa762fcf4131a",
    "installed/node_modules/hono/dist/utils/cookie.js": "a3794b506645c5b004d78f730ded447100e2d128b759ebc307bc0ccdb59f54ef",
    "installed/node_modules/hono/dist/utils/crypto.js": "cd2ad39f936ad472b583e248d218ea0fbc0d10678feb629571421bd38c05734b",
    "installed/node_modules/hono/dist/utils/encode.js": "39db4c67891401c8839439cc98b1c7ae421a3269c4b71c0cf7180234260abb71",
    "installed/node_modules/hono/dist/utils/filepath.js": "5d3f7489ddfe90f3d1e9a3f08e5ae22ec263d40918267109b46b03916bc66c34",
    "installed/node_modules/hono/dist/utils/handler.js": "d6561d12f6a7d21dbb07caa3d1ceca2388c7458eb24fd6a0547633d93fb89ac3",
    "installed/node_modules/hono/dist/utils/headers.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/utils/html.js": "fa086b8a756ce3aca5d58dd6d462f3a8cf75fa46c52b78681b792de5d19c4c03",
    "installed/node_modules/hono/dist/utils/http-status.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/utils/ipaddr.js": "d4cf46fde348dd73586ba4e0b1e1170f32ab4c5f670e9a64e2ab722f390c2e58",
    "installed/node_modules/hono/dist/utils/jwt/index.js": "387338c6078cfc93262b01ce15726b8eab338cf067358630c9e5aabeff895d54",
    "installed/node_modules/hono/dist/utils/jwt/jwa.js": "f0349ddff0ae2dec7d8412cc00359d2f110d05bc62943e302cb2673022618610",
    "installed/node_modules/hono/dist/utils/jwt/jws.js": "8ee987b6ff79bf97333b4407425e9926fe6dbc2175f368b28af356ecc8f6b28b",
    "installed/node_modules/hono/dist/utils/jwt/jwt.js": "c97745e3263259bbc0b8e756cc53b97b8fdd1e92eb273da0f6b38b9337af2690",
    "installed/node_modules/hono/dist/utils/jwt/types.js": "268bed3570fed9b17acdf657321d65e41cfcd7419ed903cabe71762281130428",
    "installed/node_modules/hono/dist/utils/jwt/utf8.js": "87dc2c8ffef4e648d83b1d39262610ff972ddf3a3ceefcd97f0b556586406832",
    "installed/node_modules/hono/dist/utils/mime.js": "28ca5e0b5f8c372996f98b4c4ccf2381e28c445b471ff45ba60a2a21d6b48d56",
    "installed/node_modules/hono/dist/utils/stream.js": "a7599a03863853e3b2c1cbd6c6cb5e194ebcaa7463d51f467387c3822ce51813",
    "installed/node_modules/hono/dist/utils/types.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/utils/url.js": "2bac19f291e7b82961f1e8c643b1fa2a9c4a45085aba9a24f46c12e88ed4e873",
    "installed/node_modules/hono/dist/validator/index.js": "05426feb4e961243c849df152a018837f84797172b2a9fca6f94d4cd39e58b84",
    "installed/node_modules/hono/dist/validator/utils.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/hono/dist/validator/validator.js": "baa0dc87b51af8d3c7a34a246a68068d19e58ec6f5695823e3b621114e5b7fe0",
    "installed/node_modules/hono/package.json": "169a02072e32d85aacb089ad14b62b027d975479d811f741771fbd0f559fb5c9",
    "installed/node_modules/http-errors/HISTORY.md": "a3a79172043c3fde7641489904b5ad87dad8e11ce389791edbf1e888e6dc2698",
    "installed/node_modules/http-errors/LICENSE": "dcb94ff9b1e037a847bc20589dc81a1066d041fd4c16deb18b0fa968c66cf395",
    "installed/node_modules/http-errors/README.md": "ec2d7a200d4adf39ebfa7e29f1fb1f45dfb34ec8fe040428f83aa5dad8948c57",
    "installed/node_modules/http-errors/index.js": "33bda88afcd1a83566eb4ebb305f852b701e19aad5e1d92cb3a11161d35c50f0",
    "installed/node_modules/http-errors/package.json": "d540721372bf8bf77b5fad31f6567a916e24d0aeeb78c81ba92b69feea9f1eef",
    "installed/node_modules/iconv-lite/LICENSE": "ac779f7314c74f232ef847ea86e714abe25cf6eeb5cc97b69451b74e2af6492d",
    "installed/node_modules/iconv-lite/README.md": "c8154c0e94dd628ed5bfc9c18c7accd9863c8b826e19b01bf71791c175504faf",
    "installed/node_modules/iconv-lite/encodings/dbcs-codec.js": "ee0cfbf10e4dc34906bf8a4aa0aaa991f8a50ac08966eaf65a31acfc5b33b8d1",
    "installed/node_modules/iconv-lite/encodings/dbcs-data.js": "17f52a22ed26a2fe1cfab8164ad07152d60e6e38087e492e85ee4aec249f1f2c",
    "installed/node_modules/iconv-lite/encodings/index.js": "a96a42738187fbb6eed876c843c8fd88c6d88729902159a983025d7341e50abd",
    "installed/node_modules/iconv-lite/encodings/internal.js": "320313a132361c02f7f033b52eb579df8799a0e1429febf56d2c374f6c7a7ff1",
    "installed/node_modules/iconv-lite/encodings/sbcs-codec.js": "d622479bee6d119d8df4d126f14acc2882213554ee46fbf27f2dc68970e315c7",
    "installed/node_modules/iconv-lite/encodings/sbcs-data-generated.js": "2cf44b3f70c61c9cdd59fda7ec085bc3180809638f208c7239688ccb90a48866",
    "installed/node_modules/iconv-lite/encodings/sbcs-data.js": "1e01fec80d139b957684eba698bb64a0a03fb58d9fa93514d9e810034c76213a",
    "installed/node_modules/iconv-lite/encodings/tables/big5-added.json": "db94db5e5d3ab696ddb0025685cfa85da1864839a4a26aab2f8f86f6b8382288",
    "installed/node_modules/iconv-lite/encodings/tables/cp936.json": "8225bb693efd380279ed7280b8f8419fd069c5f018d20d5946bf187ad92c0cf7",
    "installed/node_modules/iconv-lite/encodings/tables/cp949.json": "77a56ea83d0d94d1dc620042ad3c897f0e40814bb05c0085d3aeed0018e8a3e8",
    "installed/node_modules/iconv-lite/encodings/tables/cp950.json": "99e2114dc4b39092617967c763f9eaeb4d8e70551afc5884baa3fb92827f3420",
    "installed/node_modules/iconv-lite/encodings/tables/eucjp.json": "7c4fe279000f7e99fc7cd59afb1da21725dcebdc1babd9e3b883253a77abb042",
    "installed/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json": "5a3cc11e38f05a0908442acbf1c921d0b73f2a304fb6a9e4484e26eb1ca07d76",
    "installed/node_modules/iconv-lite/encodings/tables/gbk-added.json": "10cbb08708f3a431977271887b2663f734390a22cedf90875fac9fdbd4bb5317",
    "installed/node_modules/iconv-lite/encodings/tables/shiftjis.json": "02b0b120f697c48133e8b547e8dc594bc5b9f1c1799b50c2c5ff917298548558",
    "installed/node_modules/iconv-lite/encodings/utf16.js": "f1307071fdc27db4bad98cb4845279880a5c5d6f28b44ddc2ec2e2f1790227ce",
    "installed/node_modules/iconv-lite/encodings/utf32.js": "2a3afdfed10342966dd55a007ddf517a03e25f00a16ec38850897e672f2a90c1",
    "installed/node_modules/iconv-lite/encodings/utf7.js": "0a1ac8158e64def6a57da3bb8f158d8c1bd57f8c68eb4a232d6f101f73397fe7",
    "installed/node_modules/iconv-lite/lib/bom-handling.js": "e4019126f7695139538bfdeb9f0c933948ddde1d91b2989fbef46bad65aed0d4",
    "installed/node_modules/iconv-lite/lib/helpers/merge-exports.js": "040baa601833402217e617a104dd32beb27615645f6c16924596ae2d9a58e1dc",
    "installed/node_modules/iconv-lite/lib/index.d.ts": "b24be37c56832d0352878a52ac589ac26cd461e174d6e6d67a38a0da795c8f30",
    "installed/node_modules/iconv-lite/lib/index.js": "59759a24727cd37306bc039512307c8b87992568fc7a2145fcbb8a4fd404fb3c",
    "installed/node_modules/iconv-lite/lib/streams.js": "8c30f663ec5d7ced629d9eaa4dc427538e89574013e0cc845bf90568dda30bcb",
    "installed/node_modules/iconv-lite/package.json": "f24ad03476d51470a5b069e65b03ef6383d615897ffe2239edf22584ea0e3d03",
    "installed/node_modules/iconv-lite/types/encodings.d.ts": "aa6797708549bf626879218bee691ea09d2bb0e6a471df7176bd8834df595599",
    "installed/node_modules/inherits/LICENSE": "5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b",
    "installed/node_modules/inherits/README.md": "b33c8be1ca837d9e4c9b0e04a550feacbc101556164d3cdbb875aed6ccbb8a29",
    "installed/node_modules/inherits/inherits.js": "bb380f32bef5feb18678f0f45f88073fed5d7a0069a309132cb2080cd553d5c7",
    "installed/node_modules/inherits/inherits_browser.js": "ad322a7b1dec60f3d2ebda2091816469efb55b567d241cf3cf0fa4c5a4afe500",
    "installed/node_modules/inherits/package.json": "be645800bc94fd8de29c8ae91690549b316cc437100108aeea7b2f347693cc80",
    "installed/node_modules/ip-address/LICENSE": "f8d791359a50cbcac82c29cb7b0b1b889b28be76fdd35b8ee33f0f7c8704702a",
    "installed/node_modules/ip-address/README.md": "1c3da709a49481e1cede194aa713f8fe022c6cf766be278648cf0cc1a5467784",
    "installed/node_modules/ip-address/dist/address-error.d.ts": "73e37789e4fd5d3eb0e432a8967453c9334947d8545ecb28cc04c18b1e019135",
    "installed/node_modules/ip-address/dist/address-error.js": "d0bb8495a78ce2a1e2c1ad231c15b3a8146fec8c8ea32b121fcbe1e032b9cc0e",
    "installed/node_modules/ip-address/dist/address-error.js.map": "96f9cb28df86d591dda4e54e48f60e6010b2a95d04ab45581d56dac0ed2ca7bd",
    "installed/node_modules/ip-address/dist/common.d.ts": "2140b9cf083ad0b46cdc19db1acff9f582f0c8681c32a2a7b08b18259f786325",
    "installed/node_modules/ip-address/dist/common.js": "15b5caebd299350e045dfc4e83cc9f4a082eac6bd8eb3581b00036c55ca2072e",
    "installed/node_modules/ip-address/dist/common.js.map": "42c98019b398215c29ddf88f18b7772d2309801baf6bfa628587f5567d6d7434",
    "installed/node_modules/ip-address/dist/ip-address.d.ts": "e8de59dc8d32ba86cacf2156465f8e54a2fdd973b3e003779c83a61413b7d086",
    "installed/node_modules/ip-address/dist/ip-address.js": "3e38a4b349282e67a811aece46e273b1b24abbba2897bea707a00170ebdfc200",
    "installed/node_modules/ip-address/dist/ip-address.js.map": "dc8de5e6f0ddb17961e7503dcae38e79674d3095edfc5b7e38e6dd0aa7575877",
    "installed/node_modules/ip-address/dist/ipv4.d.ts": "49bf6f77d32ab99a82d084308f672adcaef46f7168c70f0dca7fd08d95b18c8e",
    "installed/node_modules/ip-address/dist/ipv4.js": "69b33990eca8bf92704c0b47843c2869daa517ee5cb7cb170c052481bcb67c90",
    "installed/node_modules/ip-address/dist/ipv4.js.map": "25ab81b0b97f22f4d59324a92c234a1359bd9b287e49541a10456028a970f8da",
    "installed/node_modules/ip-address/dist/ipv6.d.ts": "311f4897892d32af454fdbd4d94105218494c11e9a87e3232a1bf13447602025",
    "installed/node_modules/ip-address/dist/ipv6.js": "47f28ef06d0e49a9ea0980492e95258b1bb40952f12be268cc3c1221312b5e95",
    "installed/node_modules/ip-address/dist/ipv6.js.map": "2e98c85d9edff48263bb51c808d0dc15234f126d8e04ad953db727cb7a1a7973",
    "installed/node_modules/ip-address/dist/v4/constants.d.ts": "be45f59e39a1eb29e642f5876b7c935bf723e11f0d5d1f453bca24d40006a7ae",
    "installed/node_modules/ip-address/dist/v4/constants.js": "f8de9ffd2d22c3225856132439a631ff114fa1a0a91a2c16e7b51f924198db91",
    "installed/node_modules/ip-address/dist/v4/constants.js.map": "40addf8670c6c50efa2481a992001f3ad4a9b154ef021312ef3d83f70ca9a5b2",
    "installed/node_modules/ip-address/dist/v6/constants.d.ts": "1862b3e3fa2f9344c470769ab3db1a369ff92b4ac6a4e0f124a71126c5a4b6d3",
    "installed/node_modules/ip-address/dist/v6/constants.js": "659c2a35b79e0e1a67f85bf5704446bc2439ea7fede7e99fa5b349a6094b2ce5",
    "installed/node_modules/ip-address/dist/v6/constants.js.map": "128b79e98fcdf097a15ce8b3a16eeafb776224f14f5879599b568f9436370603",
    "installed/node_modules/ip-address/dist/v6/helpers.d.ts": "6f050095511244f289ccd718c8d697a9cb3e378a42a54cd24d92cfe98dcab9eb",
    "installed/node_modules/ip-address/dist/v6/helpers.js": "80660cbe876ed3e7224268638582db8def929a53bc8822c5a5d8a0c321cca50f",
    "installed/node_modules/ip-address/dist/v6/helpers.js.map": "e19ffe4aae647122c0e86bb29776d0f2ffddf13d69223c708423807ee627809c",
    "installed/node_modules/ip-address/dist/v6/regular-expressions.d.ts": "b29ca73404a24e8386fe7f70f2ce5964eeec69e45b8f31dcb41fd4b873331d35",
    "installed/node_modules/ip-address/dist/v6/regular-expressions.js": "31f99f670ac43ebe9694dc84b6cc9a00eb5af08f90c0ca0d2d8c5c63e5b67415",
    "installed/node_modules/ip-address/dist/v6/regular-expressions.js.map": "ba75ab29034b94851eba5c6becf559f39da6b45bffcf0be757e2105f9b44d3a2",
    "installed/node_modules/ip-address/package.json": "da8deffa558848bddae7ebcc7875cddb7edfc6a996de046560cf10ff0a4b0094",
    "installed/node_modules/ipaddr.js/LICENSE": "62568a2d1337b77171ecca9db10579163446de1ba6151678e81f06cdc199971b",
    "installed/node_modules/ipaddr.js/README.md": "025b1282fbbc2f7f270e08b29414b7bbde469284564477f38b3519446aa16220",
    "installed/node_modules/ipaddr.js/ipaddr.min.js": "ab95215c182a1bea49617080dc12e52e3e80521894c37ce0478b69326c151440",
    "installed/node_modules/ipaddr.js/lib/ipaddr.js": "d82a21a6872925dfe73e9aa10e9eb47baba398987560e36db107f44d92f069b0",
    "installed/node_modules/ipaddr.js/lib/ipaddr.js.d.ts": "662a75272462317059315f3028452dc8044f752ad0b6b61c084a7ae3eeb0f775",
    "installed/node_modules/ipaddr.js/package.json": "fc1071893728a0e78fa40ce0dbe04c5a1021179fdcb5b229f274e3556d6a87cd",
    "installed/node_modules/is-promise/LICENSE": "44191656d296391e0ec97e32f5385f0d02b6f2992694082d22ea04ba0f66f9e4",
    "installed/node_modules/is-promise/index.d.ts": "5ac6404ddc5d622905e131dbc5da0362a82e89d1cb97cc8256bf06ca9fad4b24",
    "installed/node_modules/is-promise/index.js": "c4718cc487af988730c7e668b206adafab5fe45b6dbc252fded9f8ccc8b8b913",
    "installed/node_modules/is-promise/index.mjs": "eb14f1576b0da79de5d41eb9142662e6c18f9c1d17f077816bbcdecd4d7d9906",
    "installed/node_modules/is-promise/package.json": "ae7a1bff928cb99f0b828f8a8236f623828f5f48ce930268ac5726554e083b50",
    "installed/node_modules/is-promise/readme.md": "82147f87279a9b4240e3f4746b236e1662eac4f1d2c0d5ff587ee20c16abafc8",
    "installed/node_modules/isexe/.npmignore": "ca06e7ce01ccdd1f477910e1cd1339c23119ecf2386350b8ad876983e1da92ea",
    "installed/node_modules/isexe/LICENSE": "4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b",
    "installed/node_modules/isexe/README.md": "ab12ff031a831156ebd4f4253c2e8047d37547fb95fde416be524c8b8cfe4c74",
    "installed/node_modules/isexe/index.js": "7af7a68708317ab2b8743b44591d98ca6f5ca787e89e7c289154471fd2f67331",
    "installed/node_modules/isexe/mode.js": "0381513485dd6d0799b160a5c0bf7b4a79d1ece5c32182de44aa73f756a7ac54",
    "installed/node_modules/isexe/package.json": "395c2af9abeeaafe7391974c1eacfb2a2bdeef187f21c3f5582c49e0368e59bf",
    "installed/node_modules/isexe/test/basic.js": "7fa5ce613b782cb924483bccd775a56f129b9b381df4d346a9c951a789b31a90",
    "installed/node_modules/isexe/windows.js": "b422b8fbb7815542dfbd1b3adaec5700249a1934c44a1d994654329c06fc1018",
    "installed/node_modules/jose/LICENSE.md": "8078b0829d6c3e9ecde2f003e1966e4cad3efc6e7a640efbab0313cc166b1af1",
    "installed/node_modules/jose/README.md": "0d5441e41b48444b163c2a593e90b16213e668d861ca79dfcb718bea1e2f8c1d",
    "installed/node_modules/jose/dist/types/index.d.ts": "1decd2094835e939269d137c31570d789f9d190cd40d520f18df46dc98e6d474",
    "installed/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts": "76699c49b3f5919f7c82ec6d09da531c479d31cf780437492bf00a7f147c9d91",
    "installed/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts": "9f450508b77198f06c1598a9b3181025e35204d29184b37d209a46f5443d40dc",
    "installed/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts": "442726c2735b859945978e97b9a42b2fe3a55a52b46dba9c92e1ee13c55a99ea",
    "installed/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts": "68f92cdddf1813db729f08247202bd21b5ab7ecefd97ad86b8d58dad97b363a4",
    "installed/node_modules/jose/dist/types/jwe/general/decrypt.d.ts": "86d1bddb614724ed990fe87b2d0147cd051c8b0e09655c0d59b903c1b36884d8",
    "installed/node_modules/jose/dist/types/jwe/general/encrypt.d.ts": "e0c5ee64017425014096a61602ab1219a3d373a50623a829d10d295107b3c4b7",
    "installed/node_modules/jose/dist/types/jwk/embedded.d.ts": "3be6e994180df1fa1a57706eb9070f905b88a31133ad962052685c6d864f986d",
    "installed/node_modules/jose/dist/types/jwk/thumbprint.d.ts": "b53e6017f30437096813ba5b191ba8f207cc68b5c49fc7d5c373a5977eb3b227",
    "installed/node_modules/jose/dist/types/jwks/local.d.ts": "8ee019582cfb775345530144dcefa2a1b9bd3b97e24d3b031cdf199cf3d885ff",
    "installed/node_modules/jose/dist/types/jwks/remote.d.ts": "589cce09cb9171d4291f410f6a7663958f49ed23b59e535d8723f5ee520c2992",
    "installed/node_modules/jose/dist/types/jws/compact/sign.d.ts": "f18428de5e6ed60a80296b31a13bb3afafac33c90dd3e018a0ca586e6443d14b",
    "installed/node_modules/jose/dist/types/jws/compact/verify.d.ts": "e4a374a242d8648a15355ab2e43987223d3f9df7c3c1f5b82dad43ad325dc8db",
    "installed/node_modules/jose/dist/types/jws/flattened/sign.d.ts": "e2ada078de4a29afdc03408cb4c89d41afcd33f9ac62b41697cde281fc8a151b",
    "installed/node_modules/jose/dist/types/jws/flattened/verify.d.ts": "6f00ac42b0b33712d9f71e3c002d5aa2679e74984cbdeb3ec21392ea1f4362d7",
    "installed/node_modules/jose/dist/types/jws/general/sign.d.ts": "39601e5ad5e6182e39c7220dd4e98bc5d12c308d03fd9a8c201e2a14d4c51531",
    "installed/node_modules/jose/dist/types/jws/general/verify.d.ts": "3f268a41fd940011dab145f6df0f02405eaac656c4e8a6a61446fcf6968a649b",
    "installed/node_modules/jose/dist/types/jwt/decrypt.d.ts": "9523431a52cbfe2abb5613725f428ae71decc4aac8866c72271e60600dc5b5c7",
    "installed/node_modules/jose/dist/types/jwt/encrypt.d.ts": "ec0a24abe53f1b2cd1a8267eb7e4d68ecaa683672f7042c14f20e7f2ae5b9ccf",
    "installed/node_modules/jose/dist/types/jwt/sign.d.ts": "f02f7e5f3ca4ba961f1ec2d00bcee9d6f4d845b5675d0853f9a51ba1fcc71caf",
    "installed/node_modules/jose/dist/types/jwt/unsecured.d.ts": "3ec59ac803112f958e436b7226847f92740ae808dd7726669a63f44ad44e5f17",
    "installed/node_modules/jose/dist/types/jwt/verify.d.ts": "8a6223315a35d4be210cebb17fd3bf4b39730fa231b09f44329e3dfffc594058",
    "installed/node_modules/jose/dist/types/key/export.d.ts": "0f85f184b10b605b5a451b4c1ea4dae6504f15b09d3dfc6f29393c24048d8382",
    "installed/node_modules/jose/dist/types/key/generate_key_pair.d.ts": "28c819853632e67bfcefaa28284cc903a097d91ac8a363e7e0130029f9652525",
    "installed/node_modules/jose/dist/types/key/generate_secret.d.ts": "322c0faa6c21776a8bc9c601671608789207973f4538738c1f048dd1022e6588",
    "installed/node_modules/jose/dist/types/key/import.d.ts": "7b650a37673c22b7c8da82d35221133408fde0ee1943de09b2b110f28481f56f",
    "installed/node_modules/jose/dist/types/types.d.ts": "642694c151675c36a5b4fe6a8336612090cdad7377497db0d5eb19180999cc74",
    "installed/node_modules/jose/dist/types/util/base64url.d.ts": "5191f81538f064a1a28b0b59b413f4435e71421168fea5e0afb5ebd5ed41a265",
    "installed/node_modules/jose/dist/types/util/decode_jwt.d.ts": "3e5ddd42de79da6aee4c6b5f6cc1807df3affd1c7226a46cb34be82781be8fdc",
    "installed/node_modules/jose/dist/types/util/decode_protected_header.d.ts": "e2a3ee25f43d163379f1fb2ea7ae3bba1703c8e08f6723eb7c3ece5122de34f8",
    "installed/node_modules/jose/dist/types/util/errors.d.ts": "b515a0dad294d5c0dfedec02baa55ff950269ae668581a19dd36c7e5f67c5bd5",
    "installed/node_modules/jose/dist/webapi/index.js": "f198638529597ab18dc3d2799f362106121f90cf0b0c43e75c3dffa5cc6b8590",
    "installed/node_modules/jose/dist/webapi/jwe/compact/decrypt.js": "c08202f5114caee270bcaa0ed3e119acb241f88d51c6d65a34a1fd6a3353cd2a",
    "installed/node_modules/jose/dist/webapi/jwe/compact/encrypt.js": "8db8eb9fa34a0187c0ff26e04c37024af421f2f265255d60a01c0edf416f2f85",
    "installed/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js": "4964d31fafb143a8f15cf4820214b268706dbbd569bdedaa9b24a11520f6c6b2",
    "installed/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js": "e1fe288a34aae4938dbdd13b86e33e54fef9ff3f3c55a2354ab9d7b5665d1e92",
    "installed/node_modules/jose/dist/webapi/jwe/general/decrypt.js": "3a721fc3958f36c3bed7764a032238b35f9172bf95d40a7e28a4cea4d7ccd511",
    "installed/node_modules/jose/dist/webapi/jwe/general/encrypt.js": "2b0bdf8227f2c88fbacf7965cc78809f14b844e76a179a16099b60cf1562012b",
    "installed/node_modules/jose/dist/webapi/jwk/embedded.js": "449f2b08f47d006a4b937201692b7a830c9e9ac785e82073c1f6f9792642f91d",
    "installed/node_modules/jose/dist/webapi/jwk/thumbprint.js": "a1a3918fc1e2d3a8e70d613bf7b486eeac39c1ef9fcb4b36e028460276565e41",
    "installed/node_modules/jose/dist/webapi/jwks/local.js": "ac751386e13c8b5c0ef87848ae98e2a97dd6eaa3973346edff3b29350d3945b0",
    "installed/node_modules/jose/dist/webapi/jwks/remote.js": "b0860b27b5cb461bc743291a228da93c387a664d989fc69829a9626bfa0de264",
    "installed/node_modules/jose/dist/webapi/jws/compact/sign.js": "09450f2b3763b531d28bec9796d2f3ff0064c7b07dde15f7d1e1e7693e2ec12a",
    "installed/node_modules/jose/dist/webapi/jws/compact/verify.js": "6d1109739b895858c7006d02ef91f8b13ce5ae8c91996d1f1c0b57c1ab33c398",
    "installed/node_modules/jose/dist/webapi/jws/flattened/sign.js": "01cb90bcf39d8aa9bcf6d3efd36f5b80c112e547ef5448d7512b7aafa72bb6dd",
    "installed/node_modules/jose/dist/webapi/jws/flattened/verify.js": "ff23003a7b0a4d8a7add2cd8b13b72393b863f6f251ddd814f08d69b35be3b2e",
    "installed/node_modules/jose/dist/webapi/jws/general/sign.js": "226bf031e03174e6a505c534b4bdd228d8d677cf2c494ffc7c618dfd535f5b55",
    "installed/node_modules/jose/dist/webapi/jws/general/verify.js": "4623bf6e59023c7a2bfe5cf9d40b5d1e9f8165f2f18b4374e061911582041a4a",
    "installed/node_modules/jose/dist/webapi/jwt/decrypt.js": "233bb797f9239582ada83fac5723c818dfa0f24e9a864680759df5f2bb5b260c",
    "installed/node_modules/jose/dist/webapi/jwt/encrypt.js": "c08c45c7ba87d6bd6d51051cafe80a8ce33150a4cf5116ae03e76e3c65edb2a2",
    "installed/node_modules/jose/dist/webapi/jwt/sign.js": "aab04f3c698940af2bae4180bfda71914d36700b70f25afd0fefe3028a45f2dd",
    "installed/node_modules/jose/dist/webapi/jwt/unsecured.js": "a9b3d6898039163c1e47573e27290b58fee7a3b8f9a3aac2fe04c1d7a77fb63d",
    "installed/node_modules/jose/dist/webapi/jwt/verify.js": "e015a18744717762a1f138d0f0a88a40d3b660bc46f76ddf8309b32987175bef",
    "installed/node_modules/jose/dist/webapi/key/export.js": "634aee75fbdabbffb73d439ae63305ad043a268354ecf53426b827ba3f81cfb7",
    "installed/node_modules/jose/dist/webapi/key/generate_key_pair.js": "97e4e5b66af75700da10fc5807471636b633d7c72c65a7fe50980c4a3a2c6c74",
    "installed/node_modules/jose/dist/webapi/key/generate_secret.js": "b6984ddbed52cff9179a1b681076ad6d1529ff50fabc58bb32b9b71752cf9523",
    "installed/node_modules/jose/dist/webapi/key/import.js": "ab2f57a9db99e8d48451a8d0a8adf75379381f65b0e3e28ba6c02aa5bb3ee5fa",
    "installed/node_modules/jose/dist/webapi/lib/asn1.js": "4945afdb21c49efc7fa703a2e1cde94b8a1d28f13416aafd26128453472903c5",
    "installed/node_modules/jose/dist/webapi/lib/buffer_utils.js": "cac7d34f3eab78ad56967097b793f55cd50ae1d7b42012d8e1a1f2736f50d720",
    "installed/node_modules/jose/dist/webapi/lib/content_encryption.js": "43b0e897c80a12b42516a6d48cbb2a31ef3a9522eccc5716a01d182cade9eb63",
    "installed/node_modules/jose/dist/webapi/lib/deflate.js": "9f7b28c5705633835228c8e11642b860260d62ddda0d76dc02a487664b1d2eb5",
    "installed/node_modules/jose/dist/webapi/lib/jwe_algorithms.js": "d41562ff2ccc3599f7189384653fbcd1ff68babd475fe99e31eccb61706abd47",
    "installed/node_modules/jose/dist/webapi/lib/jwe_decrypt.js": "5d5ba0ac80a18138940d27b439f4420c16001f4da57c9d1168c7b41e4cfe009b",
    "installed/node_modules/jose/dist/webapi/lib/jwe_encrypt.js": "783d800778e27227fb39987be2da1705c96993df614bc30fc08252b9cef137ed",
    "installed/node_modules/jose/dist/webapi/lib/jws_algorithms.js": "72e8be8e3d179effde822ecc8f75c7726d7323be718a961837f6882b012992e9",
    "installed/node_modules/jose/dist/webapi/lib/jws_sign.js": "f91650ec8e2248bdbcaa0b11a0f4018a4cfd9b42f30219b0ba7e839e86172e70",
    "installed/node_modules/jose/dist/webapi/lib/jws_verify.js": "7c236143de90ead568128265a6d9dcfc5cb6a264e5fb0bdc1e39989e2cfc19c2",
    "installed/node_modules/jose/dist/webapi/lib/jwt_claims_set.js": "624433ec72028d7feb512151541cfc96726aa8ceaa6f095867989c5eb8c50e5d",
    "installed/node_modules/jose/dist/webapi/lib/key.js": "e150a72056a69a980a19c23334f5c16e4b9aedfbde9af2702070c5bf93fc075d",
    "installed/node_modules/jose/dist/webapi/lib/key_algorithm.js": "4ef0b80292076659b054313f70eeef81cd7df01e2ec9988c24552206bc42cc07",
    "installed/node_modules/jose/dist/webapi/lib/key_descriptor.js": "80ae05a1fc41271a29dbd5ab717255a1255ee0ac43b6820853d2f338d9e74b46",
    "installed/node_modules/jose/dist/webapi/lib/key_management.js": "c65e89877bda7df0f5bf08686334a1ab8fe291b4bcdc5599edf901cd7b5cecaf",
    "installed/node_modules/jose/dist/webapi/lib/validate.js": "2a85b6eadc2c03af99f9fbb1cf01198e9ef2e3af5589eadccb2eb17627aeccfb",
    "installed/node_modules/jose/dist/webapi/util/base64url.js": "9c9c168e24c5be2db20956262065b94556de959e5dcc62430e31a0f57f821691",
    "installed/node_modules/jose/dist/webapi/util/decode_jwt.js": "46031ba27050ae0a4da49682a0c799966e21df49b625651e499ddc29cbbf20a2",
    "installed/node_modules/jose/dist/webapi/util/decode_protected_header.js": "8d53bde529f722c22f65be574e854a2a04fadd38f919456517707a172a394bda",
    "installed/node_modules/jose/dist/webapi/util/errors.js": "9bb7503fd84d5387677f1b917969cdf7c20482c3d86e92e64972bc83938b95f8",
    "installed/node_modules/jose/package.json": "faa28d9e4362c02c81ce4c7a3b62443495343830c53de2efcbd8c1088e4ba931",
    "installed/node_modules/json-schema-traverse/.eslintrc.yml": "b1ea981e2461f053646b08a616efcaba0d3b278b223957e9eb931bcbc3971ccc",
    "installed/node_modules/json-schema-traverse/.github/FUNDING.yml": "83e77adf3dbe6261917b160553f75cbb96de8e99c3259f4f1de85e1c6e4bd156",
    "installed/node_modules/json-schema-traverse/.github/workflows/build.yml": "f0f23bb3b380800e214b19abfd69c1b093131bb030c056fabdd9cddec7e785c5",
    "installed/node_modules/json-schema-traverse/.github/workflows/publish.yml": "56cbec53748d486f04b5c37bec8ea5e5588e02fb2882db8ce36c6e9689bfd2fc",
    "installed/node_modules/json-schema-traverse/LICENSE": "7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a",
    "installed/node_modules/json-schema-traverse/README.md": "e6137660d373bc510f4d41789d7fea74e0ed9f94c99d4892dee22292ac2a39a7",
    "installed/node_modules/json-schema-traverse/index.d.ts": "a76003875cf31f09428a535df140f122f580b5bf811f996273d5aa2733feeadd",
    "installed/node_modules/json-schema-traverse/index.js": "024191b747afac01b28ff11d744e9f82720bbad5f716163ba5c962eb62aa2350",
    "installed/node_modules/json-schema-traverse/package.json": "156fb24af02845c190701360d06dfda35ef04282e34a734289ea9535ad9819ae",
    "installed/node_modules/json-schema-traverse/spec/.eslintrc.yml": "8df0cb64273b71c11db4f99be49c92e6f80f10a13de4599743e4372c8a0be82c",
    "installed/node_modules/json-schema-traverse/spec/fixtures/schema.js": "0262591e321bc88b22dc33ec78bcded5ab664e2fce2c10b9e0c35d3eb6030d27",
    "installed/node_modules/json-schema-traverse/spec/index.spec.js": "40e6986bda700387e2d397971087a3977d6801bf954591505229691a267c5f69",
    "installed/node_modules/json-schema-typed/LICENSE.md": "bbe87b573c12bda5baf18742117330efa177e0886b3b0a278dacf8f236e1e129",
    "installed/node_modules/json-schema-typed/README.md": "6ee92ab5395ca4ce70d602f321b43cc5b191066847654bc2f8bac63c2e9421e4",
    "installed/node_modules/json-schema-typed/draft_07.d.ts": "de06853e396f1c9a368e93a18b17edf64e9cdce45c0b2a96b287bcd3720d0a6e",
    "installed/node_modules/json-schema-typed/draft_07.js": "a9e32908d8b16f922d5dcba661d56ed14533b86b9568cc298b677347f5ba439f",
    "installed/node_modules/json-schema-typed/draft_2019_09.d.ts": "48740cec9e50b5369e7e0c04aa56445031657d95d6d2f4207e18f08c4f6ae88d",
    "installed/node_modules/json-schema-typed/draft_2019_09.js": "40311ccb8a44e9d091a39abbddf92fea1968eb0e8bd7fb73ff30c94945af473e",
    "installed/node_modules/json-schema-typed/draft_2020_12.d.ts": "104fae9b53b5eaa040d9ce626e1bf0b3e6e27d269a899a98a4a28358cdcbc155",
    "installed/node_modules/json-schema-typed/draft_2020_12.js": "7ce66c211792cb776e52b2e76699f7a0d1c67b8ce37fb4a616ec07b1b581b953",
    "installed/node_modules/json-schema-typed/package.json": "8d04cdd834382b5b4e7d3e00fbc1da5654c430d04934c3031fe8f2d79a1625d9",
    "installed/node_modules/math-intrinsics/.eslintrc": "945b2b35c8d6dc3bb008e7a6391fb98f8d4103ca0dc64652b13dcbea0dd090e1",
    "installed/node_modules/math-intrinsics/.github/FUNDING.yml": "a038b7ce2a1e3b2a4dfb7956d262943a084f40d16ddd1a5c19e29a439409db50",
    "installed/node_modules/math-intrinsics/CHANGELOG.md": "1868f81797e7249a210cf6f1811b0700a2c582ab9bed97575ced127b4f9b328a",
    "installed/node_modules/math-intrinsics/LICENSE": "2b770a704c15de238c3f622b01b0044ddd60b49ee30608ea6991ebf19db7a7a1",
    "installed/node_modules/math-intrinsics/README.md": "9ac2e749aed9f8259749e0fa1f8caebf3112340ac8d27ba88071744bde8f9b7e",
    "installed/node_modules/math-intrinsics/abs.d.ts": "e2535a3ae028d92692873993a284117fb65c7d883b3b1490fdb7c12a80060a9f",
    "installed/node_modules/math-intrinsics/abs.js": "276961e4323370f3632410c6da81dda018b78c0cfb2a83ea72d48c80a3eaaeb1",
    "installed/node_modules/math-intrinsics/constants/maxArrayLength.d.ts": "64e4968fb47e712d4d520a7952321f1991f744b1cde959403ceb33f353a7739a",
    "installed/node_modules/math-intrinsics/constants/maxArrayLength.js": "0f267bd9824ebe59456bd6bc6ba41a541ddf0a92c6b3d18201daefd0cc40613e",
    "installed/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts": "e6b03543ab87ec705c58c866be6026030b4c08712239a178017e26d5c7f6b41e",
    "installed/node_modules/math-intrinsics/constants/maxSafeInteger.js": "576a7c935f4154a6f2eaf69446560e36371afb55120774f05563f06ab261df85",
    "installed/node_modules/math-intrinsics/constants/maxValue.d.ts": "cf85d615baada714fd113a268df580caff678b674f68fca52138506c88a2b4f9",
    "installed/node_modules/math-intrinsics/constants/maxValue.js": "a920a974645eca8557c75d4fecf745c68a272621a57d5ed4ca6ffc73ded366e2",
    "installed/node_modules/math-intrinsics/floor.d.ts": "f1084c18879dbfa7a5ecbe75fe5ff9053948cac70b8204da034da8fd3730a357",
    "installed/node_modules/math-intrinsics/floor.js": "ea904c30b45d6fbbc1780f4db7d78c360bbecf98ecd789f0c817156102714c3f",
    "installed/node_modules/math-intrinsics/isFinite.d.ts": "af90daf7f9ee2597f0dab8adfb96c27a8c5b7840b8d593444e87d1a844e80970",
    "installed/node_modules/math-intrinsics/isFinite.js": "7045afb6184ca183449f97d519cf9dea5e46583121c01266ed4eedae3825650b",
    "installed/node_modules/math-intrinsics/isInteger.d.ts": "05946fbc1b0c47364192b32b186950c7302b2742f490980c625f5d36a1df238c",
    "installed/node_modules/math-intrinsics/isInteger.js": "22c5144c94c4da5be94fb4d3d735f5f65fe3b9fbe28b6d2cf4fe8541bc53e915",
    "installed/node_modules/math-intrinsics/isNaN.d.ts": "36c498c8fa3bfb40195a2cf394d79efe540f4e08f26d5b6b0be18c5eb9d1151d",
    "installed/node_modules/math-intrinsics/isNaN.js": "1aa84179527aef8df84457dd8d4e828d76d58fd9170e7a9893ee7e0e774534e8",
    "installed/node_modules/math-intrinsics/isNegativeZero.d.ts": "20117f7b2f84fc2fe571f799d74313962adb100de456f9fc1629747576aaccb6",
    "installed/node_modules/math-intrinsics/isNegativeZero.js": "8b83fd56780ffb96eb5a31c073fd7ca24d03b1259b8aae90ef7eac311e1ded34",
    "installed/node_modules/math-intrinsics/max.d.ts": "c7ad791cd3947a3c9a1dcc564e06a2a05c3e8d4fa620e96c0695e1dcae90cec2",
    "installed/node_modules/math-intrinsics/max.js": "92326f3eab1e40148bd68fb65a85d2c3f18fc32a03be27353b2054ba27ba7409",
    "installed/node_modules/math-intrinsics/min.d.ts": "0a8c36167cea0494e244014714defcdc06e4c47fb114176fa507d9414ae16bb2",
    "installed/node_modules/math-intrinsics/min.js": "b78c68ab96cb2764df12ff8038f5b05b05376b4c39608a7a25b3b0b168e7c2e2",
    "installed/node_modules/math-intrinsics/mod.d.ts": "d57a361edc8bd8b57c5ec48723b8f4bbecb8c67c09b03c48cb5fc446f1521541",
    "installed/node_modules/math-intrinsics/mod.js": "0a5d968b563d027bad91e35bd3b244a749c2bf8357f33f93e0abf8c8d3d4a625",
    "installed/node_modules/math-intrinsics/package.json": "39d74aa5a354153130706286dd60a2d8409ce0c8f66546eff2edcac0afff17e1",
    "installed/node_modules/math-intrinsics/pow.d.ts": "576836e98c9b42b6ccafbb3cff69eee063d11ff35de760fbda2961fb57478ab8",
    "installed/node_modules/math-intrinsics/pow.js": "8dd625bd4c7b31b7656ab99babc9fea1617f36c35f5dbd339ebdc2d0f4bd97d2",
    "installed/node_modules/math-intrinsics/round.d.ts": "e0a30d85998f4a458d7b916103c6d93790a83e68dbcea489a5b698c84f8e50e5",
    "installed/node_modules/math-intrinsics/round.js": "1d4794c5869d554732cdc82208f954df348e4035f3cbd09ab758c553a207dc1e",
    "installed/node_modules/math-intrinsics/sign.d.ts": "60fcb026e19e792e4044c8f24c8da7b98debefcaa9f043a818193582f5092d19",
    "installed/node_modules/math-intrinsics/sign.js": "aef51335e4671ddd0f55a81e2e4395b1d96afee20102b50e33e2b485f7cd2598",
    "installed/node_modules/math-intrinsics/test/index.js": "883f9e369aefcb654c5001e0699631343a413a700fe3f079ca4e17deb8a21036",
    "installed/node_modules/math-intrinsics/tsconfig.json": "0e570d88a16e1e96c7b5ff8f4b44e50a6e7f49e5fc5e1affab9a3a8946964f80",
    "installed/node_modules/media-typer/HISTORY.md": "a20e32d1d7230c33a508b60ea57278b271c045d6c34c7a9dc34c02b75901cb6d",
    "installed/node_modules/media-typer/LICENSE": "bd47ce7b88c7759630d1e2b9fcfa170a0f1fde522be09e13fb1581a79d090400",
    "installed/node_modules/media-typer/README.md": "a1aa3bd1240e038ab46e17d579bb62711499dc2948526add3f0ee525855bc6ce",
    "installed/node_modules/media-typer/index.js": "0fb87192ddbe6cfee30ccc5aa2abb289a4eb3961ae8bff4fc231ae4273b1a978",
    "installed/node_modules/media-typer/package.json": "532b2af00ae4de1bb2853f233a1ee6d3c19703d18d2c4e173cdc59f7a01e1bba",
    "installed/node_modules/merge-descriptors/index.d.ts": "d92e6cda77f261bb7f8b5dc0837b7453c3c3779516f3598e0d2ca5c1db684193",
    "installed/node_modules/merge-descriptors/index.js": "ab8b36ec38b7c0e870e702af942c3f694c9915dbdb63e4d1b1cb774df8ba9d74",
    "installed/node_modules/merge-descriptors/license": "70b126abc64d7ea06e1243349073935caa16fa47a41a571773ccf0b350b1d574",
    "installed/node_modules/merge-descriptors/package.json": "36d6d2cd304c06d5b690625af7ecc07995d5e220eba014ee3818af8c51421fed",
    "installed/node_modules/merge-descriptors/readme.md": "d9c4917499701480df5eaac3e8565a42b794be919009723133a2f0300cfede73",
    "installed/node_modules/mime-db/HISTORY.md": "b4d657cb041ea848d7535d9c32c19d93d9067f6485681f0f66fc591c0dce00b6",
    "installed/node_modules/mime-db/LICENSE": "cc1dfd4dafa27271e8212cd3b274eeb3f262e40a6fdab36ddc3f9696f706f58b",
    "installed/node_modules/mime-db/README.md": "2ad38dad2e26d606496a40da2d037dd2985123988ecc507ae1f1ed9a1f81c3f2",
    "installed/node_modules/mime-db/db.json": "96b8a5746867c832ab56743c05e46e73c9facb04879677df0b356f20496cb6cd",
    "installed/node_modules/mime-db/index.js": "2ccebf3d525708c915c6a86ffbb68e5023d34c9bc30b6b4021db9ebbc6ca9ecc",
    "installed/node_modules/mime-db/package.json": "33bdbb99915697ac01df12490b9d479a55529123842e67975e6d76d0010aa142",
    "installed/node_modules/mime-types/HISTORY.md": "96da27b754c970d7190b250c4fadaf2e976bd236efeaa01b282fa90cd2513dc1",
    "installed/node_modules/mime-types/LICENSE": "71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6",
    "installed/node_modules/mime-types/README.md": "eb38a6d6700f41eb3f5f523bb99a2e9d1e2a2905ece14a2c993558ba9246c957",
    "installed/node_modules/mime-types/index.js": "7de0cc894fd1d45cc9e4d0b5ad76d00aca6cb04966bed947bdfbf7d710c61c06",
    "installed/node_modules/mime-types/mimeScore.js": "4f5d57657dc1180bd282485edf8bc95ebaecd405bdb405f4c279ab8d51374e43",
    "installed/node_modules/mime-types/package.json": "644fc05ded7d8a20c069a07c7c61373593d4859c91b1386f544cbf247e39820c",
    "installed/node_modules/ms/index.js": "e5f0b6a946a9b2b356a28557728410717df54ea2f599edb619f9839df6b7b0e9",
    "installed/node_modules/ms/license.md": "1662fae9b5314d11cf51284e2dcd1f006a354f7343f08712a730fcff9a359801",
    "installed/node_modules/ms/package.json": "1a6b4d9739790c0b94ab96c8cc0507e281c164c311ff4fbf5e57fb8d26290b40",
    "installed/node_modules/ms/readme.md": "8bf6c4f414b123ea2a9375b91982882d01d8561ce7d12e3bb4f448c23359f040",
    "installed/node_modules/negotiator/LICENSE": "553d4d20029a24e315b428a1a54a9e109eaa340f2e958a4f50a92362c2c4070b",
    "installed/node_modules/negotiator/README.md": "82d293bdedc3a666bb9631fdb752d237cc681855d31d63e258021d2ff2ad5a02",
    "installed/node_modules/negotiator/index.js": "55a4073302ef1e581a74027daa054d53ab8a1b8a0c42551e0b50699a6c0de254",
    "installed/node_modules/negotiator/lib/accept.js": "160d139207a12ebb6e1051d8e6600efac13c84314b30992dc0be091d0c36ccfb",
    "installed/node_modules/negotiator/lib/charset.js": "3ddc456f69fa4d8c911ec3953d77f1b80686f1c18686e28f6ea724f1e51dae1b",
    "installed/node_modules/negotiator/lib/encoding.js": "d42e909e2bdef8d9e1386546b72428fb6e26a1743ca0d24f004ff15bbf82587b",
    "installed/node_modules/negotiator/lib/language.js": "f23a3876355965202d16ca9a655462ffeeb7b9ecd6a4dcf523ab67f82230b9ac",
    "installed/node_modules/negotiator/lib/mediaType.js": "b50ecadd7e030f0e024c875ac5a4a97ea62079856ed43309ba4fececf257e045",
    "installed/node_modules/negotiator/node_modules/content-type/LICENSE": "257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38",
    "installed/node_modules/negotiator/node_modules/content-type/README.md": "ab20fde18d77c04276cacf5884b884d391cab2b75b905f6d24af5846bb671c90",
    "installed/node_modules/negotiator/node_modules/content-type/dist/index.d.ts": "33072e3d0e57b3860fe4dae3deae08ac8463fa94f3f7934659b77654fd057975",
    "installed/node_modules/negotiator/node_modules/content-type/dist/index.js": "cc336c843465abcbc40e9b12ff17cf66932a7b3685202fc707e7120f60e5d510",
    "installed/node_modules/negotiator/node_modules/content-type/dist/index.js.map": "afae79bbc2806914b2a72882c16d2e4f33d657b611de31675de67d6aec878f69",
    "installed/node_modules/negotiator/node_modules/content-type/package.json": "33102772db7c8375395bdcc11e7004c597b4cdbe457d8dd0ae2e56f5a2d28637",
    "installed/node_modules/negotiator/package.json": "2bc164db19aca1e7af967b7211f7d728940f48ff22d56aa75be587f3bb13ee56",
    "installed/node_modules/object-assign/index.js": "e02cb9714ef6e561e971fe400644330212f07ca86120587199470d8b759a4b7c",
    "installed/node_modules/object-assign/license": "6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c",
    "installed/node_modules/object-assign/package.json": "5990bbffa235fc675debd925d50f6c3f48a2b4526d8c9f7555cadec9029d0d7f",
    "installed/node_modules/object-assign/readme.md": "3261c0b6a6fb04216942dcf3d71e57fe0be681c1a816b1a5941dac9f81cf862d",
    "installed/node_modules/object-inspect/.eslintrc": "22417af06c6566e098c56c7fb458aa716010dedb878e2bf9c0b9f06bb40e6bc7",
    "installed/node_modules/object-inspect/.github/FUNDING.yml": "c5d7d674c3932a7e2962b172028b54a41540916a991cdd9ee0bf60f901eb00ae",
    "installed/node_modules/object-inspect/.nycrc": "054eeda03a706b8eb6821a2cc2d47080c7d6cb031c82252ff9a13460fef3bb8e",
    "installed/node_modules/object-inspect/CHANGELOG.md": "2a4cce1ade3b0d2945f26beb1852c075bd8d3dba20a44dc75185c8c1cd2779fa",
    "installed/node_modules/object-inspect/LICENSE": "bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232",
    "installed/node_modules/object-inspect/example/all.js": "fcf0c7b568eb8914f89824172ec41782c57070bdc813d5fe27f165a90f628078",
    "installed/node_modules/object-inspect/example/circular.js": "b73a9884e6566f11892fe8d2c42000170109e9a2ebb47e9fee80fa8e040aaa5a",
    "installed/node_modules/object-inspect/example/fn.js": "ff646d533194cd0b8a6c684b82e899c0930a3ebf944abdee8070c7c84f6a0bef",
    "installed/node_modules/object-inspect/example/inspect.js": "060983edb7c1a8350a7dacbe2f209d96c62b657b0ffbbebbfe7fc3cd19e58e77",
    "installed/node_modules/object-inspect/index.js": "9aad508be54fbe29d82145d54352e7a19c01e19b70e1202b0123449fe9afcde6",
    "installed/node_modules/object-inspect/package-support.json": "1d6770f17ca57a021af57c931ebd3c787d0d06ebaed27da98cfcc2ef77633247",
    "installed/node_modules/object-inspect/package.json": "21c5c63f653705f44a60f5fe93752b231caf6ff07b01805740bd89b71b2d6d8a",
    "installed/node_modules/object-inspect/readme.markdown": "3a99acaa394dea033e3feda3ca2bbed56d76cd80a055005156c38c1c225bd601",
    "installed/node_modules/object-inspect/test/bigint.js": "2fde9c2f1050c282c681f7f8ae987e68668271e2dbca302af431505e26d5981c",
    "installed/node_modules/object-inspect/test/browser/dom.js": "4450f3adf5025565d98c6b8b8164884656d1187f9102636b016e7cf2895e8571",
    "installed/node_modules/object-inspect/test/circular.js": "e904cddc6f53b4d0ca9171ceb31fe4039b8fedea78575863158b86a2eba74d5c",
    "installed/node_modules/object-inspect/test/deep.js": "bfdd266350646f91f8b1367ee96925228fbb38c0ffa6ad285964465fae5d2dd4",
    "installed/node_modules/object-inspect/test/element.js": "603b3d295bc8114fcf9df39ccfcb1af3091ad7f50c7963b73d03f624d0e12def",
    "installed/node_modules/object-inspect/test/err.js": "3e673a17cbd47a527578d82aa9feff31621fcca1bbf8d5ff88948633c3485644",
    "installed/node_modules/object-inspect/test/fakes.js": "95454b37e092016b765dc3702c9d60b363a62e8b03db8f39f5e7e4d37b17af82",
    "installed/node_modules/object-inspect/test/fn.js": "e2f0dc345d174bfb0f7ce790c5368702310015b0be1ef274d72e3ce740dbe5d4",
    "installed/node_modules/object-inspect/test/global.js": "7c90c87b9b5062fa2ad7889e8981628d390ccc2c868e0a02bcc9fc2be19492f8",
    "installed/node_modules/object-inspect/test/has.js": "929e5d9ee18e4fd7e6e7da3c6d9f988c4643cc8254f0c18950f28c102a10ad5d",
    "installed/node_modules/object-inspect/test/holes.js": "6debf6783179e75e1559bd5ddafb7352244d11204f3be24d9c93fe96778f55f2",
    "installed/node_modules/object-inspect/test/indent-option.js": "88ab6d6b8d0b059b0ce6b1632bdd5b8a7a218b61572f2fa6c9f01abc9925a362",
    "installed/node_modules/object-inspect/test/inspect.js": "8c60f38286b654632cdfc4015a47657c339591e82a4489e181b689e2f2625d23",
    "installed/node_modules/object-inspect/test/lowbyte.js": "a0ce0ab0dee87383b9d2d957f76eb21658a9a660fd80cd666f0f94aa4b28478f",
    "installed/node_modules/object-inspect/test/number.js": "b688ddf9d78ccd7b295b8d73ddfe29f0da5ec5acf884e570842106ca649f93d8",
    "installed/node_modules/object-inspect/test/quoteStyle.js": "8b3afbbd4a1a9be2ff367a2ac6a3daccd61aa4c48ff7bf37fd1c3db2d3444005",
    "installed/node_modules/object-inspect/test/toStringTag.js": "c8edffbcccb9ae87c3dbf9f8e0e3112dc4f062ac911aa54b0a40f8639988a114",
    "installed/node_modules/object-inspect/test/undef.js": "b1f88feb036f85511aaaceb85ca3676c98b56d14130e09d9501056f917862281",
    "installed/node_modules/object-inspect/test/values.js": "b27da98b1b844ab9456d23574d9b505a90d48be61cde2b5f4613fb33a3bac7f5",
    "installed/node_modules/object-inspect/test-core-js.js": "16d580a89dec81a3657e20d9f827768178abe029bf31a950136a38852b493b9a",
    "installed/node_modules/object-inspect/util.inspect.js": "bb49299375c82d8d22983b76f6c25cd9ac923dc61cd25fffe9b3f71dad26dc40",
    "installed/node_modules/on-finished/HISTORY.md": "1954661afcaee2b2e961f1b56dc9694f3074608def2a4ae75f7b1203d18086ca",
    "installed/node_modules/on-finished/LICENSE": "8089bcc08845ec143e5761f4a101a65b8c792a0dedbfeeb90a15560c0b77f768",
    "installed/node_modules/on-finished/README.md": "b52e3f3a4ce4fa24c28fe59ccc08b5f4866eb5dd57943718a4a914f35901aa89",
    "installed/node_modules/on-finished/index.js": "8e16bae14ec63bac9cdbb50572a7b53061fee914712f5e803ff03c44e8845276",
    "installed/node_modules/on-finished/package.json": "c812eca4b0dee2317cb446124cb27ae8e5b993c8fdd0144886b629ef6ef53fc1",
    "installed/node_modules/once/LICENSE": "4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b",
    "installed/node_modules/once/README.md": "43b6d72bb23aff98af3243ab7e8d23d9af339ec46cdbdc81ded537c9899fa650",
    "installed/node_modules/once/once.js": "3db73e347ecbdbafdf8d0db85145c877e133f5372e767360ef90c09f70ac5103",
    "installed/node_modules/once/package.json": "33840d74c14c94bfb75c76374765b635531b1eacb88d7f1f2f380c94d0ea1328",
    "installed/node_modules/parseurl/HISTORY.md": "aa6e5cd75ddde03b54623af11e6aeb6f92ccf6a1c69805b20890228182030189",
    "installed/node_modules/parseurl/LICENSE": "11d017c3b9f1ee3f44caf7203035f0461d5b57e0db8ce1bc03a9af34fa7d3f6b",
    "installed/node_modules/parseurl/README.md": "2d37d38021aa9eb04b9915958140a7e79350672555f60f4b271384de1c0cfb81",
    "installed/node_modules/parseurl/index.js": "811223d4a19492ccc642384dc84f0af4ad935557dfe8f63750d7ffd673e40f17",
    "installed/node_modules/parseurl/package.json": "98c7b953c844cac7c0be2d5abc6559c6fd3a6075fd159b04c0f1bf46145bfed2",
    "installed/node_modules/path-key/index.d.ts": "804fb0c13d2ebd79f57cddfdda769f13217b423b2a7151e0c456cdecf635ae80",
    "installed/node_modules/path-key/index.js": "fdbafdc163f668fe325333d62387365c9b074e01253e32824a4dbf5cc552705d",
    "installed/node_modules/path-key/license": "48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0",
    "installed/node_modules/path-key/package.json": "25594dab72681c910d9cc919263a4daf27d77a75e0d2c26a4d958d6d6b798f86",
    "installed/node_modules/path-key/readme.md": "dcd0d891bc1a13eefa64655c4601387daecbf5c93f96d868f9c0eaf97c723c1a",
    "installed/node_modules/path-to-regexp/LICENSE": "4eeb3271453a891df609e5a9f4ee79a68307f730c13417a3bfeffa604ac8cf25",
    "installed/node_modules/path-to-regexp/Readme.md": "fccfef59964e001eda9582142506b875ded9e78c30dfbab2acbb960dfc0930b8",
    "installed/node_modules/path-to-regexp/dist/index.d.ts": "5c6d56d510cd33bd645c0b1ee4de324ceadd9a4f3099098d03ac715c64e80196",
    "installed/node_modules/path-to-regexp/dist/index.js": "f8e7946ca3a4dcc2ed1ea46e3bcffaef014e4abc359a7469a16817f1f79df62f",
    "installed/node_modules/path-to-regexp/dist/index.js.map": "ef2f2b9ddb2d91a9791c4e232f95204e424c604b7f4e60855e8d9bc15e059e62",
    "installed/node_modules/path-to-regexp/package.json": "3c37dce1e0587231f7c9f63e137dd0ed4d6f25552c89b5b5939c6a3d36113634",
    "installed/node_modules/pkce-challenge/CHANGELOG.md": "0ff8809c222d5aff98333e7622e88b359a165bcfd5112bdac21a2db25ec8c086",
    "installed/node_modules/pkce-challenge/LICENSE": "feb87a2e0c305de3464cc44077da5393c52d8ca6362d37427157d04ec6f4510d",
    "installed/node_modules/pkce-challenge/README.md": "32aa99bf90337ddf424970e7d9a95a16bb882e6c221ed619f6f8b1d2d82ca655",
    "installed/node_modules/pkce-challenge/dist/index.browser.d.ts": "8c377c4daf607632c7934d1450ae7b203a441a649823160eb4c9c3f6cc050629",
    "installed/node_modules/pkce-challenge/dist/index.browser.js": "0a2e4c59975ffb7ec9c70499e36208260f6524261b443b57894c980736d0b3f4",
    "installed/node_modules/pkce-challenge/dist/index.node.cjs": "3a385028f720b80602b2f6652e976269e9a150070df008e58fadb2e3460d0ab9",
    "installed/node_modules/pkce-challenge/dist/index.node.d.cts": "8c377c4daf607632c7934d1450ae7b203a441a649823160eb4c9c3f6cc050629",
    "installed/node_modules/pkce-challenge/dist/index.node.d.ts": "8c377c4daf607632c7934d1450ae7b203a441a649823160eb4c9c3f6cc050629",
    "installed/node_modules/pkce-challenge/dist/index.node.js": "c5ebd5bc6d03b23a86e638ff7f91529dfa4f7e6802d0f86574d1f8d43ec3cf08",
    "installed/node_modules/pkce-challenge/package.json": "74fd5b54078ebad49e15421f928d285f63926caae3220356d95a9afc6fa0e417",
    "installed/node_modules/playwright/LICENSE": "45873d00a0dd243596deb4aa23b2493b3d1f0671921bf2538ea431d7380220eb",
    "installed/node_modules/playwright/NOTICE": "6d602191187b35b9b01d2cffa01c8469c2c8d9de8a96f1bf868e0f264f51c81d",
    "installed/node_modules/playwright/README.md": "8d2a2d9027d5d6ae2c8080c6c9752624528c5605398f87da730e18442c7e9a84",
    "installed/node_modules/playwright/ThirdPartyNotices.txt": "b17ac0bd6f4b8207e440639cc8e0ba1bf1d9eaf9b12236764ab93b346c7abd8e",
    "installed/node_modules/playwright/cli.js": "5e79302a6aad7d835d92d5ae6b4244c91cf61b28e94d7917279090e6c231f7a1",
    "installed/node_modules/playwright/index.d.ts": "b07f64ff6ec710998a62b07377fbda0ab4c313ba1f0055bfe9faa22cffedd47c",
    "installed/node_modules/playwright/index.js": "4e98f65f0a9d9bcab8cffc0c5cfdd87fd3f5b0be74fc494ff166a466b204cd44",
    "installed/node_modules/playwright/index.mjs": "a0f5715ea22354f922791a9c53dc012d5d5c067ff9cc4cd35ffb7cd272071a9f",
    "installed/node_modules/playwright/lib/agents/agentParser.js": "a2f630c1c2c9eafa0a3ca9cdbeaa26e74801615bc572e3fce226acb662ceb0eb",
    "installed/node_modules/playwright/lib/agents/copilot-setup-steps.yml": "7483c252e2225d90cf7b66b461772a9e16e189cd45f689f48519872571e1a345",
    "installed/node_modules/playwright/lib/agents/generateAgents.js": "3bae7bde1d05c0fbaaa1a82ce7a39732ff52904de575fe88e69c391a6c41478e",
    "installed/node_modules/playwright/lib/agents/playwright-test-coverage.prompt.md": "8e8a32e98c7069c8af29a088a91999c81dafbeb09a144b143ebe888b48b94355",
    "installed/node_modules/playwright/lib/agents/playwright-test-generate.prompt.md": "6031c3eacf1e55d527a0397066b64d134d9f925fd7286bcc78646e714611da10",
    "installed/node_modules/playwright/lib/agents/playwright-test-generator.agent.md": "3ba34ef877c6d8c1d0fb70975d96062b33c0ba138a8bbe9eb837585d31ffb045",
    "installed/node_modules/playwright/lib/agents/playwright-test-heal.prompt.md": "19f2bea9648ddac89b90b40a3f87b50c276d416677f8bb2fbcdac894cdb6946b",
    "installed/node_modules/playwright/lib/agents/playwright-test-healer.agent.md": "b3e1d85219df5ead7e3ef0dc69959b0263cc16e885f71d5b64bafdf97e6f9215",
    "installed/node_modules/playwright/lib/agents/playwright-test-plan.prompt.md": "6ce2c51b356b4e89ac1e3c2b8b3ff0a390c7b518c1d4d24f019f9eb179cd6669",
    "installed/node_modules/playwright/lib/agents/playwright-test-planner.agent.md": "bf4baa68205aa04c4512a80bcc6a5362d3aaa76ae9165f05a9d5a29e1d34c0fd",
    "installed/node_modules/playwright/lib/cli/reportActions.js": "4eeceedf9588d69a153f018aa548e00b73e5f61cb39bb05f0fc87c06131af2b3",
    "installed/node_modules/playwright/lib/cli/testActions.js": "f1c4f6dee0b5689036d65868365e2010622845d8d93831612e91ce1ec437fbc9",
    "installed/node_modules/playwright/lib/common/index.js": "763942536de84a031a24c86dbfe8be1a971382ad1d66ffcef1201e77cd05d5ea",
    "installed/node_modules/playwright/lib/common/index.js.txt": "6e2fff989e20149e274d404060fc49302f6683ec44753937d59cf0942c54be8b",
    "installed/node_modules/playwright/lib/errorContext.js": "ffc1843cebb3e90e1674c07ee2607a4a63152eff609e5f9865bbb2f9eb02e9a1",
    "installed/node_modules/playwright/lib/globals.js": "f5922eb1fb6051900157492eb9c218e62d07378eed135bca4b2f173ed1184d1c",
    "installed/node_modules/playwright/lib/index.js": "90336f507074874af66f1d681d4fd7727f5946d1f37a3621d748caa3a8ae0485",
    "installed/node_modules/playwright/lib/isomorphic.js": "3d61508f951aa9518adb4bf6594d61dfd1099c95a1a4f0af809a58ccebc59025",
    "installed/node_modules/playwright/lib/isomorphic.js.txt": "36c16ae5721dfe8ac2555e84d26b5895b7ca113e7304bd3735a16d56b5a71b3c",
    "installed/node_modules/playwright/lib/loader/loaderProcessEntry.js": "45681332f4178770c204b33e5b8dcbba940baf3bc6fc86506bab24027cb513f3",
    "installed/node_modules/playwright/lib/loader/loaderProcessEntry.js.txt": "0fc4ad550d17a23e9f1cbc78f646e57461f4feb22253dd5220034ef44091005c",
    "installed/node_modules/playwright/lib/matchers/expect.js": "0e5d49c2c2b2fb2a20f60726153cb0bd109d0124394029035f43497a82b05eed",
    "installed/node_modules/playwright/lib/matchers/expect.js.LICENSE": "78b2f60563d28cb3f9ea17e4cdc0657681e641e2f72766771d9e2da9ca94c065",
    "installed/node_modules/playwright/lib/matchers/expect.js.txt": "af183b7b922f04f770c21e5f63fcd139f3b49b73411d509da261babcddcbbb9a",
    "installed/node_modules/playwright/lib/mcp/test/browserBackend.js": "703f307d1c3e746291b625f886af3d3d28fc0a868b8b2a66173a75bd895ccddc",
    "installed/node_modules/playwright/lib/mcp/test/generatorTools.js": "3c53feaeb9fc2ff728f334cb31f9b7211e65b20c692c7585459c3c97bdd13a12",
    "installed/node_modules/playwright/lib/mcp/test/plannerTools.js": "715abc888d9ea30b532b75c6f09aa34101ab15c1eeb959c50cf9dedcf3a459ac",
    "installed/node_modules/playwright/lib/mcp/test/seed.js": "f36f7fb76d4ed33225e80be208cccc9757d363a9d1527cf560736c0f1e5edd31",
    "installed/node_modules/playwright/lib/mcp/test/streams.js": "8affc240a6a90ee2dbdedcde9927018efe426ec0d390bcd1ee4f0464e75adc0f",
    "installed/node_modules/playwright/lib/mcp/test/testBackend.js": "dcd8d09366617f13213ce544efb5fe47df5a87258ae93545d4d0738623f43ad1",
    "installed/node_modules/playwright/lib/mcp/test/testContext.js": "74ff4273ea12e6353d4860c9452387b643d7d8899fbd4951389ba94d18df5e37",
    "installed/node_modules/playwright/lib/mcp/test/testTool.js": "2a8f17d0a61ccb8a4ca9c52a3255d624deca989c0b06281d579629c664f8cc8e",
    "installed/node_modules/playwright/lib/mcp/test/testTools.js": "14710b5f34246005d974762b83a2a50e5cc17130af841cd3bc447811d69c6af7",
    "installed/node_modules/playwright/lib/package.js": "544a18417ea51dd4c8a9f3dbc4e2b47e46c80f452e0cd23d55e9b3680bc6241e",
    "installed/node_modules/playwright/lib/program.js": "2b30a16dad83631a0783f7863ac1ce0ff78bcd27869f8a1059ac2595d21580b0",
    "installed/node_modules/playwright/lib/runner/index.js": "2cb242134ba364714f289100dbfc02fc496d74bde24274490556395e57109fdb",
    "installed/node_modules/playwright/lib/runner/index.js.txt": "c9f56a2b5e0cda6d95b269af05648b3d6018fc45d45d9233d11cf1f62cab6c8d",
    "installed/node_modules/playwright/lib/transform/babelBundle.js": "cd656ca6a9857b3efbbb7e015a2fa3abd4bc0e88956661cc9b14d9d7f142f093",
    "installed/node_modules/playwright/lib/transform/babelBundle.js.LICENSE": "2018f402988d0cff56531005b77bce7c2816a34d0c157ecb510043abd41b1ad3",
    "installed/node_modules/playwright/lib/transform/babelBundle.js.txt": "378bb160b7c981551aba70a5f50c404fcd3cd11d27eaa344d0b00872513ab81d",
    "installed/node_modules/playwright/lib/transform/esmLoader.js": "57039f70e2f357e7c7bce4a40aebf543b0ecad77958e0a0a923f2f180f82cd61",
    "installed/node_modules/playwright/lib/transform/esmLoader.js.LICENSE": "3cec0c446526a449e4613b0defee0adb585f88f1d7fdba919421226d69be078e",
    "installed/node_modules/playwright/lib/transform/esmLoader.js.txt": "6cf67693d4aa70088d6368f5b0c7ba8df51374e941f147df88f8a5da9d051b36",
    "installed/node_modules/playwright/lib/util.js": "874c55495773da8c5a2ec46551c2265937bf08446231c09a8b5966e8bea2b1f7",
    "installed/node_modules/playwright/lib/worker/workerProcessEntry.js": "b7ae55d578fb3a2a6bd4d9acc0abf93146ae1d9062330bbc0e3f82acbff751b8",
    "installed/node_modules/playwright/lib/worker/workerProcessEntry.js.txt": "7b4f3a6e64023f52319739dd1026636d0e769edecf1eccd4b7f03bf8a4b54865",
    "installed/node_modules/playwright/package.json": "313d23ce667d93962d3a1ab4be80908cefe840e4d9e48f1cd5863b91f65e8e39",
    "installed/node_modules/playwright/test.d.ts": "3f00324f263189b385c3a9383b1f4dae6237697bcf0801f96aa35c340512d79c",
    "installed/node_modules/playwright/test.js": "b97fa53a6ab864f51c9c48b5e4647d0acae45ba2948c5d78e38bfeb56755d974",
    "installed/node_modules/playwright/test.mjs": "1deb265617d0e87b6d05bf8b3d5bf73cd4b788665c249c609a01b94ceff2eea1",
    "installed/node_modules/playwright/types/test.d.ts": "7e2cbb3666ddd7b5c45240f28deb693e134eacb9ddffe037bd0af64beafc843b",
    "installed/node_modules/playwright/types/testReporter.d.ts": "0304f69294f8221b82ec6b4c75511dd6d824f04b1a0999409c79931cd33219e3",
    "installed/node_modules/playwright-core/LICENSE": "45873d00a0dd243596deb4aa23b2493b3d1f0671921bf2538ea431d7380220eb",
    "installed/node_modules/playwright-core/NOTICE": "6d602191187b35b9b01d2cffa01c8469c2c8d9de8a96f1bf868e0f264f51c81d",
    "installed/node_modules/playwright-core/README.md": "d16ff7f8e38fa1fc954f695ad551cdc118d9c9bdd5f3d83203901f4c317d7d7e",
    "installed/node_modules/playwright-core/ThirdPartyNotices.txt": "a549d329bad8806fe279f0ecae0fc0270dec7e7c2dc8ec10f90e394f7c32b144",
    "installed/node_modules/playwright-core/bin/install_media_pack.ps1": "bc20f049badf021e3a53bdb4156603caa5ef482c9a9a251f927605e676a44171",
    "installed/node_modules/playwright-core/bin/install_webkit_wsl.ps1": "bc61beda37a808eef27d39ce684baa792f6d17737a25a432b1a84d3b591ab815",
    "installed/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh": "dc8c22b9dde76583cece2857575b88094299615f3136a3c598149710c45dee3a",
    "installed/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh": "a92eaeb4ebcf5633a4e9c981481e14c80764fc81b6fcbc0565398e50ff319433",
    "installed/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1": "b6d9e44742feafb98d5edc56fa20042949973cf30d141a1c5b4fb384096967c5",
    "installed/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh": "dc72ab3567a4ce43bd8353d4ecf41f1d9c03e870169367cd3ed9043aabf67dd1",
    "installed/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh": "bb43a96c192a6cc81524ade0264686fff7809c019a89f7db0a9849635879c3be",
    "installed/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1": "3d96c4e2f4ebbb3fad44cf3ba58d9cf90af1c9fb3073e3b27d45a74cf005515b",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh": "10b26f35dbc2000b94edf1172d803a29c5873a4eb8d523afbc687997b642767e",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh": "0036d738bc90d686100d81f328ba0003bf07863f5500b792c8da391d149750fa",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1": "b173c378a59f0cc38033cee702de1f44f09276c9b2270d1a650ebe66ee312433",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh": "00e4947e7a4f8339c6db09c87976d808583c07f9179e4aa7694d88614b82fe95",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh": "6f899e3b311f742c24ca37ff9e32298e8290514ffc14bf588cc51556a29da4c0",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1": "46f7f98c81cb0abe687d7f4a5afea9b897a38d2a6dd6f6662fbd847f7a22bd51",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh": "ec0a31a5f09c565e108473a1850895a4458ab00c713ac1de3aa2001912e4668f",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh": "3af1e893527ff2257aa2dbc3b259a053b92f45c3eadb13e38eba46e87902655d",
    "installed/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1": "40bb5fcbfcebbbe2ce43c6e736e7c5deefc5be03b6e9c6914423c06ec1f591be",
    "installed/node_modules/playwright-core/browsers.json": "2cfd419f71ac6475d81e1301fa86c34cf2a2a6bae2a0da4b5a2b18310216b6bf",
    "installed/node_modules/playwright-core/cli.js": "7c46f799363eee3e0bb7a7d7c870a92316a1601bf6fda780b656df4209542aa9",
    "installed/node_modules/playwright-core/index.d.ts": "7a8ec10b0834eb7183e4bfcd929838ac77583828e343211bb73676d1e47f6f01",
    "installed/node_modules/playwright-core/index.js": "a58fb2cec4293e7dcf73c58a179898a4f3986666451a19da4e731fa3af63265b",
    "installed/node_modules/playwright-core/index.mjs": "3d36e2132d3c8b62397d23f0bb4177336aaee503203ae2a2c90fbeb5bf3317dd",
    "installed/node_modules/playwright-core/lib/bootstrap.js": "39dd64cc9472275d1b25c170fefa2a98353bcca598b741788faac2e6e15fc737",
    "installed/node_modules/playwright-core/lib/coreBundle.js": "829521b67ed7be90c7d6d6098ff39f2241562d47e4ad7ccab13710924a56001d",
    "installed/node_modules/playwright-core/lib/entry/cliDaemon.js": "062f256fb29a7bf91793a014b9c3f1f9cf2dc6b12e40a8a2ebba88a630ae16a0",
    "installed/node_modules/playwright-core/lib/entry/dashboardApp.js": "209962c6eaeef11629f226d6a2ab33ec7a2480754242b6e19590a9e6eb71d126",
    "installed/node_modules/playwright-core/lib/entry/mcp.js": "cc87dc0020cb41caebbf04f50e42bc7835b033a6d80e9c3f0a3d0b3dbdf341c7",
    "installed/node_modules/playwright-core/lib/entry/oopBrowserDownload.js": "87567cdbd67dd2f50bb232d47d3784701ece7c81e39c0287bb7d1b466b68cf06",
    "installed/node_modules/playwright-core/lib/package.js": "9f938e1d44a0dd231b1660ca62f7dae964859b79cbdc370b8542c5d375ca3c05",
    "installed/node_modules/playwright-core/lib/server/chromium/appIcon.png": "6ba994f05c5cf18e22d9b6bef9898fbdec6ad4d4d77f5187d0609cb42d72d01e",
    "installed/node_modules/playwright-core/lib/server/electron/loader.js": "ade9159c9691597140bb2658b85f5055ff3fa7bc5c0e2b6d5532f9fbd46dfdaa",
    "installed/node_modules/playwright-core/lib/serverRegistry.js": "38025f08f335705b099b9f188bf45b5908a56a722825fe895b1e90f56d5595b6",
    "installed/node_modules/playwright-core/lib/serverRegistry.js.LICENSE": "3098a6efcbc11752cbdf6075fa65480f5470f78c8d981fab9c0796dc9a41cefe",
    "installed/node_modules/playwright-core/lib/tools/cli-client/channelSessions.js": "6b9c613e87340f48ad7182addd7495a8ff3fbe55feb1bbd0ce04f59f1552e126",
    "installed/node_modules/playwright-core/lib/tools/cli-client/cli.js": "3f9694e461ef0d6ebab068fdf3da98e1f3bce7cd4d2c32e667f2d0fb218c6472",
    "installed/node_modules/playwright-core/lib/tools/cli-client/help.json": "922b302fdf697f32c37d9ac4de453c98f89f8edfc15b1d310fad347107a12bf1",
    "installed/node_modules/playwright-core/lib/tools/cli-client/minimist.js": "9430489ebc06fd02231dccfe844516f743e812a9ac4fe8e6748a67718738851c",
    "installed/node_modules/playwright-core/lib/tools/cli-client/output.js": "de5701d6dba77b3c77471c3e81ad901dfd1a9122d38f25f5c06fa1356dc002b6",
    "installed/node_modules/playwright-core/lib/tools/cli-client/program.js": "c22d2d11c862df198228d9612e6bf6d42d86079d0445f151f0efa9a26d034189",
    "installed/node_modules/playwright-core/lib/tools/cli-client/registry.js": "4976cd5b2b3a25572cc1a4b5f055a756dacd4cc1b19d48987ee3253428e759b8",
    "installed/node_modules/playwright-core/lib/tools/cli-client/session.js": "8c3f9aff3fab537771cb560e1bad3e417e16b3315b7a3dc10a305faeca3f6024",
    "installed/node_modules/playwright-core/lib/tools/dashboard/appIcon.png": "38037bcf18c7f9b950da2e1a2d8800d38fb27637ccda293d38368a3704b67f18",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/SKILL.md": "49bebc4b652d58860e91d6478fa446645e349ba8556667cc02702645d7ffde0b",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/element-attributes.md": "bf19aa4671e0a50a0fefa9c790f39124e803060eefe395042b723c29fcb7faa2",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/playwright-tests.md": "c5b0719fef2cfdff50bd744051b2f9afc119775db4b48e9b2882c1cf3886797c",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/pr-attachments.md": "24b118e74598be72e73e24fe223d295b9099c85b1860a7c8f6e5690c9038fa2a",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/request-mocking.md": "54e801c9663fc2b6d68ceb058cb1c360724c2499f42acc7852a68e83e5b5f37c",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/running-code.md": "3029569ed6ddaeffc0b87badde967efdc2973b1677f078830098146eb3b78ebe",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/session-management.md": "a4f16271f95d3eec7bc56e659d8adbb8f6ad7d603a6fa15efdcdd071a50c6ce3",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/storage-state.md": "9ac47f9ae4a1aedcd2077f8ac9ab1ba6bee1962cb83ff51adcd36fb6d83b5ec6",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/test-generation.md": "27ecb11ef647999bd7486695bb1aacc3682097e6bb5742804cb6c8769c2b5364",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/tracing.md": "ef73e71bee792e341df9cd4f60529c929ade48b538ac76e033f4f20843e8dbda",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/video-recording.md": "1c800b897824cb54394c34265d8ebffdbb530adfc8d612c5d798b667a1799f48",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/SKILL.md": "60f57b31767d562c30cc5332081418c2945f4d9c998efa6e09191333654dd429",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/gallery-spec.md": "0ca25dde6112eb379f56eb618585b64dc2dfd13c2f7f956ac7eabbd76a68912b",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/migration.md": "bc3a336f7970bb7455fa5a38f937e45b35fb0c18d6c3b9f37916a4ff757b7acc",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/react.md": "54af9cc1cdb6d4ccdb8e811c0abb29b960d5c9304f4df7d1dcf9b8df3f973102",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/typing.md": "c511025b5c9b02d7f49034a5613c8b478193bf60c90ea6dddb3faf9c6985c82b",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/vue.md": "d1b129f126c700702a3c00ad8eb6c86898bc941c29a656c1191eb7230650bf8b",
    "installed/node_modules/playwright-core/lib/tools/skills/playwright-trace/SKILL.md": "c76d28244c05a6474f6030213127cd62253208b06430ea2378576f0669db2c9a",
    "installed/node_modules/playwright-core/lib/tools/utils/extension.js": "404ae19e57a7c7c5ed3e6ecf9df26a3fcf95867250732f954823078ccb879e63",
    "installed/node_modules/playwright-core/lib/tools/utils/socketConnection.js": "973c2bea70a1f1445f4673f99e9fa351e50a2ec9fd93d7381b2c41bb4de764dd",
    "installed/node_modules/playwright-core/lib/utilsBundle.js": "75f1431ea7ee00b2b291a0a72d4fa1c07ae04d999f21a00cd03b8f454a5840fc",
    "installed/node_modules/playwright-core/lib/utilsBundle.js.LICENSE": "1362b7f413c08083af537384162ab69a323d019fe26e0a2cd78536fafd6b9cbf",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/codeMirrorModule--QdMvsKi.css": "20be824a82832b62cc04642d31da3c609fd280b23f1cdcb1e622c4f40aac5ab8",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/codeMirrorModule-CQ8RZGBm.js": "56b9c6a50c09dfac28eea5ec3e76c8ae85a26009b20ebac9928959cf3c3312bb",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf": "0f1d5219934e96e83b8db162d60b4d8c09b5de1e7d38031cbafe4a3c0f2889c9",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg": "3f3742d1e78c0db6c2d3531250f70c30675ee5310de32fa89befaf738c54efd0",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg": "7eab5ffdc25903ba33a7202f7fffa1999f119c7be45a39e9e703c118904f917a",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg": "f311c074b0fa999fcd6b73441301fb54ee87a48ff3bf05f318647928110476da",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/index-AwgwcYie.css": "82d06f291a7d0860e1b1e1803ab6f2e49c637541779a37168652e10b062b67f9",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/index-hRvO4yU2.js": "3a05ed0b026442a1459952df25b9a836d4fa1a917838cf6f9357daefc0e42285",
    "installed/node_modules/playwright-core/lib/vite/dashboard/assets/safari-na3_-uQk.svg": "80fd72ca5eb8545f1981277b31f4f92951d469d4efebd078e4086b676fe517dc",
    "installed/node_modules/playwright-core/lib/vite/dashboard/index.html": "202903aad66040604bc1a0c85615dda4bfc7e6f4a4674e60d9eda4d44f6faea7",
    "installed/node_modules/playwright-core/lib/vite/dashboard/playwright-logo.svg": "511524a1c145819303a18fb71870a4307c3e740f9e9722f7686a2b42b0995b6c",
    "installed/node_modules/playwright-core/lib/vite/htmlReport/index.html": "ce7c098020a0eb9ce10edd416245ea6da50dfeaab18dfd0a2176979d22643be6",
    "installed/node_modules/playwright-core/lib/vite/htmlReport/report.css": "d98a244bf950333ade383b109e97d396f970f650b20f2e5ef5ecc2740205dff7",
    "installed/node_modules/playwright-core/lib/vite/htmlReport/report.js": "0ecf5329ce34f0b809753392b8715521c30eeb46e24f7749d2537c06aa5bcea4",
    "installed/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule--QdMvsKi.css": "20be824a82832b62cc04642d31da3c609fd280b23f1cdcb1e622c4f40aac5ab8",
    "installed/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DK72OMRi.js": "44cc2e8413f941b4ce136fae229ce375a0bfe15e9f1172dc0deb0230791149f4",
    "installed/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf": "0f1d5219934e96e83b8db162d60b4d8c09b5de1e7d38031cbafe4a3c0f2889c9",
    "installed/node_modules/playwright-core/lib/vite/recorder/assets/index-BZpYJZ-P.css": "cc24563b96f286614b88f74da413e9984de263227971c4cdfabe1f73be095514",
    "installed/node_modules/playwright-core/lib/vite/recorder/assets/index-Cn0mmDuv.js": "b57add9e1086d2b7058a66f77a1c19ba8bfbcf1f76831565e7662892c68d601a",
    "installed/node_modules/playwright-core/lib/vite/recorder/index.html": "8338faa7d5856d725400a1c1aa37541bf45ad0e9ca0391b05d622118a47d5bc0",
    "installed/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg": "6b0a4367bdeab10995bc239278f04c68c10e48adbec15e799e01909a0d66dcb9",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-BEB2e8M3.js": "0da75d228abc1d8b940aa04ec086570dace7b2e7b2ccc5f4bc16f05e79bdb7d7",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-D-g2vrvf.js": "554bdef910d18e763118f1221667b809edafba46e29e3f8de4b9dcf21c6b7d79",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/assets/urlMatch-L3liM589.js": "1bc6321e32d11c31a452bc75896f0b344e6153321854d9f1658818be7f845c16",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-B794rD2Z.js": "7f3c6bda9e7b6327740dff3b946c68a52027357ef2b14b1ea373aa614cbb7977",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.-QdMvsKi.css": "20be824a82832b62cc04642d31da3c609fd280b23f1cdcb1e622c4f40aac5ab8",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf": "0f1d5219934e96e83b8db162d60b4d8c09b5de1e7d38031cbafe4a3c0f2889c9",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.C8BeHuxd.css": "278101b68ab48ee6323a6afbf4e0e629324e10e96902a62a0875643a1bba3d94",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/index.B_TqY17P.css": "08a212fcacae1866f44f065654afcc4c7d03409c68c74b3315c5bda17a0ca003",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/index.html": "4c168083713c6868f577f492f3d50eecdfbf6235e0b0af421796b7ddd9013bd6",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/index.oNry3Hjv.js": "87f339e5e169f67633a91e17d9c8f65afb8de66d9b88a4167c79da78f562518d",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest": "d8540500603a32a39fe7e5a0375dc0f9ebafd11118e06a846db7efc608223ab9",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg": "6b0a4367bdeab10995bc239278f04c68c10e48adbec15e799e01909a0d66dcb9",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/snapshot.B_Jk1wbt.js": "d4d09e05451d107d8e1a6bbd041405fe518b9fd2833890e4ebaaad83b7f554f5",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html": "c608c8899c95c5a74d3f556e20146c3d852b9df85ae2854c659a7cc773c9b727",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js": "d1d6fec6687eb3fd93a8990bd9daa3951422695afffae2382f97f10811cf1c30",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/uiMode.CYwC_gH1.js": "c920eaa161f65b6c0dd431a642c4bdf2e6262ae51335c02d155b187f48c0296c",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/uiMode.CyMfwkXJ.css": "fb403cf0b07007bc1d771e29737f7408924da300e2fab8b289a3ef2e8fc08d7b",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html": "6de2f5db7f7532c30e8b1381752a1daf23facbdef6bea130cef0cfa5a003eb22",
    "installed/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.kHJ-D0s7.css": "0dd60056134e6a2994a86b59a1e9789b9f04e92924da109aef8c923acaf08ce5",
    "installed/node_modules/playwright-core/lib/webp_codec.LICENSE": "995c7ee35aceb7666829b7a501ca89c0864e12b493c1174b155774ab1e03d831",
    "installed/node_modules/playwright-core/lib/webp_codec.wasm": "164cd9583a3e4d081f767d3b41ff0a730443dc7535fcc5caff83561463384b79",
    "installed/node_modules/playwright-core/lib/xdg-open": "7d759d54f0d4ce1beeb34ee62c587985b5042374e8de237b0dcb8cd47aa698cf",
    "installed/node_modules/playwright-core/package.json": "8aa1c9863fa8dea324e674254158cdc79440f4124ef2d84d38053013541cb7d6",
    "installed/node_modules/playwright-core/types/protocol.d.ts": "ccd722dea5eca655cf111348ec27a38a376d467407c4cc763d31514550d04d5d",
    "installed/node_modules/playwright-core/types/structs.d.ts": "c9b9179b7291c8562eb0fb781219ddbdcf36149ebd7bd355e5b4a553d6b60b81",
    "installed/node_modules/playwright-core/types/types.d.ts": "c458c9da21dde7732dd440f4f2f861ec66ef89813955a591157ec30e4a90186e",
    "installed/node_modules/pngjs/CHANGELOG.md": "c9ca37f02fb7e978034759113d4ee7500932aaa3a02ff19acbca7bf9694ef7c6",
    "installed/node_modules/pngjs/LICENSE": "be75ef59c5cf59715588a17a82dff7dd3e83c4dba3c458676bb9311e05fbedc5",
    "installed/node_modules/pngjs/README.md": "1d90045508b00719a3f9415f8a57cddfba05f9ea51746c48ffed8122ad68bf85",
    "installed/node_modules/pngjs/browser.js": "e21b88288e3df098f476bb3c4d1e8900d3780572e1802c8e301e38674d527f51",
    "installed/node_modules/pngjs/lib/bitmapper.js": "3f2f720e3a2b4e41cdc03e9f58bb1794bec26dcd1b22568e41ce0b84ab20aeb5",
    "installed/node_modules/pngjs/lib/bitpacker.js": "3f7bfabcbc82bedd0cc8551bc210b44dc1fb179fa2ce3b8b1d39fa307d8af204",
    "installed/node_modules/pngjs/lib/chunkstream.js": "43c5507901554a29c5a29e555aaeb3c3987b84fb3aa8c681c1b30794a477aa85",
    "installed/node_modules/pngjs/lib/constants.js": "9e3b4f994ac93751e9ccb4d453e85e4f25a0b086a9f24ec92c7dcb06995bdf6c",
    "installed/node_modules/pngjs/lib/crc.js": "57e2328cfa361fb54f1f4b3a59e071c1ccc864095e4f3759a957cd15aa2a8b65",
    "installed/node_modules/pngjs/lib/filter-pack.js": "500c1b3b34702c895e9e689143f44280687cac363447523679ec13d12bd564f6",
    "installed/node_modules/pngjs/lib/filter-parse-async.js": "328b6173f1a2a4d91425220a0fa421699552f254006a57ede9f4018ced50a7ee",
    "installed/node_modules/pngjs/lib/filter-parse-sync.js": "201a08dfab26a2903c0dabcbdfe0406b3fa33d60f59b591878329f590fac48ff",
    "installed/node_modules/pngjs/lib/filter-parse.js": "b8aad6f29371f5b13b232643781a7c49f7d36d565136ddda1ed7fbaca987ce2c",
    "installed/node_modules/pngjs/lib/format-normaliser.js": "c73989d85bef5d33ce571095bf0d96927261730d8b0f79c9d48f971fcbdd0be0",
    "installed/node_modules/pngjs/lib/interlace.js": "3bb5d57153078ff586667e9a9d2c06db993c8ff1638e0521a9883cdeea6e1e3f",
    "installed/node_modules/pngjs/lib/packer-async.js": "f50df0610749ce7b1a99abbe9e4596df7c16f96efd3848f12dd632b22cb02b45",
    "installed/node_modules/pngjs/lib/packer-sync.js": "1b516238168a42704e62ba44528406188864a6ddda2ae92d1b91e5e078cdaa2d",
    "installed/node_modules/pngjs/lib/packer.js": "b5f9956364c80d67c28d615ace639a5fb4d4d79d3acb235237f3050dca220e03",
    "installed/node_modules/pngjs/lib/paeth-predictor.js": "48555b909af708593dade8e8df75d18ecdffdb6577e362eac01eae357ef1e0e9",
    "installed/node_modules/pngjs/lib/parser-async.js": "a0299cad35220de62b7180b1f984b8f77b4c0f419a580fd3c86ea3b3e971ee30",
    "installed/node_modules/pngjs/lib/parser-sync.js": "266c9fb230b90075022b3f54f5710a9cacb71ca565f83fce66e7cbd1b7e9b507",
    "installed/node_modules/pngjs/lib/parser.js": "574e43fea28a28cc6feb7ab62a480a86bb75411ee4bfaba76a7e9d7310b6e94c",
    "installed/node_modules/pngjs/lib/png-sync.js": "867b1a78dcd3e45458eb4f0af01acd48f38d3a31225bd7cb8dd8ee3966ab54be",
    "installed/node_modules/pngjs/lib/png.js": "e02cecbd36327829758386dc3f0ca4a36a2339ccb5d5e824ca3556e2c3f89726",
    "installed/node_modules/pngjs/lib/sync-inflate.js": "08cb8afb79a4c0ab58e94601dab22261daf6638382b211d6a7f6bfbc16d27a0b",
    "installed/node_modules/pngjs/lib/sync-reader.js": "437a99bf1bf739202ae85c3018cd9174d411597cf55e7064c36976de493368f1",
    "installed/node_modules/pngjs/package.json": "85b17f2f852aece03e71edb4ed4d9fddf6a0a8f0b69ac75d7f00b6592d62d37c",
    "installed/node_modules/proxy-addr/HISTORY.md": "334e0c327b7eb9ead1e05ab99770e1466ab3b21945537af36be7b2aa90fd8c4e",
    "installed/node_modules/proxy-addr/LICENSE": "a7996721249a136fbcfc1c201bcb5f414f38a701d4a24f28abe65e16cfcce813",
    "installed/node_modules/proxy-addr/README.md": "1ecfed574adf9661f916ede92c5304beebdd3effed4d076f543a5e77669595b8",
    "installed/node_modules/proxy-addr/index.js": "aa7efd29bbd61cbcc1bdafde9e674db28ead077864f33bfad3cdd19bb5a3778c",
    "installed/node_modules/proxy-addr/package.json": "b2e305ca817ae4e8b088e07f38c5df1d7ad77aa3473809e4c37a9a1c83600225",
    "installed/node_modules/qs/.editorconfig": "ef991316be3cde9167226a96646b5646378cce9bee1dee200644faa45563888a",
    "installed/node_modules/qs/.github/FUNDING.yml": "367b5d545d7a66684895ee7efd987130e83018491a7b2f72f25c0b062157ad90",
    "installed/node_modules/qs/.github/SECURITY.md": "51e490f9a23ac20c626337b0ef991884f12effb95353c67e56af3a6135fbfbf6",
    "installed/node_modules/qs/.github/THREAT_MODEL.md": "30096370728308e0b709f0b95757a875ff25dba6fbb21a9b473c0c4d687a1e61",
    "installed/node_modules/qs/.nycrc": "7e1e3a52df079fc764989d75b3aaf5228228c841978e0c9201d1f394c1fd2655",
    "installed/node_modules/qs/CHANGELOG.md": "deb4b2bbca3807012f95d72ed55215a0f54876641ee78e393fa0e7540e4b173f",
    "installed/node_modules/qs/LICENSE.md": "e7dc37bf662d7f786efcb46c545615e70c1daf458a38385521c63cf6607cdfe1",
    "installed/node_modules/qs/README.md": "b7664e57027e6672ea217ce50ade87ce42fb9f9556a883758332132263f640fe",
    "installed/node_modules/qs/dist/qs.js": "55bff48a2b2f124093e9c8ffad2c5e1fce56451063f8b2a4eb47dbf4a3f1bcbd",
    "installed/node_modules/qs/eslint.config.mjs": "7ca89b01855fcce5cdcf46d38d5b1e2a2c43d5596f74e7a185b84c01946dfa36",
    "installed/node_modules/qs/lib/formats.js": "d4e3de8b5a4c94865d8acd6f1c7538144732d466769661160bc0bf6ec9db3f4f",
    "installed/node_modules/qs/lib/index.js": "8f4e02eef6ccc43f2b7448c18ae209281c8e9af9807cad491df67450e3817a95",
    "installed/node_modules/qs/lib/parse.js": "bf113b9fc38501af1f3cc030da6acd25ceced148bae74d3bfc7bdea5dc58fc21",
    "installed/node_modules/qs/lib/stringify.js": "684bc3d973bb44b77977814cc1d274bf2be728c8f75f829714723b16a9181016",
    "installed/node_modules/qs/lib/utils.js": "9d02ca45a159ca3794dc518d49fc37df1e3c4e2cdb454347cc32cb93b5a0ce7b",
    "installed/node_modules/qs/package.json": "cf56c0fdeb9588f3708f93c3a91004c6726f67ed7b5123f460a26f49cda79125",
    "installed/node_modules/qs/test/empty-keys-cases.js": "14d3091bdde249668f5d88d61a045185a0d5c2ea376a3211b791a58148475224",
    "installed/node_modules/qs/test/parse.js": "463315c484d5926f0cb4c3f41785f69169c8482f50c0b643915bbf43de7d16ec",
    "installed/node_modules/qs/test/stringify.js": "67f8a9e8f84e866778e7f8f34d265eaa1454ec5498f22e17d0d2b466baa9f77c",
    "installed/node_modules/qs/test/utils.js": "e231cdc48dbf59fb223f3e0eedcfe15e8d4198590e59b02ba982dd2e79d59ee4",
    "installed/node_modules/range-parser/HISTORY.md": "aa0d8d70a8c3cdd30685235914ca2422a4e9fd2fa901b166811fa130d05d3f06",
    "installed/node_modules/range-parser/LICENSE": "f655e6291356ec0de7a8f0e69f294961a2cea86678ec94588be1e6a492e278ab",
    "installed/node_modules/range-parser/README.md": "1fc681010aad8156caf029e4c1a71579f4942ee8d5b1e9e44aed026403e939a7",
    "installed/node_modules/range-parser/index.js": "9cb015c635a47d51e338759b34e08d2665ae8579b597b0f29878ab09e53df589",
    "installed/node_modules/range-parser/package.json": "3461c9c15204b32f459c97920bb678e42341e9e9675e4b748907ce4de740f26d",
    "installed/node_modules/raven-mcp/LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
    "installed/node_modules/raven-mcp/NOTICE": "cf107001d69efdf7db0c77817a6e4b61f1842fa5eedef6f6d443b543bd753061",
    "installed/node_modules/raven-mcp/README.md": "4bbf061ba8e9677b388825b6c385e0d23b467a35512378290a1cb28b717cd86c",
    "installed/node_modules/raven-mcp/SECURITY.md": "264e065d7f068b05900c8669fdc483a4d6f05a4e5693e44e462cee2703ea28f5",
    "installed/node_modules/raven-mcp/browser/raven-grab.js": "2d964ef5e9c22b2f239e5901ecb140705a7a541663c35de8c21bfacfef844d47",
    "installed/node_modules/raven-mcp/dist/api-contract.d.ts": "9294ea8b369eb5fdae8e9c8048ecd8a6624a4bffed6135022e5a2619995e99c2",
    "installed/node_modules/raven-mcp/dist/api-contract.js": "4b09894081076d74f6646025caefb0794f0f0cb847f494398a3c1e660bf5b7b8",
    "installed/node_modules/raven-mcp/dist/api-contract.js.map": "a1ccd7eb80b03f5fa47f811383b918afeb6e1bf672b22d857240ad9199b59336",
    "installed/node_modules/raven-mcp/dist/asset-integrity.d.ts": "74d1391a5a52d84ac215a1f64218623a3b47570aebc77a8e8a882690348db785",
    "installed/node_modules/raven-mcp/dist/asset-integrity.js": "cba5f5d180e662f743b7ea5b575a2cbc70d55bd7311f64a2b949d110b02fecf5",
    "installed/node_modules/raven-mcp/dist/asset-integrity.js.map": "614a421d799b29616807e9fbfa82873bb0de3db1401f1016e193a0899cdc9803",
    "installed/node_modules/raven-mcp/dist/audit-consistency.d.ts": "8aa7d14e53fe65b3f8474c5f4993b1a504627928097b59d018ee8daf2bba3c6f",
    "installed/node_modules/raven-mcp/dist/audit-consistency.js": "9f1b654c2e3221e4a93832a1f4151be6bb8adb81defe2e36e6fbb278ab34b178",
    "installed/node_modules/raven-mcp/dist/audit-consistency.js.map": "b9b2115dab352a04d352874175340df78795965353d7a35c2d484448a7d05d45",
    "installed/node_modules/raven-mcp/dist/audit-container.d.ts": "b483fa0343b70f59dc3ab633ae803030eac35dffd7ecb4b62e7708adafda12b7",
    "installed/node_modules/raven-mcp/dist/audit-container.js": "12ec561672293788f93e69453a43a8ed3e88cf2852e07dfc75b9d56d412abad8",
    "installed/node_modules/raven-mcp/dist/audit-container.js.map": "c10b0d27ddcd5a7c023b6c6106d5f90aae11b39400e06584dfef73c9aeb8ba46",
    "installed/node_modules/raven-mcp/dist/audit-dispatch.d.ts": "b2230197f24613679888888bb7361a1f9b740bc4f9ef951fdae1e424f44347ac",
    "installed/node_modules/raven-mcp/dist/audit-dispatch.js": "fd4898679a1e9afc8d0d2ece20730003786a7ccd4ba90ecb997d010944d7b1ff",
    "installed/node_modules/raven-mcp/dist/audit-dispatch.js.map": "b4960ca6d1d8e2784857c26847b859ac94b76fad78dc30524457353db8c4f50c",
    "installed/node_modules/raven-mcp/dist/audit-url.d.ts": "1c93bd9f63405f146c465d808b841713f664045da6332581a147edbf145f12af",
    "installed/node_modules/raven-mcp/dist/audit-url.js": "6c4548cb91a46ea4c99484ce6de178bfbd504f585c472bed8010afae3325473c",
    "installed/node_modules/raven-mcp/dist/audit-url.js.map": "ba3bf773a878d7d6a083790e76ad19afa91a53dec5b48ee521847c1435d62da6",
    "installed/node_modules/raven-mcp/dist/browser-launch.d.ts": "96c4b8ad7b0dd753d6a86bb18c3389795cfdd8dc45ad553c235dbbadaf79520b",
    "installed/node_modules/raven-mcp/dist/browser-launch.js": "50717db3f60b29c572fd92735f6692ae61cf12280c8a93488ccc3099a4ac66f6",
    "installed/node_modules/raven-mcp/dist/browser-launch.js.map": "7dd657a8303bb6845cb9a259b9d363d8362685350b87bd98ced12795712fcd5d",
    "installed/node_modules/raven-mcp/dist/calls.d.ts": "32298ceab310cf9bf130f5e0ce2b7fd5dfd81f1eac6061a887bf109b96278cf8",
    "installed/node_modules/raven-mcp/dist/calls.js": "d68aa086132c28f7cc0823cdb17bf2ded7f110779d56df657bc10e67e9bbc78c",
    "installed/node_modules/raven-mcp/dist/calls.js.map": "0d9cf9cfa14f6e589342070c812cc0524c8695a57aefff8c5b43988490e32502",
    "installed/node_modules/raven-mcp/dist/capture.d.ts": "0e78a820416b6148c5890b5ee02f33d2f4507d2de7242774b54982b811e85dbf",
    "installed/node_modules/raven-mcp/dist/capture.js": "67bac3245ece2b95adb9325eac713a051d0d07eb0e39a1d58cf32643f6e0c3c9",
    "installed/node_modules/raven-mcp/dist/capture.js.map": "a3f4ad4e72e0a7483136b3bae4fee8335df4d1df0232bfd9d4352a5f4f28df73",
    "installed/node_modules/raven-mcp/dist/compact.d.ts": "0b36951e7c149d8cca615a5f97dc51f7da284da40a02634187cbf7a7ae101a9b",
    "installed/node_modules/raven-mcp/dist/compact.js": "5dba0488110540b539c61720b4f8327f33bff897e46f1643521e9359017afc72",
    "installed/node_modules/raven-mcp/dist/compact.js.map": "a902dc5454b713560d3ab545b60ef7614be13331713230c5d25df59d4e3e49dc",
    "installed/node_modules/raven-mcp/dist/content-audit.d.ts": "1e51bb0469915cf6f77cf5ef5bbaa71a90a669a14cd977872fb199e87e173f3c",
    "installed/node_modules/raven-mcp/dist/content-audit.js": "5cb592132ccaa21aceed22f28a9c4935ee904d34a8a1215c0388bc298758670c",
    "installed/node_modules/raven-mcp/dist/content-audit.js.map": "3f5e7bb76cefbca93c7db2df8230409b684632a702311f77aa8574a8dea1762d",
    "installed/node_modules/raven-mcp/dist/contract.d.ts": "2423b13f89e3536c6193166d51c14b697af2db411d091f156e7fe1924a045f36",
    "installed/node_modules/raven-mcp/dist/contract.js": "6ac0b4751d264cbad498d1cef284e51f164517b8a6818467d802422571556089",
    "installed/node_modules/raven-mcp/dist/contract.js.map": "89912f455d6d414a5cc6666d730c2d9dd2bf5933b1e7220e0877f4634f40cd3f",
    "installed/node_modules/raven-mcp/dist/contrast.d.ts": "e35b8742b2aaacae8f6e6b5ccdb7bbd52bbd6417907feaea85227f863012601b",
    "installed/node_modules/raven-mcp/dist/contrast.js": "870482e20ee38e0622383aab31cf15091818efa828f85565d217c05b1f903c05",
    "installed/node_modules/raven-mcp/dist/contrast.js.map": "bd9223a9ad9d185628f26d36ee21791e1bfb5025559c70632a8f85013c0b9cef",
    "installed/node_modules/raven-mcp/dist/decision-graph.d.ts": "9c2e2311dfd13e72c237ce1e12e0bd7c910cfef49af22ccbaf377b53cd3f3e71",
    "installed/node_modules/raven-mcp/dist/decision-graph.js": "4519ec8e5f0a50e96fd34893db10992a8f4c7e0c3eb51188fd8ee6fcc8a992ac",
    "installed/node_modules/raven-mcp/dist/decision-graph.js.map": "bc8632a8ea3714ed0504e0d56af8483a1c668d213494fad69da8397a58af1335",
    "installed/node_modules/raven-mcp/dist/design-gauntlet.d.ts": "796270a8fffaef0d51874a52a06fdb1037b80b9cd32bf25f08925036630588ef",
    "installed/node_modules/raven-mcp/dist/design-gauntlet.js": "392f1ceffb18c99e945533bef24ab11cfd0768837c143239dc07136b5029b691",
    "installed/node_modules/raven-mcp/dist/design-gauntlet.js.map": "f0a6f3792427ad9865ed22dc7c716692ecdc58295b78e2e3190b521dd8e90571",
    "installed/node_modules/raven-mcp/dist/design-review.d.ts": "a859b752dc99b7484fdc3796f27700564e558961f0c3969e2142413559d9a402",
    "installed/node_modules/raven-mcp/dist/design-review.js": "f3d785a93536b352ac456cdb32ceffa77682bbe7fe2c0cc7e09f82bf91db4fea",
    "installed/node_modules/raven-mcp/dist/design-review.js.map": "4effd67874f367c6c8bf43735e5d30f7cea473d77f91a04f39759ac44711b5fe",
    "installed/node_modules/raven-mcp/dist/design-system-diff.d.ts": "0f36a53bcca5da38077879538a93991119fe72eec7b0ae96862781a93ed3bcea",
    "installed/node_modules/raven-mcp/dist/design-system-diff.js": "87a35db9c96b667c16ed7ad22e3159e52ee0d1657a4ec54f766164c126604bed",
    "installed/node_modules/raven-mcp/dist/design-system-diff.js.map": "755be375a4c135e27904990915e08e8b334339c430261958fba896dab2adbaa5",
    "installed/node_modules/raven-mcp/dist/designmd.d.ts": "ddfd80b3acb9c325b9948ce229259115ee4a79eec98d214a4e4b1d5b6041e786",
    "installed/node_modules/raven-mcp/dist/designmd.js": "5caad1d6e4f80c0995ff3b39b5f4eaf7adb4c74baa83bd5b1e1060e742acd362",
    "installed/node_modules/raven-mcp/dist/designmd.js.map": "96678607460ab41bafe3b6b878332c0d84c56f342a48a92549994f59b57b7562",
    "installed/node_modules/raven-mcp/dist/device-frame.d.ts": "f939807541144851ef22cdbca0d2f14f080087972a06704fd3c2976cf32cb520",
    "installed/node_modules/raven-mcp/dist/device-frame.js": "137697dd912ccb73b98c47a4306a140ba06d9b24c3bdfab31ebb0a53cde6e491",
    "installed/node_modules/raven-mcp/dist/device-frame.js.map": "d15d9f7f9312089792b9ab7736a8c26720afb577c0cf65cfe7537ec0319ebac7",
    "installed/node_modules/raven-mcp/dist/grab-attachments.d.ts": "8a2eda54539883ee63ae29eacf5cd269cc9aea100d6dcf1734234cc02a3639c5",
    "installed/node_modules/raven-mcp/dist/grab-attachments.js": "95a123e00e989c2bb8aa0f8faac42b29f2cd0bd21c633db21a87d3c85c69443b",
    "installed/node_modules/raven-mcp/dist/grab-attachments.js.map": "57e3dd69d4a962a5ddf6c77cb292718aa8f1cadc4986e4cd2b11d6bf547f9d91",
    "installed/node_modules/raven-mcp/dist/grab-bridge.d.ts": "d9555111935542873376f865cf91ee2d6c38c008edadc4d12c578adeeea172cd",
    "installed/node_modules/raven-mcp/dist/grab-bridge.js": "c5fa7f6826a52bd0b4ad3dc1f0c858176c372fd6f19372cebb45a6c120ad804b",
    "installed/node_modules/raven-mcp/dist/grab-bridge.js.map": "c54a729dd157b78023a74657b89cb6f778f4d2669da6568a8e4c81fb9e87ef84",
    "installed/node_modules/raven-mcp/dist/grab-inbox.d.ts": "b01393ce2c2a203c8c6b0c0872aa7c1d576987ae4bc939bcf49e2177dcdf496b",
    "installed/node_modules/raven-mcp/dist/grab-inbox.js": "0f92dc3f3e5b7299ae25097c322c7e51cbe8ce6f5e841f6ba02d1028c892d06a",
    "installed/node_modules/raven-mcp/dist/grab-inbox.js.map": "38e7ec08e31cfe4689fb53dce6aed32761cd23fcf807f39b369665a96d713006",
    "installed/node_modules/raven-mcp/dist/image-diff.d.ts": "de7d741bb16d91079ce7bba33d989652b6025239e81344a9a5a8bc40039a15df",
    "installed/node_modules/raven-mcp/dist/image-diff.js": "802b4e87e20f3059ed7b16b8a90331c517d4087c16d976efae09726d953ce0c8",
    "installed/node_modules/raven-mcp/dist/image-diff.js.map": "f4f9ad2d2f5affc669e9af0af4c13e1d207cb3b6cc796385dd9fffa53c2e0fa3",
    "installed/node_modules/raven-mcp/dist/index.d.ts": "2d8defa356e4f8cd052803cd1f2b6cfa204413ba2efa564752d81e2e4ef37adf",
    "installed/node_modules/raven-mcp/dist/index.js": "68933eb3feccaed1c42f16a488d1b4f679aa7ec273010375b1b0b7939623c18e",
    "installed/node_modules/raven-mcp/dist/index.js.map": "f7e3c2c296c6df5981864a48928f7bd7359a7a1a98c474ee4ec9ebd3e2602ba7",
    "installed/node_modules/raven-mcp/dist/ios-a11y.d.ts": "14825d8d59e33a3da0e13d8cc9c79a49e490f81743db1c7b7378f93d3f3b368b",
    "installed/node_modules/raven-mcp/dist/ios-a11y.js": "602f2a9325872604f7ddc8c7a8ab69fea0b5d663e814b85668f2fb9faa6e65f4",
    "installed/node_modules/raven-mcp/dist/ios-a11y.js.map": "1f0133bf87bfe6befd6ab2a499fcd6bfe3320bc9188a169e6a7b7f1dee8b32ce",
    "installed/node_modules/raven-mcp/dist/ios-capture.d.ts": "d751fe634374019f8e2fca641c71d645039225a401fd255cc441654439b75542",
    "installed/node_modules/raven-mcp/dist/ios-capture.js": "8b7f5416c7aaa4c44af625a91a32cf9d3e06f853dd789348213e09dd8ed7b9c5",
    "installed/node_modules/raven-mcp/dist/ios-capture.js.map": "19c70d5c93e706902c8087bc86d5aded93c639afd6025e80b63c858e863a9a9e",
    "installed/node_modules/raven-mcp/dist/layout-orphans.d.ts": "03fcf6007f4d997ee453f5664d1f520c760771525070bfc1847a681852a651f1",
    "installed/node_modules/raven-mcp/dist/layout-orphans.js": "9cfa9bb156ea82df8a78cd50dcc2c1a63f6f746ec785e0ba61f55b03be43f721",
    "installed/node_modules/raven-mcp/dist/layout-orphans.js.map": "37ccb6983cdbe072f386c160d82f14a554a098bc450b30975066f5d205cf8bd9",
    "installed/node_modules/raven-mcp/dist/mood-board.d.ts": "9ac2215652f5b8957aae2ce7daa15c253907447ee4174bccec50e87b1bd2bf84",
    "installed/node_modules/raven-mcp/dist/mood-board.js": "c8c9b7480554f127fd180cb87963d422a4ded951de027af7405cd102649fa67c",
    "installed/node_modules/raven-mcp/dist/mood-board.js.map": "4ddd506dcca54bef0b48e4831767a9ad887d9ea27dae3c8bf0a07503598e5ccd",
    "installed/node_modules/raven-mcp/dist/page-checks.d.ts": "292a9d66e36788df83b09835149ba14cbd4692741c50ddcb17b2bc29c38777a7",
    "installed/node_modules/raven-mcp/dist/page-checks.js": "796291ff04915b18afdb18d371da174eb133478180ec490253f8d0c4ee572861",
    "installed/node_modules/raven-mcp/dist/page-checks.js.map": "1a05fbfb9e81eca13849269387e6681e1c79c47ace3cb39a188b30a70263a661",
    "installed/node_modules/raven-mcp/dist/parity.d.ts": "eaa10feab6f99a256f35c1d2a926019afe9ab1906f3fc75472fb72f56e2122b4",
    "installed/node_modules/raven-mcp/dist/parity.js": "bdc767030b72dd8814aa4e4169a8c220aa654b71897c4f8f43bf9fe95ac658f5",
    "installed/node_modules/raven-mcp/dist/parity.js.map": "019e4d9c52ff475deead67716c9982d55c1afd7a9558263357fb6bf5f5b6ba90",
    "installed/node_modules/raven-mcp/dist/port-fidelity.d.ts": "e490f5011f9556f0a7a2682d63ac6bb2a921378b9a66a86361abcb6adb49cb82",
    "installed/node_modules/raven-mcp/dist/port-fidelity.js": "79140c29d8473ceb5278916bcf4e9ff03c675de5f19aad55f83338b47bfba60e",
    "installed/node_modules/raven-mcp/dist/port-fidelity.js.map": "0ec5ce24c0a94a436d9e7fc32a8975a7b2ca9f06ab915d9882fd1aff5501b051",
    "installed/node_modules/raven-mcp/dist/reference-blocklist.d.ts": "8bcd1b4b283d5ec990c6a0d27b7f460baa09dd10cf761cf897d6effd130a41c9",
    "installed/node_modules/raven-mcp/dist/reference-blocklist.js": "c390dc1c4ea0fef2cacf70ce44d4e132d0ff23512afe55b3828c58db649ba95c",
    "installed/node_modules/raven-mcp/dist/reference-blocklist.js.map": "41c897bbed637cfdc93c54c31388aca6cda3f9c70a9385e92ede1571a3a02040",
    "installed/node_modules/raven-mcp/dist/reference-store.d.ts": "aeedc5617e058b02566952ff349b70a2ef79319697783247b9af31457e3d2362",
    "installed/node_modules/raven-mcp/dist/reference-store.js": "62eae251b304efc83f022254a103a081e41e0781209b2f781a8302c6bd37ce53",
    "installed/node_modules/raven-mcp/dist/reference-store.js.map": "e725f2e411e64cb1fca6874091bbb76f433de1225b2c546531fa6c5788672ece",
    "installed/node_modules/raven-mcp/dist/reference-taxonomy.d.ts": "1457c654f3de01505a924d16f36cbfb81874cdc0017bfca5643da5548ca9e813",
    "installed/node_modules/raven-mcp/dist/reference-taxonomy.js": "82a4f0445880ce3621369b62ee4a4cef092401dc491a55805a470799769ba07c",
    "installed/node_modules/raven-mcp/dist/reference-taxonomy.js.map": "dd762ae59ec4bfc78ffc45bc37d6c59b11f7dd104804ed76bf93e87f48ab24e0",
    "installed/node_modules/raven-mcp/dist/reference-thumbnail.d.ts": "7595a1143e8d9ba20971f4f1721ab248d3629634f4eb195f60625ec5562136d4",
    "installed/node_modules/raven-mcp/dist/reference-thumbnail.js": "ad0cc22dd1d3d06b5f0d43e5ef8bb3748a168ef2c0996af5ef96e61a173a8b4f",
    "installed/node_modules/raven-mcp/dist/reference-thumbnail.js.map": "0b3ad81f4ae53172310faa1f392f4b28813ede2b09d65db3446910cf473612b9",
    "installed/node_modules/raven-mcp/dist/reference-tokens.d.ts": "4d5d4b9bdb20caf7d1b91f45765c591a320cc2a7f7c2638f157cc01c7deeb0db",
    "installed/node_modules/raven-mcp/dist/reference-tokens.js": "c3ff3e3b921b1e69b1bfc6651c81ad4a536b3affc80a85516560cb2b14668522",
    "installed/node_modules/raven-mcp/dist/reference-tokens.js.map": "21ea6b0cbc6d50fc21dffdf03ebb40211cd0ed9d3f34a937d8366f1bf18f30b5",
    "installed/node_modules/raven-mcp/dist/remote-runtime.d.ts": "d8926e5c517abdae97e06ddd2ba8252212a3ef7b376defc10b00d6926962d834",
    "installed/node_modules/raven-mcp/dist/remote-runtime.js": "a747b751cd284854eb28bdf7c57f786e8cf290c6bbfe292e9ba4608493dfb806",
    "installed/node_modules/raven-mcp/dist/remote-runtime.js.map": "fb32b35f406a8a1c36b9ac7b5a572784e071d12b1fce5ff9f64470bd75e532b1",
    "installed/node_modules/raven-mcp/dist/remote-url-guard.d.ts": "649da281d817fd6ffd5b80c454fb5d7e8d641c108f164ab44ec78b18e02aa9ca",
    "installed/node_modules/raven-mcp/dist/remote-url-guard.js": "923b5afff7c3edd6bdfae69c75dae90073bc17858cf26abdcc890c1258b19fe9",
    "installed/node_modules/raven-mcp/dist/remote-url-guard.js.map": "f3cae3e3c882a8577b641d85c6c1033e06e1256603c0a6b81b7bc1dd6ab94d6e",
    "installed/node_modules/raven-mcp/dist/responsive.d.ts": "9a58442fcb225556d5e69ec3d0cb1446e5fcbe2145e3c252c310f572f8c11a25",
    "installed/node_modules/raven-mcp/dist/responsive.js": "18bf396d63061f57eec0d2d438d970377d09ed7a26a1f9e2c9b793ec2f710d6a",
    "installed/node_modules/raven-mcp/dist/responsive.js.map": "7038deffc1121caf000641723fbe9215c51775c1e0d9895ad71ef00d46735130",
    "installed/node_modules/raven-mcp/dist/score-page.d.ts": "74e5846310e806a0163c9dc1a91870431597dc9452e9146e0cd9a63d056aca41",
    "installed/node_modules/raven-mcp/dist/score-page.js": "f4a6f2cac79fac0411b099188e8e89a3b98cf70e81ce4d6184d15c081567d61f",
    "installed/node_modules/raven-mcp/dist/score-page.js.map": "503e21dd8b1558fe39c1e08f07235b3ef868508211ff5b4d56d942fb48d68698",
    "installed/node_modules/raven-mcp/dist/talon.d.ts": "305c54458c7a5cec9ca9d531010ba4e149d3eb6e94c30d837d088dc03ea46c35",
    "installed/node_modules/raven-mcp/dist/talon.js": "083be16f6d91f2c6255f2142b17a3dfc1b2a33ae2c6401a8cbe967a269a83af9",
    "installed/node_modules/raven-mcp/dist/talon.js.map": "d068ed777bd36640e6eed56c4b2aa820570774f68bd5468b9b97e743e831c3d5",
    "installed/node_modules/raven-mcp/dist/tap-targets.d.ts": "ef10191fa9fcc2abb0670671d4e66b2ab102e3baa689e80f3636096625a62373",
    "installed/node_modules/raven-mcp/dist/tap-targets.js": "e08e78ca7112ca5a7e7b52d2a18ba5901031fc382922f9b7c50298f40ac3b745",
    "installed/node_modules/raven-mcp/dist/tap-targets.js.map": "d8cf9d89aa8e73102c73dce6443d8ec05202421c297c92dfa43bbfc9f82d7385",
    "installed/node_modules/raven-mcp/dist/taste-fidelity.d.ts": "1a7aabf83ed34ef0d88c19b6960a40849aade13ee54a03d9f73d780f0a6d99c8",
    "installed/node_modules/raven-mcp/dist/taste-fidelity.js": "faa2117bb67b1e85e6046b31ebf1f172b85b71c1a0be9a4552b228f5f8e3f73d",
    "installed/node_modules/raven-mcp/dist/taste-fidelity.js.map": "e163c72ef1bf5dbdb5eeec7815c1e74fe49df7f78eb2ae2bb74e5213ecd5162b",
    "installed/node_modules/raven-mcp/dist/taste-portrait.d.ts": "bc5d9d9251b248033feeed47254df30f31a60ba07843dfc80286bc77bd72a401",
    "installed/node_modules/raven-mcp/dist/taste-portrait.js": "8d119a271791e2a54aa1530798659464c9dd296fa2ee4a4a74982d20d1421971",
    "installed/node_modules/raven-mcp/dist/taste-portrait.js.map": "44a02f79c0b742b34b21ee8b98ed5d90ecc9d1fed3a330134651167d8b20c4ad",
    "installed/node_modules/raven-mcp/dist/taste-store-redis.d.ts": "3b46cce15571a015ba2c618bbd8dfc6a0c2bd984e995348ecc2330dded1eccc2",
    "installed/node_modules/raven-mcp/dist/taste-store-redis.js": "c3b80b4385063fa652aa03e720fe5732abb9cca9ee1af1c68df8acde3fe361b2",
    "installed/node_modules/raven-mcp/dist/taste-store-redis.js.map": "1aa0017421e8bdfdc59250e45aff7ac36c91a7980018950fea094a6d2b5a1b79",
    "installed/node_modules/raven-mcp/dist/taste-store.d.ts": "e460f201421512ef91fd667be10e1e007f81e86fdb0017589ed88429a278fef4",
    "installed/node_modules/raven-mcp/dist/taste-store.js": "3b688b444d1cc87e58fb87a740fbd8671bd83d546a0a2c428d9b1a0ecbb6ed83",
    "installed/node_modules/raven-mcp/dist/taste-store.js.map": "995eb0e892543da43b6962769100af56064905405c5a58669c2dee8a1dbf6646",
    "installed/node_modules/raven-mcp/dist/taste.d.ts": "9e9224ebe88dbcac3a5c066550f2428ccf008126ea5b4d4ae58e82ae219a20dc",
    "installed/node_modules/raven-mcp/dist/taste.js": "2d13027d626839b012ab6b729e76c14d043bff6205e52e20ccf3c07e5fd276f0",
    "installed/node_modules/raven-mcp/dist/taste.js.map": "6150549e0d189d8914c7a244886d099f0f6a66dffc0ea744a3660a07113c8557",
    "installed/node_modules/raven-mcp/dist/typography.d.ts": "a8c5cc9e3655b6e4efcf7f5978e4bd959737d6b92c62ba8b69f926a616114b88",
    "installed/node_modules/raven-mcp/dist/typography.js": "9be1409291831a8bae597ef833cd4000f6ce45ad45c0f398287ead0b07ca4304",
    "installed/node_modules/raven-mcp/dist/typography.js.map": "22f594a45b4a6fa9c92fac78169debb01030d35068dfab9aa0a942f91c991cdc",
    "installed/node_modules/raven-mcp/dist/user-systems.d.ts": "053a485ce1745f2a6b1a23b1e8d139c75af1592e27b7988c086b3a0b949226d7",
    "installed/node_modules/raven-mcp/dist/user-systems.js": "50322c8e373bb5da34d149866bcd63a1d853de864ae7f06850b9d3de48269881",
    "installed/node_modules/raven-mcp/dist/user-systems.js.map": "6f782f4cfe728fbd70dde8cfcdd62b16faab9d72005b9ef35dd6649e60baaf3e",
    "installed/node_modules/raven-mcp/dist/video-playback.d.ts": "d08605a595cc089d8bdac747791923cfd27716adc8d2da5a204a07eac9abaeda",
    "installed/node_modules/raven-mcp/dist/video-playback.js": "0215121e9e4962509e3fc591e9bbb9acc101f33feb3fc764d8e719c64733b18e",
    "installed/node_modules/raven-mcp/dist/video-playback.js.map": "613c82f5815afdd654491155e6d00a2369d865c11ba2e0c0b53f8120a4112d5f",
    "installed/node_modules/raven-mcp/package.json": "851c403dc87d45fef6647962bb576804162bf74191639915d24e13ae95bea907",
    "installed/node_modules/raven-mcp/scripts/AccessibilitySnapshot.swift": "2826d41883aec03bb49a9116d8ef49014c1aa65ad45b39d6afeb70d77cf24abf",
    "installed/node_modules/raven-mcp/scripts/ios-audit.mjs": "05788dfb93b65c1388a37d12b22d49c3562a529bd2c4437b6d4b875123cb12f6",
    "installed/node_modules/raven-mcp/scripts/postinstall.cjs": "7a50f0155e215c2f0e9fc75ee7b4a4838fe3321f55b5ca7847de572bd1e0db40",
    "installed/node_modules/raven-mcp/scripts/raven-polish.mjs": "735f1a4a8a0620851856dbeb35fe3bcabebbc34205c4728c23ecfbb9df3c4534",
    "installed/node_modules/raven-mcp/scripts/rn-audit.mjs": "9c17593971de257a480b590e18b279c6076f98d85ac95e1c01d4aeae5b34c940",
    "installed/node_modules/raven-mcp/scripts/sync-codex-approvals.mjs": "f699478099113c0802d8f46ee39a0636cb7c233aaf551f364bb5a9b1063a196a",
    "installed/node_modules/raven-mcp/src/data/brand/principles/brand-as-system.json": "bea02d7c4a018d2a7f87690196f24f8c7c9be01dd9b048560c1decd2c849955f",
    "installed/node_modules/raven-mcp/src/data/brand/principles/gradient-usage.json": "0099d61e06d6433e29955278e2166c8d7941ab62c17412da4d0f91c43edc9649",
    "installed/node_modules/raven-mcp/src/data/brand/principles/imagery.json": "cbc91b2010549098120f8b85108b3d70cd733fa864ded5232506819c0b8b2299",
    "installed/node_modules/raven-mcp/src/data/brand/principles/logo-usage.json": "d4614917b37f9043856faa85b84ab507bcb1c8883d24d553dd91695cafa4cfd2",
    "installed/node_modules/raven-mcp/src/data/brand/principles/system-thinking.json": "4f8cdc14a7eb68dc9e5bfc9ebe7696bf337c001f8f1e0619416b98a455a0b639",
    "installed/node_modules/raven-mcp/src/data/brand/principles/visual-hierarchy.json": "ef55f68f2040971283291b709297762d9ce7f24f6135aa48f825ea1ff53e7fce",
    "installed/node_modules/raven-mcp/src/data/brand/trends/2026-current-trends.json": "a48cb4e7dfe768c68e967bd09a4de0d2cf50a636217b493bde68730ed64834ab",
    "installed/node_modules/raven-mcp/src/data/business/growth.json": "6834294cc530e9006fe1eca6890d24024a999aa6846059b3f297913aba4f15d3",
    "installed/node_modules/raven-mcp/src/data/business/metrics.json": "8aed8173dfa173005cad654717a51c68cf7e1727b2314ea78b5db38754c415d4",
    "installed/node_modules/raven-mcp/src/data/business/monetization.json": "9a7d28728badaf51985a0b04792b23bb8639af5b0f642404c4a82da3bbb631d0",
    "installed/node_modules/raven-mcp/src/data/business/onboarding.json": "8d0c26dd5850fd2f2854f05ace52809a2749bc406570cfa8245eca0dc1669cf3",
    "installed/node_modules/raven-mcp/src/data/business/retention.json": "1845f65e3c302252a988f7ab95f96029d81930e912c9221b748e48dbf424a5e6",
    "installed/node_modules/raven-mcp/src/data/content/patterns/empty-state-copy.json": "1c1445e97aac4b8c5bdb22dfec2e657768b8d50a52f34c92f356db7b184d99e5",
    "installed/node_modules/raven-mcp/src/data/content/patterns/error-messages.json": "3f34778da3f637d4b2344bf4d2ee21c70f01a041459776fc4cb000cb71c64d27",
    "installed/node_modules/raven-mcp/src/data/content/patterns/form-validation.json": "fb53fea003d6c331a8979b0b7399b24292e10caf24f303a2f89b0591ec1f7e16",
    "installed/node_modules/raven-mcp/src/data/content/patterns/notifications.json": "91a0ca7323c0de676aad0f96be21a2e9d81e0d41dfac9de5fde7dc7ebfa07882",
    "installed/node_modules/raven-mcp/src/data/content/principles/ux-writing.json": "28ce68226953755c002a4c33d4fd031ec988579d2c25dfce19c7e9b879d8cc65",
    "installed/node_modules/raven-mcp/src/data/content/systems/atlassian.json": "f9478b4b36891330cb000d38f57ad5471d8d59611370a28a9f2a5307616d7959",
    "installed/node_modules/raven-mcp/src/data/content/systems/conversational-product-voice.json": "2d44530e59f0cdd01af63951d1dc96beb45c8fcaf2f4e0ed753273d1f0561dd4",
    "installed/node_modules/raven-mcp/src/data/content/systems/gov-uk.json": "ef9fb6b482e0fd24c492c3636e9a837fee9d4a5f5ccd51b1e6fcb1846dc3c880",
    "installed/node_modules/raven-mcp/src/data/content/systems/registry.json": "984f5ef730653d98465c6588bd30398fc874a0fce106ebde4c5838932d807e95",
    "installed/node_modules/raven-mcp/src/data/content/systems/shopify-polaris.json": "9ce71150157343cabbb65869c0976157f6ad4686ffa9ac31af1567fb25c431aa",
    "installed/node_modules/raven-mcp/src/data/design-systems/raven-canonical.components.json": "5ba70425d6e783680db38935a4095fa00cea3e0712447e92893cfec4baba703a",
    "installed/node_modules/raven-mcp/src/data/design-systems/taxonomy.json": "893c73d3ff2a2797663d397ee4edf7918a5ef95a7c820a1130fbec70c4d6c1dd",
    "installed/node_modules/raven-mcp/src/data/patterns/cta.json": "d74cab1d7896849812da2a74ff8d113f36cfa42e5597f6de2bb992864e9f519f",
    "installed/node_modules/raven-mcp/src/data/patterns/dashboard.json": "1c556b6753854c9b586d1d067422c9b0e17a89fb3fefbdb9ce1b190c6960811e",
    "installed/node_modules/raven-mcp/src/data/patterns/dropdown-menu.json": "7a4eef0e78b1962933c8de63ae423ed5b4861f7d29266468b711d008b31b6aa8",
    "installed/node_modules/raven-mcp/src/data/patterns/empty-states.json": "e68dae25b13776c01fdf8c389c68312efd00e43d6909bfa3530e31fadab837c3",
    "installed/node_modules/raven-mcp/src/data/patterns/error-states.json": "a489b296d3cd1a2c82bf283a2ebda516467e837fa9f581c9d71687e17d40d6a9",
    "installed/node_modules/raven-mcp/src/data/patterns/forms.json": "1b4b2853f510cf39580e6e7682364276d8efc3488a13ee36b4e15dcb597baf25",
    "installed/node_modules/raven-mcp/src/data/patterns/landing-page.json": "91da4cd917729f309d4362aaf0b9d009d7d7f2eef3a8136f48db6c322666f4e4",
    "installed/node_modules/raven-mcp/src/data/patterns/loading-states.json": "090fea394c32d2eae94249bcd66c7f522cb89a66eceaf6f33a1aaf08af4b5fe8",
    "installed/node_modules/raven-mcp/src/data/patterns/mobile-conversion.json": "0464d690ac08d245e410da65124b668e387d4abae206b307a0c2d079b12525a0",
    "installed/node_modules/raven-mcp/src/data/patterns/modals-dialogs.json": "8b2474927b89f3c9eec25b87f9e495f1f10bb2f86d7be2a9fd34392c83a56580",
    "installed/node_modules/raven-mcp/src/data/patterns/navigation.json": "068953b35d4f1c62c5e0ac1ee7edfd1826ac5dc0b87abefb9e956587a638c036",
    "installed/node_modules/raven-mcp/src/data/patterns/pricing-page.json": "0db396cc3414fb55b7fd7e6256ac9d672ef35f8ba7afa4d2474608e30dc2667e",
    "installed/node_modules/raven-mcp/src/data/patterns/signup-flow.json": "05953e0309072dc98419876dc88176eec17cd99517615504e9dfef95a0abfcd7",
    "installed/node_modules/raven-mcp/src/data/patterns/social-proof.json": "2946b2973a826e8574b11b4da65d2b85157992caac61022c768644394bbc7b9e",
    "installed/node_modules/raven-mcp/src/data/principles/accessibility.json": "62b589882b6944a76ac0f40214d7baed9d13b9e3daf1efefa6b3ecca5ba1273c",
    "installed/node_modules/raven-mcp/src/data/principles/color-systems.json": "4d04c0a10057e437fbdf472e6beaadab9bb54db16d6deb48b72497dbab9d4c95",
    "installed/node_modules/raven-mcp/src/data/principles/color-theory.json": "0587e626fc23eecf97b81e5873d883eca9003445456ea5f47603b39f1294ee8c",
    "installed/node_modules/raven-mcp/src/data/principles/component-architecture.json": "2c9767c587818159d3710f2b72c655fe8a4ae79d2ff0f6be0fbb36b761e48c59",
    "installed/node_modules/raven-mcp/src/data/principles/d4d.json": "c72c3f50ff6f02b38d883eed7d6c3a9a1b952ee02234be467dd37c6584479d1d",
    "installed/node_modules/raven-mcp/src/data/principles/gestalt.json": "6e98847e37de7118a9a7c890280a1fc0586b505e63d7bb84e112177d68deaf29",
    "installed/node_modules/raven-mcp/src/data/principles/laws-of-ux.json": "38f6fd3418d9adf70d237e4d9f11af768af4c8180637afceeab09d5f583f3511",
    "installed/node_modules/raven-mcp/src/data/principles/mobile-ux.json": "0be74d878cf7b4c0b5a41ff1c659fb2a779fe7e677fe93153aa71ed7da5e880a",
    "installed/node_modules/raven-mcp/src/data/principles/nielsen-heuristics.json": "aaf922c0c13e4515819f4fcc29b7580561acc7914702c7ba7c16a88bef618a61",
    "installed/node_modules/raven-mcp/src/data/principles/responsive-layout.json": "ef57521f5d13c74326dc1796d84536612cb12aa5bf3450d792ecfb5f5dfbb532",
    "installed/node_modules/raven-mcp/src/data/principles/spacing-systems.json": "c282c8f467adc5fb885fb45a3ed22dadcbeb6515615c1c9706582819fd63500c",
    "installed/node_modules/raven-mcp/src/data/principles/typography.json": "0957a9c82acc8b3694a29812624b367895acdc5d87c414ce4f3838b6199c1011",
    "installed/node_modules/raven-mcp/src/data/research/frameworks/metrics-frameworks.json": "000cf7f7c9ae6809ab1ba5e4db8e214825b37ca4d0f5ec99d8f506c16749bb1a",
    "installed/node_modules/raven-mcp/src/data/research/methods/qualitative.json": "097465b4432d1c8e7aa40ed09ea33dd04425550b7ef4d4b46bdd7a59c491c77d",
    "installed/node_modules/raven-mcp/src/data/research/methods/quantitative.json": "b453566aed5efccfb3961f0d4371bda82b564708c7e0548ceee13e7cc02bc595",
    "installed/node_modules/raven-mcp/src/data/research/methods/usability.json": "eaaabc66c854d4a73e44523fe011ea9aba569ac32e120140e546024e58b33401",
    "installed/node_modules/raven-mcp/src/data/research/principles/research-fundamentals.json": "d2943df10482e174dd45a06e38c5e1924898d3d09dd948f38ae9d8fda1cd7852",
    "installed/node_modules/raven-mcp/src/data/service-design/frameworks/gov-uk-service-standard.json": "5d1d614ddd84de5b8b240fce47c4161d240df4b184e5400f8d8d0283bed4d8e1",
    "installed/node_modules/raven-mcp/src/data/service-design/patterns/human-handoff.json": "435da020e3bdad802103ddcdeed5dbf6a2d3bceb95390e598b1df2ddfb6f3aa6",
    "installed/node_modules/raven-mcp/src/data/service-design/patterns/moments-of-truth.json": "1daf5f7e3c832377b4edad55074b232834e2d7f3bc987fa4d2ce41e9c6aab950",
    "installed/node_modules/raven-mcp/src/data/service-design/patterns/omnichannel-continuity.json": "5b29af90813157ef23cecd22295487b4d6e013355eddf79e0290fbb9cf0896f7",
    "installed/node_modules/raven-mcp/src/data/service-design/patterns/service-blueprinting.json": "414fbf96a571ed3be196190a45f528a0cfe744c60b89e1203d75a7933150ad0d",
    "installed/node_modules/raven-mcp/src/data/service-design/patterns/signup-as-service.json": "10cf3b269d5c48b0db6207aaf693f9b0d2c7498066aaf8fd5f7d1e7dfd3aa919",
    "installed/node_modules/raven-mcp/src/data/service-design/principles/service-design-principles.json": "82c1f2789b7d16d7c6981f0bdd98806940d6bd7a1c157d9a84ab08afd9e1a8b9",
    "installed/node_modules/raven-mcp/src/data/tokens/registry.json": "41ae1709f3939f27bcde4b5009d8bcd571c7ae770c0ecc5e67a7e9073a911b4a",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/airbnb.json": "16c9700788dbd802d976be330f2074a48b8320c00a3351c4f4a5762047acc48d",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/apple-hig.json": "c9ceccf92c1fd21d48234993bfb6644bfca4d7a31fd377cf4bab84dec422c528",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/github-primer.json": "01c338a772616cfb3d02c1ad92b9b7c45bab3d76926ebc3cb5ab2574b7af9c60",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/linear.json": "406bf2b5bb6cb823546551b8a3e197aa15d912fc2dbd35f843b40930b223ee3c",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/material-design.json": "d619d18d6e15455f006ee1ca27301bfdade6f9fbea85e55ee0ef437ad05124a2",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/notion.json": "c01ea2cf79fcdaaffc0d4da983b74e9521509599440132f5ea263e385c7c8506",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/shadcn.json": "fbb8b34a2cf20bd937ee18de4fedf0b3e8bb47bde6f6bc63660c0aea83223029",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/spotify.json": "097b30067cc94072f82f3d0eb8c66a8f33eca13337385fbd5b36bcd3511bb7ed",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/stripe.json": "3ee0545f700ba8ab6b9e9566b1edc4304870d4525650dea82317d6f72f763c47",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/supabase.json": "0f53949dd0a9c94fe7c8e5467b0f3e15d93a208cd9a46dc0cc4b8b87f025c660",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/tailwind.json": "82a03ea6df5c2dca2d2863a90358676c470a41c20457663aa4ebce661118e248",
    "installed/node_modules/raven-mcp/src/data/tokens/systems/vercel.json": "6ca0a68e936b41eb25bb22ab28a329d9c02bbb2f6773e166cbc55f69b736cdff",
    "installed/node_modules/raw-body/LICENSE": "37876d7de8bdf5e5b9b58a697ebc34044624e493e6f49eff5c938e5226dcac6b",
    "installed/node_modules/raw-body/README.md": "2bdf5dc084fec13fa087101d1c3efdc22421d19c1551984b49ce6705eb636d57",
    "installed/node_modules/raw-body/index.d.ts": "f85855c94b112d97977bdaa00665c01779e47416bfb73ce6dc1a949b13e5aa0f",
    "installed/node_modules/raw-body/index.js": "e1c1ff9152ec1f5cf1ef1c2b853d6723e93ba13e4e9f1f15f9c6b2026a39a1cb",
    "installed/node_modules/raw-body/package.json": "3072f77ab429d8b89e78c85e0cdefb6e3ef554a9fb19443d006a892a74361e78",
    "installed/node_modules/require-from-string/index.js": "cb059342a762b955997bf780f3693add176922727f2fa9f11fcaf1b3fc323239",
    "installed/node_modules/require-from-string/license": "6ee0feb1f6ef996ff5a68600f8cf98909cf412d39ef3cdceaefd87d636fa1b7f",
    "installed/node_modules/require-from-string/package.json": "c0002f7d4c7d7e2a885cf0f97226344902417c3a0980f2beca41962d2bc1f6d8",
    "installed/node_modules/require-from-string/readme.md": "969286b710026d911ed5e09e5bdca2dbf1c921662defa2ad3a1b3760a0bdb213",
    "installed/node_modules/router/HISTORY.md": "67930676bff4a5a057b631e0fe7d40d27e2efc7d2e39e9d26451643b343502b8",
    "installed/node_modules/router/LICENSE": "d0bca4e517157b7a6120c085f5fe43a35b90c095e3bbeb9e67f220c608506a16",
    "installed/node_modules/router/README.md": "ae6def41aac6b58f1e57312a10b2b8d61cd55a8f4447c7505a933efa69cb4cf4",
    "installed/node_modules/router/index.js": "fcc39d49329e5701e3fbd195060834398434b8e136a59949a654f6f402f6e31b",
    "installed/node_modules/router/lib/layer.js": "569771db2d3ade3d695ae9259063e8b685ed734e78c2e0ff7648e0a6bf436119",
    "installed/node_modules/router/lib/route.js": "77e83b1ceca13bdbdaf42b79d90527489c46249db2ad4226e328352dfe68f83d",
    "installed/node_modules/router/package.json": "b77062595f89476fab6acbcde5fa8dfac3be7d7b9b0b0b69d48c84ebc13c9a06",
    "installed/node_modules/safer-buffer/LICENSE": "4bc935e71be198c67ddf3c2b5fddb195f6edc182bfc155a96a6db61b44b494b9",
    "installed/node_modules/safer-buffer/Porting-Buffer.md": "134523d05b39e177135c2a2070a426eb319657dfc77589e38ef7cf13cd50e730",
    "installed/node_modules/safer-buffer/Readme.md": "d4331b7c5af9c02161150daf9451ee6bc7a73ece3ec0312603fae09f46a817d8",
    "installed/node_modules/safer-buffer/dangerous.js": "1dc2900bcc8ffc375af0d2fc99a03ecad2dcbb85d278fbf26982e87707bea53f",
    "installed/node_modules/safer-buffer/package.json": "4247a3a63c45a6a7ced1557fe4dd9d2a163af4915d594b95e5867b69a53edb52",
    "installed/node_modules/safer-buffer/safer.js": "37f9716144105051ab302f6a0c30a52ff5de7269b9e1173ac22be798fc11ccad",
    "installed/node_modules/safer-buffer/tests.js": "511906fdf6a233c84a9216065d1701dbfd84f380fbd495ae1cf5a002370b9885",
    "installed/node_modules/send/LICENSE": "25a328069fe771f8ed5b6f983ed4b0e6c84b3312ac0f69b28c3d52dc277962c9",
    "installed/node_modules/send/README.md": "4fd2e675396bb7f47e4174c14bfa742a15124fbcb60bc1fb37407ccf2136c0cf",
    "installed/node_modules/send/index.js": "17d2352806284e6ff6880542c54e9086cc471ea8b69c4ff44eabe21bce978db7",
    "installed/node_modules/send/package.json": "303cfb195f13651e5174c23310e6a71e319b4bf85f9afe9e16b16567cbab02f8",
    "installed/node_modules/serve-static/LICENSE": "63b9a188d7d43e64b0558b7115255045b9fe20a5fc3ff483421cb899e7f52bcb",
    "installed/node_modules/serve-static/README.md": "a42b827162e00dd9abdd60ff9d6ff91de232fc542390fd269a9526d5dc751c8c",
    "installed/node_modules/serve-static/index.js": "99c9b9400cceac3cbfe553bcfc529b5c823326f4a142b169ffd53e843c551e13",
    "installed/node_modules/serve-static/package.json": "4f2884fa761dee155f31cb960d792c2900dbaa6aecbe6ebcc3bcfd7e754706b8",
    "installed/node_modules/setprototypeof/LICENSE": "76d6d1ea0c268da37dd3c961b4fcfb23dee8417fff9e8786d4d44c585b781b69",
    "installed/node_modules/setprototypeof/README.md": "5ac2886221898d2e967df16753e4d64367957261d362fadd1817a9c80b1a6918",
    "installed/node_modules/setprototypeof/index.d.ts": "594108e052a71fbabf137a1139736186af6e437a255705e99f8c666f4d2af4c4",
    "installed/node_modules/setprototypeof/index.js": "3e3495ca7ae72a7f0ca459f47dd3d97ae3a48fa4b1a669a31672be778cc97a5f",
    "installed/node_modules/setprototypeof/package.json": "5b39ddf23d2c12a751cb4af2ce12dd5c87314350be7526fff69b4a3ff2a2d538",
    "installed/node_modules/setprototypeof/test/index.js": "44bed5fcccb6c8f6cd92ff4bc034005b9d46ba560c572979944772555d4f2585",
    "installed/node_modules/shebang-command/index.js": "d98c3aa373c72016e990a723e919af495423bc4ac1daa0736c5f45fac0418d7f",
    "installed/node_modules/shebang-command/license": "69dee148a2cc470554dfa7142e830662062394d0fe67cddd379aba90dc60d6b3",
    "installed/node_modules/shebang-command/package.json": "44de390ae5ed6c5f9758b8b9c90b93fa53977d5361731600429f1de08f4b3f30",
    "installed/node_modules/shebang-command/readme.md": "7918385f0c22cac3aeae9bcebdc589649f3cd4b62ce087afd60ee35ce6f5b6f8",
    "installed/node_modules/shebang-regex/index.d.ts": "74ea646f59f36406d55ea5f8438878d3cd6ee96d2b19c239ff0301e8d1ab80ab",
    "installed/node_modules/shebang-regex/index.js": "e91e547bad596a389841fd7938bfcbd22af82f44a01f794e86878e4ff0274250",
    "installed/node_modules/shebang-regex/license": "48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0",
    "installed/node_modules/shebang-regex/package.json": "b8018c6b8cc9900dfd1ac18a54956ba34c453fdc2da5e5fe555ee8f04133a1c5",
    "installed/node_modules/shebang-regex/readme.md": "e2a766922c93592759da2f6982d4eac586c2578e1dba11e120b244bb2764a848",
    "installed/node_modules/side-channel/.editorconfig": "f3e9230a5e411831564b0a83313248a7455929098f389c5bc07e8241a754d3fd",
    "installed/node_modules/side-channel/.eslintrc": "9e6424ea116f1edba0e876b422bc162db44411cab9e2af08e0aef08dee6206f6",
    "installed/node_modules/side-channel/.github/FUNDING.yml": "1bae2dd6cba2f64d3780a4d3136eed2ed80b17888b0f2f169b90b65532ef1a4e",
    "installed/node_modules/side-channel/.nycrc": "948366fea3b423a46366326d0bb2e54b08abd1cf0b243678ba6625740c40da5a",
    "installed/node_modules/side-channel/CHANGELOG.md": "f0de2c3154a59af9c3e00e86de6ad1b16b5952653d970d1ee4d67f7f32e8febc",
    "installed/node_modules/side-channel/LICENSE": "cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b",
    "installed/node_modules/side-channel/README.md": "2878dd11d65918805a3bbc3f684bc8350a759af9f20ebc536bf2a21799c5f631",
    "installed/node_modules/side-channel/index.d.ts": "e27c6849e299f3e12a16851403375a7c22ee8aab206dc73bd63558f272f03695",
    "installed/node_modules/side-channel/index.js": "54f0fec2ecb069f39b17455cc77a86e5ad135138a6e6ab5f7b33dc44ed157e86",
    "installed/node_modules/side-channel/package.json": "14da3b013c3762da85cfd8b173290285394dfa41870bc4a1e8243aaa38316f2a",
    "installed/node_modules/side-channel/test/index.js": "83ea281b6fed259ff34d299c2fcd8b69bc19b28339118bfa183faba52fefbd66",
    "installed/node_modules/side-channel/tsconfig.json": "6346ee4c020f341387588479dd83740a65ab902a462b8c6b3b8bf51f032c6795",
    "installed/node_modules/side-channel-list/.editorconfig": "f3e9230a5e411831564b0a83313248a7455929098f389c5bc07e8241a754d3fd",
    "installed/node_modules/side-channel-list/.eslintrc": "7a1a04ff516aa6b2905885fe15f4f57858ea1703c92456daed9763fa7b4ea7c6",
    "installed/node_modules/side-channel-list/.github/FUNDING.yml": "2b7392342ca20befcd193818b07b2b47fd9ade136c40c7f2a8b4528eba56b49e",
    "installed/node_modules/side-channel-list/.nycrc": "948366fea3b423a46366326d0bb2e54b08abd1cf0b243678ba6625740c40da5a",
    "installed/node_modules/side-channel-list/CHANGELOG.md": "f40ac5347b6b43c5afbd246dc1fe2829970d7884bab3e56a9221def353c8758c",
    "installed/node_modules/side-channel-list/LICENSE": "5e325595b4ea8cfec3802f545b1def5d7b73e4a5b8e9ba63e32a320f67732292",
    "installed/node_modules/side-channel-list/README.md": "3627a589d762bb9d327dad5810d0e9dbf051f6753ac5bb09ab057d1eacb14c52",
    "installed/node_modules/side-channel-list/index.d.ts": "ce9c6608168c202a45b47380f94f2f1ff94a9655ffef750a080d61bcfcfeaf09",
    "installed/node_modules/side-channel-list/index.js": "5d7ba64286b290cc1ebc2a04fba4c3f1cb319b3e174cc9d5e3ae5a1d9bec170b",
    "installed/node_modules/side-channel-list/list.d.ts": "735b18d2a598216cd2ca487c8fc869e27becedb806c7c5c2cace13264881e877",
    "installed/node_modules/side-channel-list/package.json": "90f0c08c6c17f4a3fa3dd61873223957b89da4201f01dc0c8b95b0b9e6a2a59a",
    "installed/node_modules/side-channel-list/test/index.js": "60cd0bdd7f76be58fac56cac4b17581ee903de83cc34ce55b3af32a0437177fb",
    "installed/node_modules/side-channel-list/tsconfig.json": "6346ee4c020f341387588479dd83740a65ab902a462b8c6b3b8bf51f032c6795",
    "installed/node_modules/side-channel-map/.editorconfig": "f3e9230a5e411831564b0a83313248a7455929098f389c5bc07e8241a754d3fd",
    "installed/node_modules/side-channel-map/.eslintrc": "7a1a04ff516aa6b2905885fe15f4f57858ea1703c92456daed9763fa7b4ea7c6",
    "installed/node_modules/side-channel-map/.github/FUNDING.yml": "85660691d4145ea3a89471a216f2ce892abe35348e162fd1fc903fb64c6f9c6d",
    "installed/node_modules/side-channel-map/.nycrc": "948366fea3b423a46366326d0bb2e54b08abd1cf0b243678ba6625740c40da5a",
    "installed/node_modules/side-channel-map/CHANGELOG.md": "a622f46bc8b5c72aab3481f9ebba944dab49a60fd6a9e48e774023c4f9317aaf",
    "installed/node_modules/side-channel-map/LICENSE": "5e325595b4ea8cfec3802f545b1def5d7b73e4a5b8e9ba63e32a320f67732292",
    "installed/node_modules/side-channel-map/README.md": "f5a7086db928685f10c51cb0c5970525aaf38ce3835153f31b22801edf7ad663",
    "installed/node_modules/side-channel-map/index.d.ts": "c3adf1625f5493cef67613c35046d8aa60bf591a205fe044f05321c1020c9065",
    "installed/node_modules/side-channel-map/index.js": "0d3a0ec34cd376a23fa4a2a159913f527f990b5541fbd513212615e910ae2ba7",
    "installed/node_modules/side-channel-map/package.json": "914a8bd732b82523d95bb697eec3e6d95badc5eb13b196fb0772e59354a3ab25",
    "installed/node_modules/side-channel-map/test/index.js": "d752ad1cbe1d6c2aa97e197e4f4a2f8fc978bfe3ace7f1e1cf5ef2b21e08eebe",
    "installed/node_modules/side-channel-map/tsconfig.json": "6346ee4c020f341387588479dd83740a65ab902a462b8c6b3b8bf51f032c6795",
    "installed/node_modules/side-channel-weakmap/.editorconfig": "f3e9230a5e411831564b0a83313248a7455929098f389c5bc07e8241a754d3fd",
    "installed/node_modules/side-channel-weakmap/.eslintrc": "9e6424ea116f1edba0e876b422bc162db44411cab9e2af08e0aef08dee6206f6",
    "installed/node_modules/side-channel-weakmap/.github/FUNDING.yml": "d671a997a7bd387e3cb62cd1e84b7fee6eaa67f5c34236254ca63436c43a28db",
    "installed/node_modules/side-channel-weakmap/.nycrc": "948366fea3b423a46366326d0bb2e54b08abd1cf0b243678ba6625740c40da5a",
    "installed/node_modules/side-channel-weakmap/CHANGELOG.md": "c8fe52550510be7e9b494ce75c4b7ede67a930aacb6e4258079360a553dd31ae",
    "installed/node_modules/side-channel-weakmap/LICENSE": "cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b",
    "installed/node_modules/side-channel-weakmap/README.md": "5c111085145d73c9151051dc7eadbb6e6cf8a30614ee013a290bba5b38b40078",
    "installed/node_modules/side-channel-weakmap/index.d.ts": "cddaf669dde1c7291f8d768d36fd40dbd6b5fec23b4562467c15baa3e1dbccb4",
    "installed/node_modules/side-channel-weakmap/index.js": "4421d4533c6e1585d01da3ad592c53dd427b0367f81474c59590b6153f119010",
    "installed/node_modules/side-channel-weakmap/package.json": "8c11f0a1c6cfa549588d991a5cb1b04d62953277ed29f47463d415d5946388a8",
    "installed/node_modules/side-channel-weakmap/test/index.js": "7c14a6142447dee78e56e06b230b055845bb3a005b8e2e12974859c35d39cd7b",
    "installed/node_modules/side-channel-weakmap/tsconfig.json": "6346ee4c020f341387588479dd83740a65ab902a462b8c6b3b8bf51f032c6795",
    "installed/node_modules/statuses/HISTORY.md": "17ed5dffdb701302299988d379d0583b2948e2bd61f8a34e676671d03551b41e",
    "installed/node_modules/statuses/LICENSE": "512cfa4d5e7a7569c7ae4dd95241cb6ae2aaf648ef9ebd080c01bd24868d26e9",
    "installed/node_modules/statuses/README.md": "a493c63a52726e1b35e8595482c63900fd233fe24a21393d96f02c0de2a988f4",
    "installed/node_modules/statuses/codes.json": "d2daa083f11600277bd2bf9823bb48ede916a5b0924d2991d6bc4ce331d5604b",
    "installed/node_modules/statuses/index.js": "96a0698e899f5889cf254d1f2e351f3253a37921c7f87269b0e87a497dec666a",
    "installed/node_modules/statuses/package.json": "dc2508da5568ba768d94b73126cd20a5df934bc0c651ad681022236484ca156c",
    "installed/node_modules/toidentifier/HISTORY.md": "4839c59f4e7364d7db5746d3f63fb54c0e81aa8b2c7dbd20009438d1d0864cf0",
    "installed/node_modules/toidentifier/LICENSE": "a832d679750e49ab433626ab196350b89964b60eb0d3edd3341887c7d5f4c128",
    "installed/node_modules/toidentifier/README.md": "bbc5b74840438ec9d0d189c10c013c3e0ad9e0add6f09cb16034b8f693d73ff8",
    "installed/node_modules/toidentifier/index.js": "f9f26b0e90e2569b61d02ef2a92718624b8854592b1ede7f2c8879a69cfdba05",
    "installed/node_modules/toidentifier/package.json": "f34c59f784d43da6e633390d85d14ca60539b4676159444f313c62fcfc3b68dc",
    "installed/node_modules/type-is/HISTORY.md": "636d5f773c09bc1998c70c9ec4d3da164ad0900e838d890bec8c456cce3418ce",
    "installed/node_modules/type-is/LICENSE": "23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68",
    "installed/node_modules/type-is/README.md": "db9e487414eede01cf9e697f748311d0a23c5b3f4ff90f837ac40a835488678a",
    "installed/node_modules/type-is/index.js": "8daba48f3d8bd4ebfdfde75afd0a0fdb1805e7636317880787523364e517bf5b",
    "installed/node_modules/type-is/node_modules/content-type/LICENSE": "257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38",
    "installed/node_modules/type-is/node_modules/content-type/README.md": "ab20fde18d77c04276cacf5884b884d391cab2b75b905f6d24af5846bb671c90",
    "installed/node_modules/type-is/node_modules/content-type/dist/index.d.ts": "33072e3d0e57b3860fe4dae3deae08ac8463fa94f3f7934659b77654fd057975",
    "installed/node_modules/type-is/node_modules/content-type/dist/index.js": "cc336c843465abcbc40e9b12ff17cf66932a7b3685202fc707e7120f60e5d510",
    "installed/node_modules/type-is/node_modules/content-type/dist/index.js.map": "afae79bbc2806914b2a72882c16d2e4f33d657b611de31675de67d6aec878f69",
    "installed/node_modules/type-is/node_modules/content-type/package.json": "33102772db7c8375395bdcc11e7004c597b4cdbe457d8dd0ae2e56f5a2d28637",
    "installed/node_modules/type-is/package.json": "87b5f716ec743cdf6d610487698c8558a608b6e0adac522e1a4315b94b081694",
    "installed/node_modules/uncrypto/LICENSE": "46231df5a7733c3f52f11b71f3df61813007745b62b09031acfb45fb42d75082",
    "installed/node_modules/uncrypto/README.md": "5e89988db688878429b28273fc404ca248fb0233880b2a947d0961b340f81133",
    "installed/node_modules/uncrypto/dist/crypto.node.cjs": "c2b889b1c44b395e8c122de41900d1f156eeb4f5bf5083ab210dbcbbf9f11b28",
    "installed/node_modules/uncrypto/dist/crypto.node.d.ts": "e9977586295e76e4bdeb3c0f64f869ada7c7095c77b31f966bd9ff1f36165eb7",
    "installed/node_modules/uncrypto/dist/crypto.node.mjs": "464159e9464246c7372cd6fe2beac2128f276519519e9d99df983532f26d14ab",
    "installed/node_modules/uncrypto/dist/crypto.web.cjs": "a98b195ff20a76d0dd46bc8103837c1446853bb88e5497be2e4f67728f711bce",
    "installed/node_modules/uncrypto/dist/crypto.web.d.ts": "e9977586295e76e4bdeb3c0f64f869ada7c7095c77b31f966bd9ff1f36165eb7",
    "installed/node_modules/uncrypto/dist/crypto.web.mjs": "fd7b357b963adef19dfe2f8885765487fc8cc4af60515f9904a285120683a115",
    "installed/node_modules/uncrypto/package.json": "da0698cd7e83e8a080ec34d5fc53b8b18ed849490c890bcca11f00e4758d83ca",
    "installed/node_modules/unpipe/HISTORY.md": "6f6dc64d92c2450fd3a2fe41ca1dd3ebeb9c2321ac3c308728f5de69fe6c6fec",
    "installed/node_modules/unpipe/LICENSE": "1a526fbe8d8577f5a4b1c2821842b55b7c0e18862531c62ae4ce69c9b19b74b6",
    "installed/node_modules/unpipe/README.md": "b091938be61f002fc626c4dfabf66cf14ff0b5a8fa9758c9dbbdc37ab818cb5d",
    "installed/node_modules/unpipe/index.js": "69cd57b5cdd08c42410ebc0d92235e334f1fb985e6eb2dcfb1c692db674411bd",
    "installed/node_modules/unpipe/package.json": "28b717f978d2a4fc72cd08236931443b63fe6586102df3d1967e2b21ea8c5e11",
    "installed/node_modules/vary/HISTORY.md": "273b0ea4abb4c7357db4eed63e84f7a283847ed0165d041b25be37071284d7e5",
    "installed/node_modules/vary/LICENSE": "bd47ce7b88c7759630d1e2b9fcfa170a0f1fde522be09e13fb1581a79d090400",
    "installed/node_modules/vary/README.md": "03444f916ddb9a1c692c329f88b83b1a21d016dce46656091f21e903109dd65c",
    "installed/node_modules/vary/index.js": "8e40311960636d40473c57e335bbca115036766bf150df296b941256432ab410",
    "installed/node_modules/vary/package.json": "73edaee964d527117a9f69d6360fbe6cec534abd9127794be01a6af58a139daa",
    "installed/node_modules/which/CHANGELOG.md": "89bc599ca0b3a119d711c62855b2e3619b734bf371ef55dcc049454313f9904e",
    "installed/node_modules/which/LICENSE": "4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b",
    "installed/node_modules/which/README.md": "0c91f714f46006bc9a543e629a3ce3b63700fa8cfbe7c6310a0bcff2738356dd",
    "installed/node_modules/which/bin/node-which": "055f0ac4eed1a1591d033d59462972968bf3483b4cc07e163589569c0fb999f0",
    "installed/node_modules/which/package.json": "43010039ed5e89f7186960be682b3cb5cda5ab6cdfb06cbfd4f081cf0e7b4260",
    "installed/node_modules/which/which.js": "76845e1fe7851267fb7ee72b18f2d916996d330150e31e48f4657a79e9b46b5b",
    "installed/node_modules/wrappy/LICENSE": "4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b",
    "installed/node_modules/wrappy/README.md": "0d2537e86a9e5ae85d8e53910d779895179035c9daa35555874ec19f1225c224",
    "installed/node_modules/wrappy/package.json": "712ac9c4c3cef8bc79f42cf6075ff18551f4cb768f35158214fd643853ad7abc",
    "installed/node_modules/wrappy/wrappy.js": "153453c4d84a3c2f13589c37055a7daff61d48475dcce554f7eedad15fc7b3e5",
    "installed/node_modules/zod/LICENSE": "3f1189b28e3866e0d979968d466b78f813f76827cfdca1fbb124cc0a5c8841f8",
    "installed/node_modules/zod/README.md": "f534842731b0e9599e3927c234fab2090ac2b64ab98fe5035f26c28f1e149536",
    "installed/node_modules/zod/index.cjs": "69025493407e0f37f24e01e363452d75ae43a89aac18eb24806706b5b534b459",
    "installed/node_modules/zod/index.d.cts": "5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9",
    "installed/node_modules/zod/index.d.ts": "6419c4ac0e637ff08463083e31886d10354f74cbcc4e584400b2b837e39ac881",
    "installed/node_modules/zod/index.js": "6419c4ac0e637ff08463083e31886d10354f74cbcc4e584400b2b837e39ac881",
    "installed/node_modules/zod/package.json": "70eedbe34fd52385a4ae2f3e5759b19682189f0118ea73a6e7c32c677f61668e",
    "installed/node_modules/zod/src/index.ts": "6419c4ac0e637ff08463083e31886d10354f74cbcc4e584400b2b837e39ac881",
    "installed/node_modules/zod/src/v3/ZodError.ts": "e4386fe8f2a49d774c7e1aff4c015c125ac4a0dcf70d5aa6883f167278ca141f",
    "installed/node_modules/zod/src/v3/benchmarks/datetime.ts": "0d1a81e5608b286c1843aaecb20bd7d1f62b6674a610a51dc7d1043bed05963d",
    "installed/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts": "33e4f792dbfdc735a72f92fcc117d3dbaea8e7ff3937d523bef3df44814805d3",
    "installed/node_modules/zod/src/v3/benchmarks/index.ts": "27f4322ad98e28575d5849a7612c6acea55cd5be8a1571d1885a656e8a9d5620",
    "installed/node_modules/zod/src/v3/benchmarks/ipv4.ts": "3ef475926d7e95a5880cd9d7bd780f98642189010046bb9748e27e50360da333",
    "installed/node_modules/zod/src/v3/benchmarks/object.ts": "ea0f6d4b3e2c6f47bf1739a53473997da4aaacc1e5f59e57f00cfb6b7f59a4e5",
    "installed/node_modules/zod/src/v3/benchmarks/primitives.ts": "706d51c7048aff5108dd71b33b5c66d354a6856be0a48b23bc32e55d284c31d0",
    "installed/node_modules/zod/src/v3/benchmarks/realworld.ts": "9bcc944a5e875ca191ca10542c113dde3c754e45a196400726f251b045e14215",
    "installed/node_modules/zod/src/v3/benchmarks/string.ts": "ed17ef186249dc4f1da01a2d5e0bd3c87da6d0d2dcad89e8afa05e0920d98536",
    "installed/node_modules/zod/src/v3/benchmarks/union.ts": "9eec8e3e58cb4d3dd76be11874187f71a99c27e06c639de0cc9d8d928687fe0a",
    "installed/node_modules/zod/src/v3/errors.ts": "cb8debd524102d5a38dbaadd72b220f68349dbac51ac9663569c1807f64b3772",
    "installed/node_modules/zod/src/v3/external.ts": "5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445",
    "installed/node_modules/zod/src/v3/helpers/enumUtil.ts": "dffcb43b363e6804128c415c128c32dbbda302049cfce7662b2f0e17eeae044e",
    "installed/node_modules/zod/src/v3/helpers/errorUtil.ts": "808aa0875577c556006ca193a5d4bd35a2ade57e50e09199fd9cbf6e780f0a31",
    "installed/node_modules/zod/src/v3/helpers/parseUtil.ts": "cb94690c02dce392b98ca364de0d4b24f42db715fbb1759a08bcfb7fa6674645",
    "installed/node_modules/zod/src/v3/helpers/partialUtil.ts": "68848db44869461bc20373abdcd002e32cb3759e2d5801ba3d9894d2c23db0b1",
    "installed/node_modules/zod/src/v3/helpers/typeAliases.ts": "d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5",
    "installed/node_modules/zod/src/v3/helpers/util.ts": "df1b9ea5a29a591f273555e240142431617e686aa6a97f172193770c26841a52",
    "installed/node_modules/zod/src/v3/index.ts": "3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617",
    "installed/node_modules/zod/src/v3/locales/en.ts": "f729055c5f4acb839084e5c66c80bdecca02a78df6b048224e56e634322cb223",
    "installed/node_modules/zod/src/v3/standard-schema.ts": "e14e38f67bfc8d76e208366f639b73b3292f2bd46c97a44f43535c2389927ece",
    "installed/node_modules/zod/src/v3/tests/Mocker.ts": "b7732bb15ed6ab38f61dd4a15f088af109b0a99eccb50cdd9f542a17bb935f5e",
    "installed/node_modules/zod/src/v3/tests/all-errors.test.ts": "d629da33805d24b17d1f6383009acfbf3b769bd4f2d8191a9720d68e4e64ab7d",
    "installed/node_modules/zod/src/v3/tests/anyunknown.test.ts": "fac8ebb9d3007f7ef1ea320eed85b22b3248fde6bb1fe645a1a513b69442c014",
    "installed/node_modules/zod/src/v3/tests/array.test.ts": "e7d3813182c59e511d350bebbd2a25b349868cc73d057b23b1d85a4d927b3711",
    "installed/node_modules/zod/src/v3/tests/async-parsing.test.ts": "45f829362cc917d9505e244ea0d9a06d71a1953747dc31e57780388e82ad5afa",
    "installed/node_modules/zod/src/v3/tests/async-refinements.test.ts": "cfd6752223678338c949f1716deeff8c18807f31343d6a4544f494d10e5acf60",
    "installed/node_modules/zod/src/v3/tests/base.test.ts": "989d8ff33e43dbeb3d08d8f659a3269d22fb573a86d48c72da58ab84e484e532",
    "installed/node_modules/zod/src/v3/tests/bigint.test.ts": "799b38ffff2d2a977493846e127d6f76e5cdb346d8886a2d2c76616253170f45",
    "installed/node_modules/zod/src/v3/tests/branded.test.ts": "d0d7213caa6b727fe72a4bd99631984c4038ecbe8f67001840b447ca4b2085b0",
    "installed/node_modules/zod/src/v3/tests/catch.test.ts": "e4b1727836b5cdca66337af180a756fab2b712f61d49d17326a90c0a54080be5",
    "installed/node_modules/zod/src/v3/tests/coerce.test.ts": "30dec33039db38b3c2baecbee09c74afc1d9adc68a6229a35628a1bac4539db9",
    "installed/node_modules/zod/src/v3/tests/complex.test.ts": "51d676be11ddb5a0b987471c6e49b819b4f6b2aba77fa23565deb4591439cf40",
    "installed/node_modules/zod/src/v3/tests/custom.test.ts": "6837c23478b39dc6304a98bbbba4a1df9b973d40f6243f0939bfbc339d96b01d",
    "installed/node_modules/zod/src/v3/tests/date.test.ts": "7d352eab070ae8f4fcbc61674f6b238159699ec4b96754ec1aac0cac74091c34",
    "installed/node_modules/zod/src/v3/tests/deepmasking.test.ts": "8b6cef1cdb8eb422ebb50b24e4f88742f13eaf0abf83b08a3980f2406a4b6ac6",
    "installed/node_modules/zod/src/v3/tests/default.test.ts": "92067a119b984ab2750a1eba8e1a5573276aeaed95056e9e283f4a3bb54e5d5e",
    "installed/node_modules/zod/src/v3/tests/description.test.ts": "f1b75327fd817bb63c3b2e3be0ff9aff7511e2a391713756d8cb26cbfd3d5aa5",
    "installed/node_modules/zod/src/v3/tests/discriminated-unions.test.ts": "5bd00d9f7eeac9dd60faa03af58b5a915040f54b93ff77c4eab0d4a18f8b9e9c",
    "installed/node_modules/zod/src/v3/tests/enum.test.ts": "3fcf9f740cd53f52431abda4c61a3732dde44c3a9f1033159e9c0c92fcebd09a",
    "installed/node_modules/zod/src/v3/tests/error.test.ts": "1c77f7fefb917210ac238159c8116bd159158c260008bb6fd2f8a91ba9e55538",
    "installed/node_modules/zod/src/v3/tests/firstparty.test.ts": "9906d7da8e62f7b9b7e5cd9553bea0872ad8a0b259214034108cec8a624cfc1d",
    "installed/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts": "9be5a0881151df777293172088b2039ed7e1e6f4a98a7557cdd0211f108c9b96",
    "installed/node_modules/zod/src/v3/tests/function.test.ts": "93b2a5008501e4d883c838e567a6d3da18f88f31fb71a7ba5615664572f89783",
    "installed/node_modules/zod/src/v3/tests/generics.test.ts": "d1a4c54239acff333f76231084c48133257fefe14f504d0cab055979b5a9e723",
    "installed/node_modules/zod/src/v3/tests/instanceof.test.ts": "b11897351fcf312dee317408b7aa27929ba37538c468588429f4f4ae3c5fa4ce",
    "installed/node_modules/zod/src/v3/tests/intersection.test.ts": "c560d1fbca45e049f07eb2a382f7ee4c678164825cf5725b014312eac9412c8c",
    "installed/node_modules/zod/src/v3/tests/language-server.source.ts": "aeb84d6fb14e6511a3509a0545770d869986f397ee02da640730d4ff97c6be4a",
    "installed/node_modules/zod/src/v3/tests/language-server.test.ts": "c75a03c145d1b0f28c62cba881aae1db600912a1df3be99d1996a18da776c498",
    "installed/node_modules/zod/src/v3/tests/literal.test.ts": "a22faed6c08e04c75d6bb0180d5e1fafc4645b15445a479f338016ee4855c362",
    "installed/node_modules/zod/src/v3/tests/map.test.ts": "bb52432835e9fa70a94f444fc9e7c2d8e6ac5eb905cc3b8ae54846e52fa57360",
    "installed/node_modules/zod/src/v3/tests/masking.test.ts": "557f4bc4d8f4ab29afd87f07cf70fa4de60d765fc86fbc5eb4b788f34dd825a2",
    "installed/node_modules/zod/src/v3/tests/mocker.test.ts": "46f64d2995e29c5838189ed10cd1b185b44c33dbc21418364a80ac19f285362b",
    "installed/node_modules/zod/src/v3/tests/nan.test.ts": "2ef6416fc58f94964cb889d28f8b7019a90365d24229d8146c845b8c7b0b8610",
    "installed/node_modules/zod/src/v3/tests/nativeEnum.test.ts": "6f64363193a447f71a8aa5440461bdb5451c6c4433fb4fca785ef4798d5b52fb",
    "installed/node_modules/zod/src/v3/tests/nullable.test.ts": "c51336535632e1404455bca333ccafc143191600047251a3e3e13f551693c516",
    "installed/node_modules/zod/src/v3/tests/number.test.ts": "d56a65ec9bc03482c2b23eecb97c5213b564b5aaafeaf205d2a1f54a2c91e1d8",
    "installed/node_modules/zod/src/v3/tests/object-augmentation.test.ts": "69777e89506b2d8157c98e176dde94a7c664db7228485c52a18154ac4b794382",
    "installed/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts": "687d2c52ddaaca24ab3d3e301cba042a7560888570af23b50a0597d3012d500c",
    "installed/node_modules/zod/src/v3/tests/object.test.ts": "11635f1db70a587205bb58bee8bd6385af2e3f44711037df033994181538e5e0",
    "installed/node_modules/zod/src/v3/tests/optional.test.ts": "0edb7a6478e931bf256f3d71d1367d2b8199b4082101dba97cc306e4dc3c92c9",
    "installed/node_modules/zod/src/v3/tests/parseUtil.test.ts": "822a6d836b05ab38eadf26592420eba6be694dc7c1d654388efbb601af00c288",
    "installed/node_modules/zod/src/v3/tests/parser.test.ts": "7c8b720c921618f6c89eb08eae80ba45602fa04dafe9c7b9b861512954d70f9b",
    "installed/node_modules/zod/src/v3/tests/partials.test.ts": "2fe9fe6cdfa085eed053894acdd3ef32c5425f7da0aa81ea1043c737fcd7cf41",
    "installed/node_modules/zod/src/v3/tests/pickomit.test.ts": "cd05293952b5fb0ca26eeb9ba6cd69a26f58fa5c62eb35f9ce1eb1ac9e00ccd6",
    "installed/node_modules/zod/src/v3/tests/pipeline.test.ts": "b285aac721b744da8c5a0a093c9ed57244643e1e333df576922e67bfaa9e16ab",
    "installed/node_modules/zod/src/v3/tests/preprocess.test.ts": "7433e95a0504f7a250b7beaac30a5e8f500c315d99b3badb978a0b28ed7a61dd",
    "installed/node_modules/zod/src/v3/tests/primitive.test.ts": "d0214e93de931a8e6b89b3cb89df1cbf7299d6be00abcdde71ffdcb811953dea",
    "installed/node_modules/zod/src/v3/tests/promise.test.ts": "c03c19525c56cea7808d982bd23ba89b5a48db13934e8d4824e13ee0a249d19b",
    "installed/node_modules/zod/src/v3/tests/readonly.test.ts": "dc0ffe451674c8938b67bdcb63deff7958dd1f0e5ec69a485bba470c978817c1",
    "installed/node_modules/zod/src/v3/tests/record.test.ts": "ebefc7ad59b2246787408efe7aaf2f7beec0b5c90c70e79990dcbf241c2d6c95",
    "installed/node_modules/zod/src/v3/tests/recursive.test.ts": "9ccc037ef698ceeb4e6986e02aaee71ff318c4dc0f875b9253bff6ba14db9137",
    "installed/node_modules/zod/src/v3/tests/refine.test.ts": "2f3a329952b6f0109028a142225d719b05307a18f7395297711f725b599933f8",
    "installed/node_modules/zod/src/v3/tests/safeparse.test.ts": "5aa7597109dea6647d0ab022a4aab694c44acfeae53386ea6366b806fbd3e872",
    "installed/node_modules/zod/src/v3/tests/set.test.ts": "eeadd9dabd30b857c5de8526503cb1e5c8b6aa45a99c4708958ca1f822bb3da2",
    "installed/node_modules/zod/src/v3/tests/standard-schema.test.ts": "f74076e43f44c887b3bf7d26d5ec686b8070359e63fe373e6c45b6c7708c025c",
    "installed/node_modules/zod/src/v3/tests/string.test.ts": "d7b03d5aff0fe84fec31779e1f00774a10cb17c47a3f288766835eb5bee9eb5b",
    "installed/node_modules/zod/src/v3/tests/transformer.test.ts": "e3da81596e0077326f442153a741c9ba25669b8b5eb025a8ea7fc1eb0106faf7",
    "installed/node_modules/zod/src/v3/tests/tuple.test.ts": "e8a48c8791387c94076c7eee8c9b7e18712a45356c7167f7c43bedd54544614f",
    "installed/node_modules/zod/src/v3/tests/unions.test.ts": "0c32f20d663b30438bb8ff834b7f066722160720a25a90e6513a66b9baa4604d",
    "installed/node_modules/zod/src/v3/tests/validations.test.ts": "10ae103a7c7d9e5ce8bdacf9ef30bc44a52cdadf64fe365f492d27dcb432b482",
    "installed/node_modules/zod/src/v3/tests/void.test.ts": "6bdad3b7ba624eb3bd03c0bfea611de46c10aba62d03df9bd2ba49bafedc15cb",
    "installed/node_modules/zod/src/v3/types.ts": "70309a0877c35d036842e291fe7c8a4439d5db49411d233f8a22bf8a59c41419",
    "installed/node_modules/zod/src/v4/classic/checks.ts": "37ff13c8056beb33a1e57d6520cf4ee5a4fc080232388332c3a7ca11a4a17634",
    "installed/node_modules/zod/src/v4/classic/coerce.ts": "9cf6429965d7d55dc4e50999af50cbad5b57b5f3372bba13038133aba62ba600",
    "installed/node_modules/zod/src/v4/classic/compat.ts": "9d557456b44386d80b209c64e77f4845f19bce0ae7655e933470143fe60bd373",
    "installed/node_modules/zod/src/v4/classic/errors.ts": "616a53e9b9a9bcc456e34cee36960034f4a13eb168e797a5561c59a0c4151468",
    "installed/node_modules/zod/src/v4/classic/external.ts": "a3b40ca2beb00aeed1fb8a9fe7f7dca52e2e976ef32aa64d37b651dd3938c34a",
    "installed/node_modules/zod/src/v4/classic/index.ts": "8f199f0404574864bd10cac8311858f39d50d418609a0ef089dfd444d4977840",
    "installed/node_modules/zod/src/v4/classic/iso.ts": "e3215f0650c1256d63299dec334fbbcb0b92517286618f1c24223b5294fd5fb4",
    "installed/node_modules/zod/src/v4/classic/parse.ts": "2ac3113c9bad01c976dbc391c09784961906481ceedc8f0b4afc7aab9e59f61c",
    "installed/node_modules/zod/src/v4/classic/schemas.ts": "f6856027f9db1203568f4bee15f3ef0a3b9248b6b5e47de2d94bdb4695580ddf",
    "installed/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts": "c5fbbcc05862414d2bf8d8c33e90b15f07d2542e56408e668bc4ab8dcdae5758",
    "installed/node_modules/zod/src/v4/classic/tests/array.test.ts": "8d36da9c0f9942d75d0e442bf3d85475634ccffe4a5fd154f4624f0e8bc58891",
    "installed/node_modules/zod/src/v4/classic/tests/assignability.test.ts": "40dfb44f27f5ca10cd854d050e203a228ef616424eda3ade56e0a1e70bb34c92",
    "installed/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts": "5854e0b2712dea24b27f8d0b5dad384e06eaa785539e1388df941fb4fe6ff80b",
    "installed/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts": "ac573cf82efdba4cf92c86ac959f63177c4622338609848869f778c0d125cdb2",
    "installed/node_modules/zod/src/v4/classic/tests/base.test.ts": "0401d2c75ed792b13bf811fc77801c485b89671460a4d52439cf1908fe94f2b7",
    "installed/node_modules/zod/src/v4/classic/tests/bigint.test.ts": "85cbf87b9df6b154ad7d3f5df030b38fb2c2761dcbc2d4a2ddc7ba06de95433d",
    "installed/node_modules/zod/src/v4/classic/tests/brand.test.ts": "bceffeda14e55a4c6f6d4f2e30fe9a1d8d1199d50bae767c0ac0c4d4aeb41414",
    "installed/node_modules/zod/src/v4/classic/tests/catch.test.ts": "a6c49071dbdb2ccda9fc440b756c48d25cbd875d69a645d815818e73490702e8",
    "installed/node_modules/zod/src/v4/classic/tests/coalesce.test.ts": "e03d0cc88ac34605b99061da2e0ce22a7e7fbca0467819096994bcf63bb5b8f9",
    "installed/node_modules/zod/src/v4/classic/tests/coerce.test.ts": "b1c494141f3120e5f4253c2bbe1131468d32281e8a9513f27fb40fee3142b55a",
    "installed/node_modules/zod/src/v4/classic/tests/continuability.test.ts": "addc223e09ff1a22db31b59c0eaaa304efb37f3f60ec6b1c1b9cf461c50cf329",
    "installed/node_modules/zod/src/v4/classic/tests/custom.test.ts": "130ec42a9e192f5b4f43a890303921cb0ec7f1e878a4f0d6a1aacfe863ff1b91",
    "installed/node_modules/zod/src/v4/classic/tests/date.test.ts": "e578d7bea1019b22cbc675788e5cc7123f9c3fc2ed90e8a8cb222ddb0cdb8b76",
    "installed/node_modules/zod/src/v4/classic/tests/datetime.test.ts": "fa5c665db57852446b234e6c3e14254b7165cfdab30f85e5218f72162793c5c6",
    "installed/node_modules/zod/src/v4/classic/tests/default.test.ts": "5e1e962bd61a821dd45d88c09ec113ac8d437643e59e8b916aacd09be0b154dc",
    "installed/node_modules/zod/src/v4/classic/tests/description.test.ts": "c7f59501ffad7792ae76c178e6098de70c3da062280dc788f3354187335cfd8f",
    "installed/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts": "1e941800f7a4ad1d707f2c7353cde717b52be4efa2b8ee3ad60f51dcbd592af6",
    "installed/node_modules/zod/src/v4/classic/tests/enum.test.ts": "2a76a8b5c6116fb06a249284afaf3aba4512a790264f86871857a0b5f6af7650",
    "installed/node_modules/zod/src/v4/classic/tests/error-utils.test.ts": "880465a75977884b5320dba67c8847e26dd6b0872bf99f51756c1c88f397f6d1",
    "installed/node_modules/zod/src/v4/classic/tests/error.test.ts": "f38b436b7cba83cb35993e05fc7feeb7e8e1dc6695dd069936e232412f6fce5a",
    "installed/node_modules/zod/src/v4/classic/tests/file.test.ts": "9ebf98c95623b652462ca6664d4a1f48e9ba864965cf0a9080ccbfdf7dee75ea",
    "installed/node_modules/zod/src/v4/classic/tests/firstparty.test.ts": "26ba2289e27be3028f3c21f425a1a0ef03655a54c8a9084ba4017154f03472a2",
    "installed/node_modules/zod/src/v4/classic/tests/function.test.ts": "28f467e2f3bb3b6ee22292c34928408ec67e0e61d0d88a0e1959906be72d4c82",
    "installed/node_modules/zod/src/v4/classic/tests/generics.test.ts": "e4dc0d13796ff0d0ef8b5286dd168afec62ddeef66fae429cc9860b2bbd8f80b",
    "installed/node_modules/zod/src/v4/classic/tests/index.test.ts": "d64878142f8b74db804f693f4748f2733bd886c72f79abe7eb2c32c38e69a4d0",
    "installed/node_modules/zod/src/v4/classic/tests/instanceof.test.ts": "483a97ca348233bcf363859b2354dd6f1974d131091cc6b1953f8ae974b27503",
    "installed/node_modules/zod/src/v4/classic/tests/intersection.test.ts": "f443b615937d929a381a7a8b1b0ec17f63f1514e8a5d8059d63e4ad4d52c1334",
    "installed/node_modules/zod/src/v4/classic/tests/json.test.ts": "ee8aeddf8696bb9dc97d360217b4140ed9434ec6c6e8598ccda18094c6981c2d",
    "installed/node_modules/zod/src/v4/classic/tests/lazy.test.ts": "4c3c1ac8620955f7f19713771ef48d8401fa0deecd0e1dfda205fecf89f8c8cc",
    "installed/node_modules/zod/src/v4/classic/tests/literal.test.ts": "0578ee6c51da101e10bc4c6d3ffc8d83d7f94ab105c13f1885099fa83ecff75c",
    "installed/node_modules/zod/src/v4/classic/tests/map.test.ts": "2847a83a1ab7c56e6bc75f16589ebc732eac91a4b9a4ed95b347669a47b116af",
    "installed/node_modules/zod/src/v4/classic/tests/nan.test.ts": "2ff494cc0c8c785f29b0b4c2eff2e93b3f829b518266d78a05ee40fea9ffc11a",
    "installed/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts": "8e3f3492563a93adaded8b352e03a087f1c5c2f6a5fbc853ca4e2706ea006799",
    "installed/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts": "da7b649ce80f3248cd05be85ef8f63792aa6cbc5fe58befac8bc790f02025867",
    "installed/node_modules/zod/src/v4/classic/tests/nullable.test.ts": "a749dc3a8ca78ac05c94abd82958c692b492e4ed6d93c6c05ad1b9a769067850",
    "installed/node_modules/zod/src/v4/classic/tests/number.test.ts": "44d7346f9c765483b604cd7869be015f81579becde3e879eade3040a657231a9",
    "installed/node_modules/zod/src/v4/classic/tests/object.test.ts": "ad4cf34a3db6643b7ee1072f0a3e7a4a0036152c981b1e249a74a855a913c759",
    "installed/node_modules/zod/src/v4/classic/tests/optional.test.ts": "2ca447d5e92099d96cea6cc9f8877d21bba026f55bfef4968af20d8c787ebd44",
    "installed/node_modules/zod/src/v4/classic/tests/partial.test.ts": "6fcf3fcbb6e19a3fdf1aad13e5531bbe4de0854421387f57c8c43405f69dc50d",
    "installed/node_modules/zod/src/v4/classic/tests/pickomit.test.ts": "2584e0ff35c59cbc78f20bf80654765d40cac0d395379e245324deb70683db1d",
    "installed/node_modules/zod/src/v4/classic/tests/pipe.test.ts": "0dfc01a67876a1dd328ca9a8584e9f1b38bed1b1c608c4f21d9b712b933508c8",
    "installed/node_modules/zod/src/v4/classic/tests/prefault.test.ts": "f4544f6e42b1a2393ab4ade9d263c51c33d5c5da1d40a033d74eb15efc0f6c55",
    "installed/node_modules/zod/src/v4/classic/tests/preprocess.test.ts": "5ee79d5e0bf31a7f096a8325a7dcbe03d131a84ed7902f4b6bb87d373d614dcf",
    "installed/node_modules/zod/src/v4/classic/tests/primitive.test.ts": "b5a2f74d03039eff1d20229ab35594d1e9a808dc50b943e802724525338f9f1f",
    "installed/node_modules/zod/src/v4/classic/tests/promise.test.ts": "b7d58a54d480429314f23cd52c2a78baefaa5c1e87f4bfd0b13a9e30d586c754",
    "installed/node_modules/zod/src/v4/classic/tests/prototypes.test.ts": "c6e493d089995c8aecc728b99bd2dbcb6f56137be4537c3e2fd657838c582ebc",
    "installed/node_modules/zod/src/v4/classic/tests/readonly.test.ts": "c2ddd379f4e85caa2856ba0b784c44be87c079cef18ba4108ba698fa9fecb611",
    "installed/node_modules/zod/src/v4/classic/tests/record.test.ts": "23dd2a799c68650acbe4f0bb99988581de9940479934ec6de6f8da67f1500399",
    "installed/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts": "70d45e201cf3520c5893234c84fd00b6d4cca7dc587ef11aa4b8b068a98cb1a2",
    "installed/node_modules/zod/src/v4/classic/tests/refine.test.ts": "510c59093ee7a57558b8b25c822af455f43045a4dfc0f119c8e92099f8cfc312",
    "installed/node_modules/zod/src/v4/classic/tests/registries.test.ts": "4325f184075634098ec061b2b6070bc7b27c55301191a444d41662e029ce6e33",
    "installed/node_modules/zod/src/v4/classic/tests/set.test.ts": "77be696949b34eddb5f9c16d2caf0a27d8389c515c0e0aad7ec00b4e91e9dc22",
    "installed/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts": "af5fef06f1d9f695d39842ae98c29555f05c432d2fe5abd361a20c748de39c7c",
    "installed/node_modules/zod/src/v4/classic/tests/string-formats.test.ts": "b80906e216a5e1762471e6518df2159b6a589e1b45f6c3fc72aa8df0f3bae2e4",
    "installed/node_modules/zod/src/v4/classic/tests/string.test.ts": "f609cea8c29427b7ca6f4e018b682089a8c696364bec3181073a1b9f984be2ca",
    "installed/node_modules/zod/src/v4/classic/tests/stringbool.test.ts": "4745386ff3960d60bb2eec388857a9f9c0981096ac2b87254ca54b5957d15d7a",
    "installed/node_modules/zod/src/v4/classic/tests/template-literal.test.ts": "046c9a2be0f13d16d5213d0ba8c228b9bd656854f8a44a52343e3d369736142f",
    "installed/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts": "23f0b5d18ab1c24b22f2875a1cc21bad471b1fbc0ea4dbac78bcef26d5dfe7db",
    "installed/node_modules/zod/src/v4/classic/tests/transform.test.ts": "ca1bc8fc297cef33f3580232d64e9eefde3cf16cdad28af4e46f38be91cfb282",
    "installed/node_modules/zod/src/v4/classic/tests/tuple.test.ts": "5a3bc2d55d560fa267483c68ff165a79861bd57351c9e08a0bc50249141a0ceb",
    "installed/node_modules/zod/src/v4/classic/tests/union.test.ts": "7c4e81f8210d3c99c1ee27210c226b23fa0fa3b7587930ea208d5aa278683430",
    "installed/node_modules/zod/src/v4/classic/tests/validations.test.ts": "b2dd61b3b20b082cee04ef5d988cb4852909f9f0e71bbaf2a91f1a681bc674be",
    "installed/node_modules/zod/src/v4/classic/tests/void.test.ts": "a1e5ff5f759a09e192764d4f153443bc5735cf8b6db6d810e21f0dddb414e805",
    "installed/node_modules/zod/src/v4/core/api.ts": "b3a902d6da03bcba163aeaa3fdcba08810f5d7f049db70fbf71a6181c674abda",
    "installed/node_modules/zod/src/v4/core/checks.ts": "91b8ebf3b4ceb2085d3c78d6ca9b60008ca35bb51fb06b6788506c98eff29d05",
    "installed/node_modules/zod/src/v4/core/config.ts": "3c3ec0c03ee7387685f7a5e0155d9d55f251ffe4cfb5f4447bcbd380aed3d847",
    "installed/node_modules/zod/src/v4/core/core.ts": "a4ab07ede271305f79ecd230a5005e31dd11366e326c4c598203a4408ec38c0a",
    "installed/node_modules/zod/src/v4/core/doc.ts": "9dcdf874891a1da7d298ef50bbbed6cb5c7d623191169094155a85d3c99d9b2b",
    "installed/node_modules/zod/src/v4/core/errors.ts": "f0fe9cc29714621ddb838ca7c2f361a3ed9da69ea56aa2367de29d43bd2eb47e",
    "installed/node_modules/zod/src/v4/core/function.ts": "6f6ca716a34ad66e3861d9a1371014c3669b5b2216cbf84376bbffdd971ef905",
    "installed/node_modules/zod/src/v4/core/index.ts": "f5c8f2ef9603893e25ed86c7112cd2cc60d53e5387b9146c904bce3e707c55de",
    "installed/node_modules/zod/src/v4/core/json-schema.ts": "873fc49d9ebabd391cf4c375d0cd1e7f37df845a60676f637e84ec980e05a192",
    "installed/node_modules/zod/src/v4/core/parse.ts": "18824a99ce3c0be1a16faa8a63e297dfae4fa12152e1d317fc88d6f8c26e8905",
    "installed/node_modules/zod/src/v4/core/regexes.ts": "3d98827a5f73f4d748163a04860668fa321ce5bdfa5b0616d621af994e98f3ed",
    "installed/node_modules/zod/src/v4/core/registries.ts": "86f08542dfd2de84852dcd410dc27d106dfc5064847067031f65310165da5a01",
    "installed/node_modules/zod/src/v4/core/schemas.ts": "5910d2a181b6570189730578df0ff7c90bd7b2cda6ae1064026d236a47fb687d",
    "installed/node_modules/zod/src/v4/core/standard-schema.ts": "a735603c641e08e97ac18157e4a427334ed7026ecc49ddb8abd8e3fc8d841294",
    "installed/node_modules/zod/src/v4/core/tests/index.test.ts": "f9a514f603c4350f532d14c5a3fd4748935c4ffb1ab90fa8e8df8671163a7524",
    "installed/node_modules/zod/src/v4/core/tests/locales/be.test.ts": "d6c1dbf1710130c39d58aa149c5f33cea1e445f05fda5fff6c6e6393358d699d",
    "installed/node_modules/zod/src/v4/core/tests/locales/en.test.ts": "5bb1540b21984c313c14c4b6e91e14c8b4ec40dd42d0f30bdf24c04543971a29",
    "installed/node_modules/zod/src/v4/core/tests/locales/ru.test.ts": "1944b0643c6ef9e194e5256515363d9f475eacb7339ff1745a7629ca38109dd8",
    "installed/node_modules/zod/src/v4/core/tests/locales/tr.test.ts": "ac6abcbff8137f499ab657115612c32ceb9b0c12903e27f988e8a97d208d2652",
    "installed/node_modules/zod/src/v4/core/to-json-schema.ts": "2c05bc179ea78f49de8f7db082c90ec1ba952a00b18471ca20380bb3b37bc547",
    "installed/node_modules/zod/src/v4/core/util.ts": "37260075a60848e723198288f17462435ae1bf0268278f992de19ddab8538479",
    "installed/node_modules/zod/src/v4/core/versions.ts": "fa850b33c60473698d81ee3ec6c7971bd130b12d766aafaacd661e7960f9fcd4",
    "installed/node_modules/zod/src/v4/core/zsf.ts": "975e61b52c8de9fad0a0086952b9ee8a1abbacfa4489659529c53e80dd78094e",
    "installed/node_modules/zod/src/v4/index.ts": "9f0dfd9a085d4ec23e8a073406300e4bffeb0fd3540b1f395c44b566f27d4d49",
    "installed/node_modules/zod/src/v4/locales/ar.ts": "94cc038af03f0b0c8b264c1c55f107c93aa4b17c8c39759cac69c69ed5d9663a",
    "installed/node_modules/zod/src/v4/locales/az.ts": "3d2f271c94a005a23cc831ed1a3a39167832f950048f6845bb5aab510e6b1188",
    "installed/node_modules/zod/src/v4/locales/be.ts": "58396251205234d11850d154228b5cdbf96f7887f48b19d59ebc59a7c48adee7",
    "installed/node_modules/zod/src/v4/locales/ca.ts": "d76dc77da7f7d89c3625ed821e333474f964fbfb69ab256007491d483a7fd11c",
    "installed/node_modules/zod/src/v4/locales/cs.ts": "cef69a633387974e6703cc4eca16c242f889fa3754bc559d9277b705e627a1c9",
    "installed/node_modules/zod/src/v4/locales/de.ts": "5abfa7d3751f211b66b833c8183c9614e371f9c987fa7baa60857135fec14d64",
    "installed/node_modules/zod/src/v4/locales/en.ts": "f6e748ebd8de82a83281883a4180536070c96c2db4a159f23987b0e4a026c69d",
    "installed/node_modules/zod/src/v4/locales/eo.ts": "3c0a3c8f8be4c6aa1ad0f792d6b420c29aa7c4ca92dd4832078d0b25538505f5",
    "installed/node_modules/zod/src/v4/locales/es.ts": "424afd39773abbf41240be21f5449e621881592d39ab6617fee5c3c5cc68cb6f",
    "installed/node_modules/zod/src/v4/locales/fa.ts": "60b1d48339a83add0c5ab7b342072ee5112f868c7e0e66714aa7d2e6da005d13",
    "installed/node_modules/zod/src/v4/locales/fi.ts": "2fe0d68b72a538a5bccffdf8ea27479e7321d26f0555e29cf827d33663c8e05f",
    "installed/node_modules/zod/src/v4/locales/fr-CA.ts": "c5ad7b6f17961f82dd13cd046532d0c7b668f7e464132b2f1a9e7d5b531e37e9",
    "installed/node_modules/zod/src/v4/locales/fr.ts": "da7a384cdf216c57feb3bbc3aef63a43b489a55353602888596b9f8b6e4027d7",
    "installed/node_modules/zod/src/v4/locales/he.ts": "50e7e62b9079e19baeff8890eb60757eaef186527d464baaf93ebb6bb3c2a048",
    "installed/node_modules/zod/src/v4/locales/hu.ts": "825c84d6fe0d5d1d410609df4efa20db893dd4c22eb93f2aa075f599fdec375b",
    "installed/node_modules/zod/src/v4/locales/id.ts": "8f61c1779a45459f0606edc8e5e85eba0bc79de96b9ae6d3af9753d77fab5027",
    "installed/node_modules/zod/src/v4/locales/index.ts": "44b79738199273eb8e74fd2d343dcb99f102cda7870fd1531f31d4a8a10810f5",
    "installed/node_modules/zod/src/v4/locales/it.ts": "28f0f40702fd7d91461ccbb466d1d1ab3fdc3a702707e1ed356ff5e51453345d",
    "installed/node_modules/zod/src/v4/locales/ja.ts": "87383f9f7101075eb087968f0d12084cdecf23a8e4af0b91ebf78ad8b788effb",
    "installed/node_modules/zod/src/v4/locales/kh.ts": "f68820276449ef124e35fa38a1b1d784dc5b4411bf9ee7127ffdaae3393882d8",
    "installed/node_modules/zod/src/v4/locales/ko.ts": "ca90a3c670657d1f59253534bbc5ca56b73549d9a500229c605f269650802361",
    "installed/node_modules/zod/src/v4/locales/mk.ts": "536ccf5033c0153b424cafff555b7d4c6044b3bcc6ec73d65bca27c871d5be6b",
    "installed/node_modules/zod/src/v4/locales/ms.ts": "689764fc38f037e660712af64ad285855c545762009cb7a8ad880ec6dfdf99df",
    "installed/node_modules/zod/src/v4/locales/nl.ts": "cd4bf4207ff3a00fecb01b8d3cf56fa704d240b13f57527a5089f585aa657dc2",
    "installed/node_modules/zod/src/v4/locales/no.ts": "09548cb18fceb85bb5d76cd618b8a822db9d170290bd51bc39806620a39ecf88",
    "installed/node_modules/zod/src/v4/locales/ota.ts": "24bf7362b0b056f4fda7638b473401ecf218d3741f5face257735194a5328dee",
    "installed/node_modules/zod/src/v4/locales/pl.ts": "09fe366cf11786b78a03c87c2224bac3358e629c944a232bbc32dc503ed19c47",
    "installed/node_modules/zod/src/v4/locales/ps.ts": "a9c963e2339118f0c19b77e0743a8cf910c6edef62f189fb0a3643e336c2ffec",
    "installed/node_modules/zod/src/v4/locales/pt.ts": "42f35b9c59c2bba49922ad3ada63b0408fe8de9b88807d6858af890ec255b622",
    "installed/node_modules/zod/src/v4/locales/ru.ts": "99fff5403ea8c01263675e99ba7b80249fe3aa00dac829d1a20f8e26331268ac",
    "installed/node_modules/zod/src/v4/locales/sl.ts": "a381cd500472dae38b617c0b32a4617b89ad9475218fd87bff0192f528ae787f",
    "installed/node_modules/zod/src/v4/locales/sv.ts": "67aee549129f6f460bd500278347e13c96322a35f0c12c76aa3632cc3dbe724d",
    "installed/node_modules/zod/src/v4/locales/ta.ts": "db63f8cc63fb88be90e822a0803e9c4b03bf96935182eb1c86229b4cc9300221",
    "installed/node_modules/zod/src/v4/locales/th.ts": "b1c1e68c1b1d81fe26ba945b6cbec2dc2c4138c94b243b6827dd6a156ac7181e",
    "installed/node_modules/zod/src/v4/locales/tr.ts": "57bfe52d1d8554cce8a2df4953cffea1fd69e59cd539fc0f8b54210abd1288ad",
    "installed/node_modules/zod/src/v4/locales/ua.ts": "db64683bb605b98c1a75e64dce0debf3717d1c44d8d196091975d7cf0c348e4a",
    "installed/node_modules/zod/src/v4/locales/ur.ts": "1a1f050550cfcefb762ca6d9f2c0f46550613a5ec4ec835c5786f40c8ae8daf9",
    "installed/node_modules/zod/src/v4/locales/vi.ts": "c417610d93565c91c8e730fb510d56baa8024d6757f21be03c54ad31d662f5e0",
    "installed/node_modules/zod/src/v4/locales/zh-CN.ts": "a3d8b1bc3758099a6385f175f312f28505d15178d65557fd49db8bd686069cc0",
    "installed/node_modules/zod/src/v4/locales/zh-TW.ts": "28b342ec5c1e2de8d2525893f4ee81407635fc500fa6560a74209513730eb8ae",
    "installed/node_modules/zod/src/v4/mini/checks.ts": "c4f16c0e97aa6f0385c0bd147a0438f522343797d72f4cf0cb466213e0b74635",
    "installed/node_modules/zod/src/v4/mini/coerce.ts": "e80b80452e5c3a248d3deb1044f14d9810d2e86642f943c10999f47116f226fc",
    "installed/node_modules/zod/src/v4/mini/external.ts": "a4a2c66d1b9e7ae0fff7cf70a0f19ff54b34e3b70331782b05cc9ba6f99006c3",
    "installed/node_modules/zod/src/v4/mini/index.ts": "455d93e660b61feec18cd4c31e2f394627546ae8ab31f9bacdab6318112ac31c",
    "installed/node_modules/zod/src/v4/mini/iso.ts": "2d1a5e84a00aca5c3f1b2cebeb1b9a12ccfb7b38c15c96219571a20d72e39a03",
    "installed/node_modules/zod/src/v4/mini/parse.ts": "282c7c34b3d3e64894fd94c26ab4fda015cc4abbb040881463f30b405082b4c3",
    "installed/node_modules/zod/src/v4/mini/schemas.ts": "1e36571e7e5dfed9f2ec9818c28e785450adf095a35065e018fe886b32020b6b",
    "installed/node_modules/zod/src/v4/mini/tests/assignability.test.ts": "66d1bafe2dfda7b3c9bb05a09a6b46db905ea3198fbc6d884a9e58b801dc262c",
    "installed/node_modules/zod/src/v4/mini/tests/brand.test.ts": "72b40e92c5ad4442024edd3681afbdf986476efff01929efb427b82c5b124710",
    "installed/node_modules/zod/src/v4/mini/tests/checks.test.ts": "14c8c7c6fba2bc5a06a5f7fbfdf7774bf7a7135c233b47887cb306e5b7f71aa3",
    "installed/node_modules/zod/src/v4/mini/tests/computed.test.ts": "93a86462a1a70fad36d8359a16bc071a7131d3fe20444c933d3eb86cf1002573",
    "installed/node_modules/zod/src/v4/mini/tests/error.test.ts": "5c3e0c601d413bba19332f7424ff38ce58930cf797e6729f407e1b1843e7f442",
    "installed/node_modules/zod/src/v4/mini/tests/functions.test.ts": "438082fe06c6a89aa9f14ca53acd015be69205fb9aa26e8bb12d6494ee14005e",
    "installed/node_modules/zod/src/v4/mini/tests/index.test.ts": "079bba906fd37a1967aead745964d7f1b00b3b6a8f9d602013b13aa2f5806241",
    "installed/node_modules/zod/src/v4/mini/tests/number.test.ts": "da28b542639ae60266d163bc8e2f3c6a376034a292bf2ae39c313251d5f22b1c",
    "installed/node_modules/zod/src/v4/mini/tests/object.test.ts": "8c88459b23bf87438b3ff9a0d02940f16c08dbe4a094fdee69a23f9639483bb1",
    "installed/node_modules/zod/src/v4/mini/tests/prototypes.test.ts": "c438e0e477fe8ef42dc73ff010ae2c548f4681b85015359a2ff13c14c021cdc3",
    "installed/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts": "22f8601e69b4e2b1c5be67e16110007543d77229b3cb93ee82db5f9aac0465e1",
    "installed/node_modules/zod/src/v4/mini/tests/string.test.ts": "eafed7b0fd4bb6d72ea105a71b99f3fbe6138d585748b5bbb93cf83238ae7c5a",
    "installed/node_modules/zod/src/v4-mini/index.ts": "cf94ca2939d655e17fdfd1d0a3aceb4cbeb040d8946e9c9c1eaa5cc734dc69c8",
    "installed/node_modules/zod/v3/ZodError.cjs": "88b9cdd780a91656965e07b94c86c0e4729f97923d45cc9d7944b0973a462503",
    "installed/node_modules/zod/v3/ZodError.d.cts": "08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c",
    "installed/node_modules/zod/v3/ZodError.d.ts": "54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953",
    "installed/node_modules/zod/v3/ZodError.js": "f5ac9e86b92e201d41e294d7aa35986a2aa28829e1bcc8ac25f7c8dce0674b99",
    "installed/node_modules/zod/v3/errors.cjs": "bd32dbc86faeec2de1cc8e42ee3b29af2cbeb24fb5e3b57d7f056bb09cf8d4bd",
    "installed/node_modules/zod/v3/errors.d.cts": "e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a",
    "installed/node_modules/zod/v3/errors.d.ts": "8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33",
    "installed/node_modules/zod/v3/errors.js": "d40831f478288d76e82bbbcc3b7e95c8513b6e76471f2d49a37c979bc57d492d",
    "installed/node_modules/zod/v3/external.cjs": "224ff76e204434ec469f71dbba41d475db1ea873d3f3a5c26d75ab3a9c9f5f11",
    "installed/node_modules/zod/v3/external.d.cts": "a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206",
    "installed/node_modules/zod/v3/external.d.ts": "5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445",
    "installed/node_modules/zod/v3/external.js": "5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445",
    "installed/node_modules/zod/v3/helpers/enumUtil.cjs": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
    "installed/node_modules/zod/v3/helpers/enumUtil.d.cts": "f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c",
    "installed/node_modules/zod/v3/helpers/enumUtil.d.ts": "f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c",
    "installed/node_modules/zod/v3/helpers/enumUtil.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/zod/v3/helpers/errorUtil.cjs": "9c9e5dec7d1e9fce6a967735adf0333abd44d5e94a0225537c60ceed0c4f606a",
    "installed/node_modules/zod/v3/helpers/errorUtil.d.cts": "e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904",
    "installed/node_modules/zod/v3/helpers/errorUtil.d.ts": "e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904",
    "installed/node_modules/zod/v3/helpers/errorUtil.js": "68589c0cf44c8b4ad19b77418f53caad2cd1dbc8d714f526e1876ebdee4828c5",
    "installed/node_modules/zod/v3/helpers/parseUtil.cjs": "40aaa18765f13ae1a933c6f215ecceb6d3afee89eaa23bb080997e08c30a5b00",
    "installed/node_modules/zod/v3/helpers/parseUtil.d.cts": "dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53",
    "installed/node_modules/zod/v3/helpers/parseUtil.d.ts": "754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3",
    "installed/node_modules/zod/v3/helpers/parseUtil.js": "b57484013bb360bac2e334d58fcd5f6cbfa63ffcc7d8ff3dbbb3380ca659b956",
    "installed/node_modules/zod/v3/helpers/partialUtil.cjs": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
    "installed/node_modules/zod/v3/helpers/partialUtil.d.cts": "2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b",
    "installed/node_modules/zod/v3/helpers/partialUtil.d.ts": "de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44",
    "installed/node_modules/zod/v3/helpers/partialUtil.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/zod/v3/helpers/typeAliases.cjs": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
    "installed/node_modules/zod/v3/helpers/typeAliases.d.cts": "d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5",
    "installed/node_modules/zod/v3/helpers/typeAliases.d.ts": "d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5",
    "installed/node_modules/zod/v3/helpers/typeAliases.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/zod/v3/helpers/util.cjs": "9b75d4955de684d11371054bbf8e4d747cb1ad7284ae1eda85d4c188b84c47fc",
    "installed/node_modules/zod/v3/helpers/util.d.cts": "293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec",
    "installed/node_modules/zod/v3/helpers/util.d.ts": "293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec",
    "installed/node_modules/zod/v3/helpers/util.js": "906ef685e5853d496e293ee8f8a2bb8b1ed2d078a1bcdfedb2dfd61d75b6330c",
    "installed/node_modules/zod/v3/index.cjs": "d58a1fea61e0f0bccdb2f4fd3b7b098adcfddb44f036302c4d2c4e173540a292",
    "installed/node_modules/zod/v3/index.d.cts": "833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e",
    "installed/node_modules/zod/v3/index.d.ts": "3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617",
    "installed/node_modules/zod/v3/index.js": "3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617",
    "installed/node_modules/zod/v3/locales/en.cjs": "9f9d945a9e4c920a0790654b6c213839ad90b7414bada0a23c0284d45c8ed840",
    "installed/node_modules/zod/v3/locales/en.d.cts": "f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340",
    "installed/node_modules/zod/v3/locales/en.d.ts": "c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd",
    "installed/node_modules/zod/v3/locales/en.js": "51a6dcc5d4bd52a64da127c012c6c963395c1d9a343ad75d4a8eca662fc8b205",
    "installed/node_modules/zod/v3/standard-schema.cjs": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
    "installed/node_modules/zod/v3/standard-schema.d.cts": "25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262",
    "installed/node_modules/zod/v3/standard-schema.d.ts": "25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262",
    "installed/node_modules/zod/v3/standard-schema.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/zod/v3/types.cjs": "06487cc05ed45c5dd29789bf0aa75734d1ce06592a7f2665ba4ca90a68e8a3e1",
    "installed/node_modules/zod/v3/types.d.cts": "4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d",
    "installed/node_modules/zod/v3/types.d.ts": "2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2",
    "installed/node_modules/zod/v3/types.js": "9763a2938f0e7f983363ef4bf6530e7583e3f2d54f8a4a6684efad58febc6e8e",
    "installed/node_modules/zod/v4/classic/checks.cjs": "a3ec0b1f2ce36c04dff99eced43eef15bd378c50d0113c723c20ad89ac535fae",
    "installed/node_modules/zod/v4/classic/checks.d.cts": "ffc3e1064146c1cafda1b0686ae9679ba1fb706b2f415e057be01614bf918dba",
    "installed/node_modules/zod/v4/classic/checks.d.ts": "f20eb2e1153f7b80a52d30261dc0b90ad4a5adcfccc9b150d3998afdaea7f9d3",
    "installed/node_modules/zod/v4/classic/checks.js": "f20eb2e1153f7b80a52d30261dc0b90ad4a5adcfccc9b150d3998afdaea7f9d3",
    "installed/node_modules/zod/v4/classic/coerce.cjs": "d25b07eead67ff339c3e2a6d5b7364647e11f57fff3e82055d49575304dce057",
    "installed/node_modules/zod/v4/classic/coerce.d.cts": "e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9",
    "installed/node_modules/zod/v4/classic/coerce.d.ts": "1f4a8bb5e841d3a1510d12a84640ee327f5a4b55484e8f16e2b285d54eb19924",
    "installed/node_modules/zod/v4/classic/coerce.js": "fb2efe3b6eacc475c77cbb571b5fb8650d92a10f316dc869e49b722973d83c3c",
    "installed/node_modules/zod/v4/classic/compat.cjs": "3e9503fe63445e2660aff820270a76adf9c14a9c21a50a11ccab1d2a1f90ac54",
    "installed/node_modules/zod/v4/classic/compat.d.cts": "995869b1ddf66bbcfdb417f7446f610198dcce3280a0ae5c8b332ed985c01855",
    "installed/node_modules/zod/v4/classic/compat.d.ts": "6e0a343ec6256acecb9a77e9ecc164f7a6d2e79dcea3472d231d8cfff1ebe0da",
    "installed/node_modules/zod/v4/classic/compat.js": "f6e722ba46fe0df237a50533e1babccaf9afa97a1fff7bc1289fe6971eb65761",
    "installed/node_modules/zod/v4/classic/errors.cjs": "b4ac3cd90c9b4a2e86bbd56fd8fc117b032ce0b51139b2ea294531606dbce449",
    "installed/node_modules/zod/v4/classic/errors.d.cts": "6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c",
    "installed/node_modules/zod/v4/classic/errors.d.ts": "03be953961283699e72d526e1bff478be5af0840094b7e37d90a15ffd1426f64",
    "installed/node_modules/zod/v4/classic/errors.js": "76ae50a572927e663482745bb0a9cbe99576462b308e50f4df4f630aa863724f",
    "installed/node_modules/zod/v4/classic/external.cjs": "f55bafb8d43bd7e2ecf4af8ad6b7338af86c041701b8b23c69e4addaf4d9ae55",
    "installed/node_modules/zod/v4/classic/external.d.cts": "dca963a986285211cfa75b9bb57914538de29585d34217d03b538e6473ac4c44",
    "installed/node_modules/zod/v4/classic/external.d.ts": "4223f0ae0c2925a2d365ef6c9152641b17736cf143d120beedc0543576eaae93",
    "installed/node_modules/zod/v4/classic/external.js": "192e6e484559c6e9083f0a8bb1c819d6a6432ed720aa67a139361c79ef4965f6",
    "installed/node_modules/zod/v4/classic/index.cjs": "d58a1fea61e0f0bccdb2f4fd3b7b098adcfddb44f036302c4d2c4e173540a292",
    "installed/node_modules/zod/v4/classic/index.d.cts": "d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac",
    "installed/node_modules/zod/v4/classic/index.d.ts": "d49030b9a324bab9bcf9f663a70298391b0f5a25328409174d86617512bf3037",
    "installed/node_modules/zod/v4/classic/index.js": "d49030b9a324bab9bcf9f663a70298391b0f5a25328409174d86617512bf3037",
    "installed/node_modules/zod/v4/classic/iso.cjs": "f5d840d941b87a868da63fba9e4eb5917cadd87100af4940113f0ddd75dd9043",
    "installed/node_modules/zod/v4/classic/iso.d.cts": "58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307",
    "installed/node_modules/zod/v4/classic/iso.d.ts": "50f3d54845c748597afd9fe6a474862ab957f61f274d5fcba6509f5e4174c988",
    "installed/node_modules/zod/v4/classic/iso.js": "3cc5e6b4da086b8ffc7ee3188c69e4d3c945b368092e78d2299b5321182752c5",
    "installed/node_modules/zod/v4/classic/parse.cjs": "f72ed8f00916ff139a5c5538265cf385fb9f8f10f2d01a1e840d4a3ca1f1c0b3",
    "installed/node_modules/zod/v4/classic/parse.d.cts": "41f185713d78f7af0253a339927dc04b485f46210d6bc0691cf908e3e8ded2a1",
    "installed/node_modules/zod/v4/classic/parse.d.ts": "895c5944c6c2c15637f645e0731c32d54a63879b6c1a1460a863ba16c0e5d721",
    "installed/node_modules/zod/v4/classic/parse.js": "ee68538f1c00a2d081cb238555f8c404ebd09e92ba003cfc08d24e67cc6ba57f",
    "installed/node_modules/zod/v4/classic/schemas.cjs": "5dc0fa909b88a21c0f7b7e2e23256dc8c28237388e50e12f6fb3d2dd857e4dd7",
    "installed/node_modules/zod/v4/classic/schemas.d.cts": "23ee410c645f68bd99717527de1586e3eb826f166d654b74250ad92b27311fde",
    "installed/node_modules/zod/v4/classic/schemas.d.ts": "b9774686600e48e2ece67faf6684d2da13841e91a329c8fd9e364f9e75c439c6",
    "installed/node_modules/zod/v4/classic/schemas.js": "28b3d92b54eb416e445d53355e9a179b066e8ce113e59b9ea110308040054c6c",
    "installed/node_modules/zod/v4/core/api.cjs": "b1c96b0667387e1ce6b3969a74da497f0e120249f764f240cec136fab85013a3",
    "installed/node_modules/zod/v4/core/api.d.cts": "35475931e8b55c4d33bfe3abc79f5673924a0bd4224c7c6108a4e08f3521643c",
    "installed/node_modules/zod/v4/core/api.d.ts": "289ffad6574dcc391ee222db91e72c2e8713fa26534a014c97a6c833ceea0236",
    "installed/node_modules/zod/v4/core/api.js": "dec3ba8434fa33af414f1f41f9c4b9d6745718e0b7d8e0abb203138454c36025",
    "installed/node_modules/zod/v4/core/checks.cjs": "498c9ca78a5faeb792b5c724579df821e4d4fdf2af8ec3c4d6421dcbae5ff140",
    "installed/node_modules/zod/v4/core/checks.d.cts": "88863d76039cc550f8b7688a213dd051ae80d94a883eb99389d6bc4ce21c8688",
    "installed/node_modules/zod/v4/core/checks.d.ts": "c6f59a9804fdf860eb510e28aa7c695950f28a772accea142acb70e68eae5d6e",
    "installed/node_modules/zod/v4/core/checks.js": "cb11fc441323705bcbe476d79fad97aa388c9c4374dad1a03a1e0735fdc35c16",
    "installed/node_modules/zod/v4/core/core.cjs": "0e4bf3bbd3f0d732dc3063141e6580e1d657fda139fc76f0c40fc84ac6316da3",
    "installed/node_modules/zod/v4/core/core.d.cts": "243649afb10d950e7e83ee4d53bd2fbd615bb579a74cf6c1ce10e64402cdf9bb",
    "installed/node_modules/zod/v4/core/core.d.ts": "6dfc99e76f74e497635aee14502c26a5dd8964fcf6e2f8170318fb299ce69182",
    "installed/node_modules/zod/v4/core/core.js": "c2d3947a2b138becd65fbe6d7e5826dcbbfecb11d7c84311a8de684a06b6c435",
    "installed/node_modules/zod/v4/core/doc.cjs": "ae6c5bfe9570d30c119cd6bc9dff33f6956858b4fa6887b2b1f9680f11d1b65d",
    "installed/node_modules/zod/v4/core/doc.d.cts": "80e653fbbec818eecfe95d182dc65a1d107b343d970159a71922ac4491caa0af",
    "installed/node_modules/zod/v4/core/doc.d.ts": "80e653fbbec818eecfe95d182dc65a1d107b343d970159a71922ac4491caa0af",
    "installed/node_modules/zod/v4/core/doc.js": "e084bbcc536746a8942fd33b08afe4db345554b3a0383114f1dca95261c958d9",
    "installed/node_modules/zod/v4/core/errors.cjs": "24a4b4d9261929a7999e0769294c332c56dcfb1582198bf38a5e1d96612cce53",
    "installed/node_modules/zod/v4/core/errors.d.cts": "e9ce511dae7201b833936d13618dff01815a9db2e6c2cc28646e21520c452d6c",
    "installed/node_modules/zod/v4/core/errors.d.ts": "2d4885146de028d8443e1e47c05035607481cf0845ee5048f5a880f3b22fffdb",
    "installed/node_modules/zod/v4/core/errors.js": "32bb479bf0d089775ca8a5cba2505243d5631b15dde2988c0cea6b93f87176d6",
    "installed/node_modules/zod/v4/core/function.cjs": "55000849f332f06efca6ed87a7acf932f32900de07dee33a08f8a1aa493d2be3",
    "installed/node_modules/zod/v4/core/function.d.cts": "53f00dc83ccceb8fad22eb3aade64e4bcdb082115f230c8ba3d40f79c835c30e",
    "installed/node_modules/zod/v4/core/function.d.ts": "f978b1b63ad690ff2a8f16d6f784acaa0ba0f4bcfc64211d79a2704de34f5913",
    "installed/node_modules/zod/v4/core/function.js": "bb5e86228aa80d2d11c1585b7e3ef4c4b8628fbcfef43b4bc7ab2d22665057e5",
    "installed/node_modules/zod/v4/core/index.cjs": "353f8c983605a7f0ea7c414fba2e14147fe92a93aeb8ed22476f59e744171437",
    "installed/node_modules/zod/v4/core/index.d.cts": "451abef2a26cebb6f54236e68de3c33691e3b47b548fd4c8fa05fd84ab2238ff",
    "installed/node_modules/zod/v4/core/index.d.ts": "f5c8f2ef9603893e25ed86c7112cd2cc60d53e5387b9146c904bce3e707c55de",
    "installed/node_modules/zod/v4/core/index.js": "f5c8f2ef9603893e25ed86c7112cd2cc60d53e5387b9146c904bce3e707c55de",
    "installed/node_modules/zod/v4/core/json-schema.cjs": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
    "installed/node_modules/zod/v4/core/json-schema.d.cts": "9078205849121a5d37a642949d687565498da922508eacb0e5a0c3de427f0ae5",
    "installed/node_modules/zod/v4/core/json-schema.d.ts": "9078205849121a5d37a642949d687565498da922508eacb0e5a0c3de427f0ae5",
    "installed/node_modules/zod/v4/core/json-schema.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/zod/v4/core/parse.cjs": "d1f050385216780e09cad2708bb35d06c5a7508f6313ece7b55c99a537e7676d",
    "installed/node_modules/zod/v4/core/parse.d.cts": "35575179030368798cbcd50da928a275234445c9a0df32d4a2c694b2b3d20439",
    "installed/node_modules/zod/v4/core/parse.d.ts": "716a022c6d311c8367d830d2839fe017699564de2d0f5446b4a6f3f022a5c0c6",
    "installed/node_modules/zod/v4/core/parse.js": "6ca78dcc2917d2634d0087372891bbeb8446ca1bdd208cfd52edfd43d40ac171",
    "installed/node_modules/zod/v4/core/regexes.cjs": "41d5ac4aff6305bf1e8cc6d7a8f504ccbd31d97e2f86147742b00ad5de89e445",
    "installed/node_modules/zod/v4/core/regexes.d.cts": "c939cb12cb000b4ec9c3eca3fe7dee1fe373ccb801237631d9252bad10206d61",
    "installed/node_modules/zod/v4/core/regexes.d.ts": "c939cb12cb000b4ec9c3eca3fe7dee1fe373ccb801237631d9252bad10206d61",
    "installed/node_modules/zod/v4/core/regexes.js": "89c429d4e4c24a4e3127209dbc85cba96c220e9fcfafcdf5a8d877b4d32bd796",
    "installed/node_modules/zod/v4/core/registries.cjs": "74bba53fbfb05d11d0bcff74504652354ea5491ed0f7e49eec2f9cbc2d7f19a2",
    "installed/node_modules/zod/v4/core/registries.d.cts": "3511847babb822e10715a18348d1cbb0dae73c4e4c0a1bcf7cbc12771b310d45",
    "installed/node_modules/zod/v4/core/registries.d.ts": "c381a7476166654e9a35cd4e819596bd716fa276fd9f51f7cc89cbd132a1fcca",
    "installed/node_modules/zod/v4/core/registries.js": "eda463db507bb77441979b706e3ee7050a1b7ced3c36ac6995c0d95673522c86",
    "installed/node_modules/zod/v4/core/schemas.cjs": "f5d17a7db487c943c9d07cc624010ebb6d93683eabd14339846f4912cc88b51f",
    "installed/node_modules/zod/v4/core/schemas.d.cts": "71623b889c23a332292c85f9bf41469c3f2efa47f81f12c73e14edbcffa270d3",
    "installed/node_modules/zod/v4/core/schemas.d.ts": "4481020e24a66e3d95f988633a3a817d5976cbb43014c89ec197b6ea59ccf7cd",
    "installed/node_modules/zod/v4/core/schemas.js": "d466582c022b08a3f9eb1a65d5970d8ca25064d73a5a838d76414ae36440a76b",
    "installed/node_modules/zod/v4/core/standard-schema.cjs": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
    "installed/node_modules/zod/v4/core/standard-schema.d.cts": "309ebd217636d68cf8784cbc3272c16fb94fb8e969e18b6fe88c35200340aef1",
    "installed/node_modules/zod/v4/core/standard-schema.d.ts": "309ebd217636d68cf8784cbc3272c16fb94fb8e969e18b6fe88c35200340aef1",
    "installed/node_modules/zod/v4/core/standard-schema.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/zod/v4/core/to-json-schema.cjs": "b51d223c8e1e3f75c967fbf8ceccb5c28d34d0dd292e0c8ea02398784d70418c",
    "installed/node_modules/zod/v4/core/to-json-schema.d.cts": "e8f8f095f137e96dc64b56e59556c02f3c31db4b354801d6ae3b90dceae60240",
    "installed/node_modules/zod/v4/core/to-json-schema.d.ts": "6490b14de0cc6bc2edb60b8078d35de061f766eb36bf8447ff2b15a337b0a279",
    "installed/node_modules/zod/v4/core/to-json-schema.js": "290ccb701c70580fe4127b64342f010523bbda2c43880198df9f846b2dcefcc6",
    "installed/node_modules/zod/v4/core/util.cjs": "d5750c08148d98a33b57ac42b0646694fcea2600e401f590e6585b43d4c640c3",
    "installed/node_modules/zod/v4/core/util.d.cts": "91cf9887208be8641244827c18e620166edf7e1c53114930b54eaeaab588a5be",
    "installed/node_modules/zod/v4/core/util.d.ts": "e8d1462be99ad3877e9b8d0dbcf03b9304009bafe0e35f0ad72028c25a9a7137",
    "installed/node_modules/zod/v4/core/util.js": "b01faa6f40ae5de8e4457aa77cad942f89550e3e7b95123477870b93bc9c9f11",
    "installed/node_modules/zod/v4/core/versions.cjs": "2dc1fe29972696932268d57c0a90c980006ee5c949aa99573b041857b81b664e",
    "installed/node_modules/zod/v4/core/versions.d.cts": "ef9b6279acc69002a779d0172916ef22e8be5de2d2469ff2f4bb019a21e89de2",
    "installed/node_modules/zod/v4/core/versions.d.ts": "ef9b6279acc69002a779d0172916ef22e8be5de2d2469ff2f4bb019a21e89de2",
    "installed/node_modules/zod/v4/core/versions.js": "f6e43e573ae673502ef0a2f45d0d1810be186673f4b46b2c4a02584713995ca9",
    "installed/node_modules/zod/v4/index.cjs": "35934fbd99d4ca1d46932dfcddb6071c203b5c980862cf58e254998c49e1e5b8",
    "installed/node_modules/zod/v4/index.d.cts": "8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155",
    "installed/node_modules/zod/v4/index.d.ts": "a4b634bb8c97cc700dbf165f3bb0095ec669042da72eaf28a7c5e2ddd98169ce",
    "installed/node_modules/zod/v4/index.js": "a4b634bb8c97cc700dbf165f3bb0095ec669042da72eaf28a7c5e2ddd98169ce",
    "installed/node_modules/zod/v4/locales/ar.cjs": "6002e5e70623812d648029d475a7332efd6732efd62d0fabf50464e78fb1904e",
    "installed/node_modules/zod/v4/locales/ar.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ar.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ar.js": "0c5613adab2e098069d88056df27f0bc361028d94d6af8a6dc46dda381d2d82e",
    "installed/node_modules/zod/v4/locales/az.cjs": "c1c10a58b0e71f8d52d511650cd367cf98ff65d1a28de746a40e951066a8d8ca",
    "installed/node_modules/zod/v4/locales/az.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/az.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/az.js": "cfb3ebe34580912dfb02fd3c22dcc80213f29d0ad99062f30c0cf56a9f511258",
    "installed/node_modules/zod/v4/locales/be.cjs": "ce1b703e307eb421fb7f562db294c77e4e8dfc9376be824fe62ee0c8784597f8",
    "installed/node_modules/zod/v4/locales/be.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/be.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/be.js": "b33d29e5b0f20b0520a8a05bbfcb1d96a43c205abac0f852d7e5e3eefc8450be",
    "installed/node_modules/zod/v4/locales/ca.cjs": "24f8907b01e99497ff32be812e46edebc3790d527e89cdf13c20522ae173be8f",
    "installed/node_modules/zod/v4/locales/ca.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ca.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ca.js": "e3f8525c1ed6a8c1fa6ae9e2871e1a7bd2aec67c89764d51ef920553042337e3",
    "installed/node_modules/zod/v4/locales/cs.cjs": "cea3f01e42b7fa84fda172427f170c86209a4ae4be121e5893fa044dbbb032fa",
    "installed/node_modules/zod/v4/locales/cs.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/cs.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/cs.js": "ca1527d68c849ff85e65b8697688719dca8df431724d8f3a64831439017fc5ef",
    "installed/node_modules/zod/v4/locales/de.cjs": "6aab2d8ad315d52194ee7e9b55b6df9ff802f9394090d7e80e6a2434b3f4f80c",
    "installed/node_modules/zod/v4/locales/de.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/de.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/de.js": "5b416bd06886b8eeedf0de4f162725636cf4b4af286a439fd4fca6bfae26b717",
    "installed/node_modules/zod/v4/locales/en.cjs": "05a540ad5c222aab1cb15d99fc2c0984140c27f9b761501fc0641a2d582be63a",
    "installed/node_modules/zod/v4/locales/en.d.cts": "26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe",
    "installed/node_modules/zod/v4/locales/en.d.ts": "3b25e966fd93475d8ca2834194ea78321d741a21ca9d1f606b25ec99c1bbc29a",
    "installed/node_modules/zod/v4/locales/en.js": "e9c8a8c547a75b2c7e87a22387c21e8ae0592f849c7ebd2c92df9d23c6fb9f44",
    "installed/node_modules/zod/v4/locales/eo.cjs": "12df106b30a0f2e9d2c4256a5b39a29f7fd7d0f0e73ec573f06ddd8c1f3df898",
    "installed/node_modules/zod/v4/locales/eo.d.cts": "26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe",
    "installed/node_modules/zod/v4/locales/eo.d.ts": "3b25e966fd93475d8ca2834194ea78321d741a21ca9d1f606b25ec99c1bbc29a",
    "installed/node_modules/zod/v4/locales/eo.js": "bbe19901c076716e9fa04400aa7020d4f15c7e574d31b5c351132f3ffc75ca55",
    "installed/node_modules/zod/v4/locales/es.cjs": "ee9915bde34667e08cdb18840aab8e2893afb63d5a7a2bbd8e0f6ddac990dfcf",
    "installed/node_modules/zod/v4/locales/es.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/es.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/es.js": "4800e7dc0b30d1558165b9317c1912f59340b5e202b55b512ef84c1b61a459c4",
    "installed/node_modules/zod/v4/locales/fa.cjs": "99c002877886ee7e88aff1629ce37e0016eef0dd81ea799848b07c936bdfd1a5",
    "installed/node_modules/zod/v4/locales/fa.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/fa.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/fa.js": "a7e02bbae31de8be066017ace75dc6651d22a7a9cb8fe98e0a6075d027a902db",
    "installed/node_modules/zod/v4/locales/fi.cjs": "1d84b741b98d8b06f4a7ee4ed7dbbadd2a3c3cf3953a072ae417c64ddbd11826",
    "installed/node_modules/zod/v4/locales/fi.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/fi.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/fi.js": "6e4fe271feac955c71c8597a47c4467191e8146ad548d8d3dcd9564e6b5a86cd",
    "installed/node_modules/zod/v4/locales/fr-CA.cjs": "4f0b16dfc7142b0e7fd4f128c1f41a3d9fe0f0be76cfc8317944fbdfb85a53c9",
    "installed/node_modules/zod/v4/locales/fr-CA.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/fr-CA.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/fr-CA.js": "a2d5178451c0bd924d1e44cdbfa87109a3ababaf749eb1bc9db00039a2aa4cf4",
    "installed/node_modules/zod/v4/locales/fr.cjs": "3210bce2d73921d1a9adc91d2ce4901fb19499ac5aa4efc5608a00e0c3bd0154",
    "installed/node_modules/zod/v4/locales/fr.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/fr.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/fr.js": "e82a9f7655cd269e03fabfa04bb74096674dfec0ee61308c700eab6f2b7a9bb9",
    "installed/node_modules/zod/v4/locales/he.cjs": "daad533b666c77ff2451c63d208f67e4df0daa23cf32317dce820674564a37bb",
    "installed/node_modules/zod/v4/locales/he.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/he.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/he.js": "015ddb02e660e6fd950f26432c6a9748c84f0ef2dbacd9ebf7b7563ab35abba0",
    "installed/node_modules/zod/v4/locales/hu.cjs": "f8d3a661ee97b57197c86f951ffb9606180a650a6a3848f9cab344f61c6c0645",
    "installed/node_modules/zod/v4/locales/hu.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/hu.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/hu.js": "f5d7a779f7c4f2ea52bec6aca1c81f4c3a79924639727d2ca311a393ecfbb045",
    "installed/node_modules/zod/v4/locales/id.cjs": "1d535de8fa59171a10a1ed4c0c4cad6013d0df5376d50138f18278a3324ad2ee",
    "installed/node_modules/zod/v4/locales/id.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/id.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/id.js": "b67c815e4a8b91c178b610b5876083de40753f1811928e0a9682ff63223d88c6",
    "installed/node_modules/zod/v4/locales/index.cjs": "12c5b26e519890276cb972aad91ac2882be07c2142b294db47c2eab1363e018a",
    "installed/node_modules/zod/v4/locales/index.d.cts": "03268b4d02371bdf514f513797ed3c9eb0840b0724ff6778bda0ef74c35273be",
    "installed/node_modules/zod/v4/locales/index.d.ts": "44b79738199273eb8e74fd2d343dcb99f102cda7870fd1531f31d4a8a10810f5",
    "installed/node_modules/zod/v4/locales/index.js": "44b79738199273eb8e74fd2d343dcb99f102cda7870fd1531f31d4a8a10810f5",
    "installed/node_modules/zod/v4/locales/it.cjs": "c61d01538a077ccfce593d770b828073b0eb3e54b2d6084010e0711e93a17dd9",
    "installed/node_modules/zod/v4/locales/it.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/it.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/it.js": "5e444bce52d1505992a9803bf3abd30b91ccf5b022a2a3c21a9885daa2b687f1",
    "installed/node_modules/zod/v4/locales/ja.cjs": "f0471954647a9cf3be5e80cc7b9b779490fefe34ea60aeb9a11d69408b5417da",
    "installed/node_modules/zod/v4/locales/ja.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ja.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ja.js": "c7ecc379e0230066cc25a63597506521e68a76987b6c99f0b861d5240ce1e7d4",
    "installed/node_modules/zod/v4/locales/kh.cjs": "c1e711edc40d08a9362c9ab93f68c1844d7c6b17acffe6381760d32ca05b61ba",
    "installed/node_modules/zod/v4/locales/kh.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/kh.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/kh.js": "52059ef27113a2c5609014d8de482a6b7e644f1721691644f818ebc2aa50e6be",
    "installed/node_modules/zod/v4/locales/ko.cjs": "0acd893fd8be561704faf1ef5c6a727b1629760f9277ee2e984ef339b8110cba",
    "installed/node_modules/zod/v4/locales/ko.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ko.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ko.js": "f87cdcf6b3f89762d1331a670cbff687aa52d34beb7d0e0bcba9f9202f667308",
    "installed/node_modules/zod/v4/locales/mk.cjs": "7e94eefeea7f444e81115bb6cd183c3848936143dfdc28fbb60f4551188d1cb2",
    "installed/node_modules/zod/v4/locales/mk.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/mk.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/mk.js": "dc64be99e35535aa7ffd648182dd7cfe3a51be08ad373d3bd12907b08acde24b",
    "installed/node_modules/zod/v4/locales/ms.cjs": "ccf6f885ccce21dbb2bdd325ed7171cd951543374b2a9f8c3aa2c893cac63e01",
    "installed/node_modules/zod/v4/locales/ms.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ms.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ms.js": "5bd7da46aa238951a3f65dfd99d658582005dbb6b6b5586866fc4123fe9da582",
    "installed/node_modules/zod/v4/locales/nl.cjs": "f9c2ad5a3dc7969ced2b900b5a5886094e6f732afe1b4a8eb326aafc9ebbbb1d",
    "installed/node_modules/zod/v4/locales/nl.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/nl.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/nl.js": "b3bc897777d2ab5435c08dc65a75ec3e29f168b7e3fd70cbddd52a4960471712",
    "installed/node_modules/zod/v4/locales/no.cjs": "75a25bf8e06232dcd92e300d135e55403f53c84fefdf21ddfa2b200b951e473a",
    "installed/node_modules/zod/v4/locales/no.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/no.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/no.js": "c38a1e0b0cb4398fdabbffdbd1dd59a176535372f6af0226cfd6a600914f918a",
    "installed/node_modules/zod/v4/locales/ota.cjs": "e11bd7a19007026d543e2bb094339a62cff3fd252eb1b7853fa750a1834eff46",
    "installed/node_modules/zod/v4/locales/ota.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ota.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ota.js": "1a52c600e988011d30a150fac78176323a3ddf9d93db44cc13c665bca2ddc297",
    "installed/node_modules/zod/v4/locales/pl.cjs": "1f7e8682ae34547e52034c36556847fce676aa336389b26a34a72833447e587c",
    "installed/node_modules/zod/v4/locales/pl.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/pl.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/pl.js": "482246e5da9d86498189e027bcc7e034b9c729dc07a875f78de3ec5ee47f0fc9",
    "installed/node_modules/zod/v4/locales/ps.cjs": "07bc3c6b57345c5bd0d8fe661e653c2a81b9bc22b8531dc4ecbfe14a4f80fda9",
    "installed/node_modules/zod/v4/locales/ps.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ps.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ps.js": "29f11ca76393fc30b3f7aa0af116bd29a3caf07b09e3113bb16bd0b443339552",
    "installed/node_modules/zod/v4/locales/pt.cjs": "2813096576a5a57a6123666d5e2a4d3cb80acfc187b1bbef644ecea6ca0e03e0",
    "installed/node_modules/zod/v4/locales/pt.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/pt.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/pt.js": "d9a033407c895b3cb239d7ae7c7946b7487a5c7c5988e4523fe338566190ac9d",
    "installed/node_modules/zod/v4/locales/ru.cjs": "d71b028cc708028e4017aea1fdabf5639538eb096074debc2a845399e845da51",
    "installed/node_modules/zod/v4/locales/ru.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ru.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ru.js": "12ca3536916e5b947e920e29cd48fba0b1daf0712eff575b9ff43b1f15a4ed47",
    "installed/node_modules/zod/v4/locales/sl.cjs": "bc37a95e0bff89dc6cf13588230c65359157c67d33d895586e6373077bc06a1e",
    "installed/node_modules/zod/v4/locales/sl.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/sl.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/sl.js": "a6513b3ae705f46deaf3adaf6e7d38642ccb2b8c9844e8d8086efb4d33876007",
    "installed/node_modules/zod/v4/locales/sv.cjs": "cf0854a63af22dd8768701ab398991426f533e978a68b82970295d1377cd5962",
    "installed/node_modules/zod/v4/locales/sv.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/sv.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/sv.js": "132cb1f90932fd7f687a1f7b6f050a589c9e25dab5f78078d1a60bc981d91a1d",
    "installed/node_modules/zod/v4/locales/ta.cjs": "484ecba05bb6fd942ffe346947f90d8c412506d990b53b7e6903dc5dee2037ab",
    "installed/node_modules/zod/v4/locales/ta.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ta.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ta.js": "8ceaba6e203b9fc6ff2ef8062f5fe0677c38a06aee0e2eaee4f5c6b6d4c92bad",
    "installed/node_modules/zod/v4/locales/th.cjs": "3dd0fc1a1d888d6d4266722ed303a6a999954648b3f499eca83c67e00bff332c",
    "installed/node_modules/zod/v4/locales/th.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/th.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/th.js": "0c219854cfd59b9c7fac532130c2d8a3c344a493dd3c361b60d2fadea4afa45b",
    "installed/node_modules/zod/v4/locales/tr.cjs": "28ca52e08a6f4a9433d6302fd2e075b4173ba71fb3ad89c9c6772889d559dad8",
    "installed/node_modules/zod/v4/locales/tr.d.cts": "26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe",
    "installed/node_modules/zod/v4/locales/tr.d.ts": "3b25e966fd93475d8ca2834194ea78321d741a21ca9d1f606b25ec99c1bbc29a",
    "installed/node_modules/zod/v4/locales/tr.js": "5899564068c44d6321135e441c8841a0c87fcee7f1c2ffb6e075c81b861a5963",
    "installed/node_modules/zod/v4/locales/ua.cjs": "e0706edc1eaf7f8d05a4eac9a9943d191cd52ccb9922378d683713fb4867f273",
    "installed/node_modules/zod/v4/locales/ua.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ua.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ua.js": "67a00c4c9a06d6a9c84c5d598230d28a9be97eeb023c455c4300bcbb67f85baf",
    "installed/node_modules/zod/v4/locales/ur.cjs": "6ce4c8137d82f4fa97b79fbcdb1fd7dd9503e2cbf6ac50fc28ef195dfd05b13d",
    "installed/node_modules/zod/v4/locales/ur.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/ur.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/ur.js": "673c79cb79ea713c7db86a20d69e8e7276bbc5aa9877c1b9f1230e309aa30ac8",
    "installed/node_modules/zod/v4/locales/vi.cjs": "121a90286a857d61a963f7e510922ebd01800ff6303863e38716ed4ab686322b",
    "installed/node_modules/zod/v4/locales/vi.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/vi.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/vi.js": "669dc347036da69f481fd43aaf60c24badb4ff52906aa59ea86735028274ac5c",
    "installed/node_modules/zod/v4/locales/zh-CN.cjs": "089a9a52212e12f3891cc00c403df474312ec1ec119bd465f446edc6a9cea66c",
    "installed/node_modules/zod/v4/locales/zh-CN.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/zh-CN.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/zh-CN.js": "88dd19ebe066ad328ce315b9da17d8c6dbe76a44bda9b48128809d864392637a",
    "installed/node_modules/zod/v4/locales/zh-TW.cjs": "dd18b87e19518599acd086f1db497fcb5ded7cf9d1656328d0710d40d083b5d1",
    "installed/node_modules/zod/v4/locales/zh-TW.d.cts": "b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5",
    "installed/node_modules/zod/v4/locales/zh-TW.d.ts": "7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11",
    "installed/node_modules/zod/v4/locales/zh-TW.js": "40d3639fd0b600c2eea303d359f36dcb34ccaceccbb27c00fabfd1d6d5761415",
    "installed/node_modules/zod/v4/mini/checks.cjs": "751987cbe8e6346d30c25dc3ca04643e3ab7301a83cf31d0ee0ecf4dfb8b9149",
    "installed/node_modules/zod/v4/mini/checks.d.cts": "ffcc1e3d8a6c4a3dcc6291d1f559f6853d2cbdb3df8c7e57eb99059c90d89925",
    "installed/node_modules/zod/v4/mini/checks.d.ts": "3fbf0aa59f99b6e4d640cd2b062cff9537530af3f5bfed4f862a7f18a9caa839",
    "installed/node_modules/zod/v4/mini/checks.js": "3fbf0aa59f99b6e4d640cd2b062cff9537530af3f5bfed4f862a7f18a9caa839",
    "installed/node_modules/zod/v4/mini/coerce.cjs": "6dca70ae45d9a876d730898fada9316a066944d6dfd90d92c43fb10c6bb6b2b2",
    "installed/node_modules/zod/v4/mini/coerce.d.cts": "d50434c282f9e0cfe9d728f6e7a12988bfc6de7be655f40ad44d6bee6f9fe9a3",
    "installed/node_modules/zod/v4/mini/coerce.d.ts": "ddbf61f8fb60c82085677c1ea3393c534f3885f61ff7ebb4559575a03f82a4cf",
    "installed/node_modules/zod/v4/mini/coerce.js": "ef3cb07ee9217997976afe9e2639d63eb4b926ef58a5fb9c24ac80855e529a93",
    "installed/node_modules/zod/v4/mini/external.cjs": "89319ff8b1f7eaf413c723bd269051b0d1e48207db883e80bb620a0a68ecc54b",
    "installed/node_modules/zod/v4/mini/external.d.cts": "8f124c009675bd9936f3d0a838cea1331af916d5ea1b5e54867b9ed6c8d53105",
    "installed/node_modules/zod/v4/mini/external.d.ts": "7ec5cf4fa3de5c9c1ce45572e54400dabffe25842fd55cd874a30530a0d5b418",
    "installed/node_modules/zod/v4/mini/external.js": "ebb2bea289e0958187128a4c59cf27d744e94b00e7d1aad472989aed27a1f7aa",
    "installed/node_modules/zod/v4/mini/index.cjs": "2a1c77f9c68bd47cd079ea601248dad70025528bc1062c2c657444000edabcac",
    "installed/node_modules/zod/v4/mini/index.d.cts": "0f29e474ba3555dd52ad61783dc6277683dd19c36473589d6fe2d29e06d99f5a",
    "installed/node_modules/zod/v4/mini/index.d.ts": "455d93e660b61feec18cd4c31e2f394627546ae8ab31f9bacdab6318112ac31c",
    "installed/node_modules/zod/v4/mini/index.js": "455d93e660b61feec18cd4c31e2f394627546ae8ab31f9bacdab6318112ac31c",
    "installed/node_modules/zod/v4/mini/iso.cjs": "b461dc1b91755b88cd22a50b54d1ab8b515357343bb20c7b7e68e1c2ea2b5ba8",
    "installed/node_modules/zod/v4/mini/iso.d.cts": "17a9a3fe407d0e6bfc00f7e480e6090efd455cd1ce4204572543d0492d17a721",
    "installed/node_modules/zod/v4/mini/iso.d.ts": "3f2f3b037cd2ba39395aa6628fb616f4642ae8cbab3b0f9ef786213745538658",
    "installed/node_modules/zod/v4/mini/iso.js": "1829996a8bbebfce7e4e6ca384e3ef6aeb2d88cda5ae7f7eeec24904ba688cef",
    "installed/node_modules/zod/v4/mini/parse.cjs": "2240081c5a1840f004f037fa2126a33591cd080d69eb297b98704f153c74a1bd",
    "installed/node_modules/zod/v4/mini/parse.d.cts": "a9296d98580f0c7d5a23fb220bb503aabac84e79283cdd88b33cc697d8969414",
    "installed/node_modules/zod/v4/mini/parse.d.ts": "282c7c34b3d3e64894fd94c26ab4fda015cc4abbb040881463f30b405082b4c3",
    "installed/node_modules/zod/v4/mini/parse.js": "282c7c34b3d3e64894fd94c26ab4fda015cc4abbb040881463f30b405082b4c3",
    "installed/node_modules/zod/v4/mini/schemas.cjs": "bc620eb1f56fd316da6ffc00d53df3f5d3d5809ab0cfd6e367f7f63de1e68cc5",
    "installed/node_modules/zod/v4/mini/schemas.d.cts": "285ffafa2db1e606b892f88ff09fba680ea7dbf192e2fd6672af114d30d1d958",
    "installed/node_modules/zod/v4/mini/schemas.d.ts": "e9183ad584ded2e3bfe3e893ba645a3cde147962c3ff74f85b3efcc4db53e2a2",
    "installed/node_modules/zod/v4/mini/schemas.js": "6d5ca49631a07a7da3624743b0977ea3e3a32b2a9319183bd58f5f31a3f4cfab",
    "installed/node_modules/zod/v4-mini/index.cjs": "c3ef916ed5e1bb397f04352f010f97961e98f610c13ecc05c25a384ef0e5a5a2",
    "installed/node_modules/zod/v4-mini/index.d.cts": "d34c4532b0004150342d04ab1a6f61d19751c4fc7c465c72ec582b180b0904c0",
    "installed/node_modules/zod/v4-mini/index.d.ts": "cf94ca2939d655e17fdfd1d0a3aceb4cbeb040d8946e9c9c1eaa5cc734dc69c8",
    "installed/node_modules/zod/v4-mini/index.js": "cf94ca2939d655e17fdfd1d0a3aceb4cbeb040d8946e9c9c1eaa5cc734dc69c8",
    "installed/node_modules/zod-to-json-schema/.github/CR_logotype-full-color.png": "fbff840670352c4c480ff6b686bca9c33e3946752aee15b9c3495550f7d6d965",
    "installed/node_modules/zod-to-json-schema/.github/FUNDING.yml": "569d36da24686b191c5c691027b3c1e09d79e7496d636cfa2558a3f702452feb",
    "installed/node_modules/zod-to-json-schema/.prettierrc.json": "ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",
    "installed/node_modules/zod-to-json-schema/LICENSE": "80d3168ad2f70f6f5bb2ab22b23414707abf6f0a392034891481ae36a1a429d4",
    "installed/node_modules/zod-to-json-schema/README.md": "6f71de29f58a02b6a8f146d9a81a657c5d04ec1967c150f3ffc1e319f33df664",
    "installed/node_modules/zod-to-json-schema/changelog.md": "7a34f04657cfaee195c3c729656a9fbca6626281f365462561493fc94d543f64",
    "installed/node_modules/zod-to-json-schema/contributing.md": "ddac283daae3d3701c3fb032e1b3a030bb25c42fb52c50830921b844c0959f8d",
    "installed/node_modules/zod-to-json-schema/createIndex.ts": "e3713ebe9430f3d4caa6f31ea603e3644cfb616a05fa356517a862225e318942",
    "installed/node_modules/zod-to-json-schema/dist/cjs/Options.js": "16bc4725c3ef004d14e727b04a276fd6200b4e0257837320b91745e2878704c2",
    "installed/node_modules/zod-to-json-schema/dist/cjs/Refs.js": "d290d068f4643edc3baba64f65feb299dd87e0a7a1a334478e6dd3642224a4b2",
    "installed/node_modules/zod-to-json-schema/dist/cjs/errorMessages.js": "166def58b045110559d6dde42eec0f446f4b1dd435835460b0cfd0d1640bf323",
    "installed/node_modules/zod-to-json-schema/dist/cjs/getRelativePath.js": "ce000c24b0e815fa7e97a19714127970c990123265dd1a498c91eea1ac6d95ac",
    "installed/node_modules/zod-to-json-schema/dist/cjs/index.js": "b11a49bb4d13d0847ee2aef6487e8c3cf66cb1fef14065cac1f9ea5553952737",
    "installed/node_modules/zod-to-json-schema/dist/cjs/package.json": "fa6944a20ca5e6fbaf98fd202eb8c7004d5b4ab786e36b9ed02ee31dbe196c9f",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parseDef.js": "7cd2c3437fa7fe21ae7182a34b045685b4bc75fb47fd26242a4612608b10412d",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parseTypes.js": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/any.js": "36d38673c0e3fba1cb9fc7d1b6a5944f35b9a54425ae652d4513570b6fd1e882",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/array.js": "78ce48347504a2c03cc72cc1240287d26ce440c4665890e10c15c3de05700dfe",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/bigint.js": "9b9dfbc9ce8618231e0b81afd858d9588216394f03eb971979b363a820237030",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/boolean.js": "dcafed3c754003c34fd4382a5b19e2c807512236df6cf05235d62b4fada2e453",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/branded.js": "5c16deba1f9c989d901ec317076cbcf10952a40ab880c6e740b8ca2420bf107a",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/catch.js": "f413388d6ffde7a306fc6d8ecc5731c050c5bc17739723f013909f638c879179",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/date.js": "2cad7157d005a5e601b77aff5e10040ba79d3b369b6fdd117fe73e0290ee6eb5",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/default.js": "8dfa1a3a4bc3459311350cde1e45a0ba60d21fbd97037303eaef44bc1771f0c2",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/effects.js": "d518d9784643e748e676f34c152635ee522a217377d3cee948ed4ad6af9b17b4",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/enum.js": "8a4cde2c93cf4589f64c5d4e224692968c286f10079d78143906bfd295fb5352",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/intersection.js": "f2910133c2d1694b32c5cd66adc966ca98ed90fbffd106275884249282773208",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/literal.js": "c3c401cf063a48ed66ac6f27e1a85465a7064cd55b6a5a4d3b73378b867d8038",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/map.js": "fd1a011c7a3861e3723103c077274ee4bed4d504a6b64e62cdb6b80524e58b76",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/nativeEnum.js": "3bccc4910f55760a8af8bfcfba7a1d8d956f821125012d27fd4f2cc5806b9056",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/never.js": "dceeb8178cd51e96a042fa1e250cde9e49cb40219e02e29140c703306b7997ac",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/null.js": "4bbfd47ab912971799b529c74a5c4903ed089b20875706eb79e124c165079229",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/nullable.js": "82ba5711dcec5c50431e984dc07363945325db64498eb825001b7dad1e6cfa8c",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/number.js": "361a6048591db2539d02a63f5d0fa51ad77a63c07467a84f05983edf37c94268",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/object.js": "adb4715d0e13dafa4bfe27ee2f12a7bf9e1b464a1b15f313bfa6eb61d5558306",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/optional.js": "a95e4de5ff5fcd3d954e35bc72afc79122ae21fa22ccf62ffda87ba82c5b364d",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/pipeline.js": "849c69aea58c0202ba4dd91554a31274e46f62bb62e8e4f05acf860d214e55b8",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/promise.js": "17321b9d654414288a14c9afd6fa143bfb4d3628a71052a25c3f4ee5792f1f39",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/readonly.js": "daa4a0057d742d93b637096268355241e84367875851993957c01208943c1642",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/record.js": "748e8948e50ef966cd6fb3d44f00a3de8f8ea91afee5f7db47aeee2cf48540e0",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/set.js": "be69b0195ac846df7bbff9892cffbd8ae33caacda5c73ca31972b98a245be00c",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/string.js": "bd01fa160d1d947549181835ea45c7e971dc4722ce3898a749274f614301cfc5",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/tuple.js": "849c4d96bfe8bac8a148c01a318d526ed8e78b1020ba1ee46d7f8956251dea82",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/undefined.js": "b960156894b2bd28c27ef2f4993997270d85a4af085fb08513d77d94d956bfbf",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/union.js": "334eef45737d8caab855d132c7bdc34adf97729f3d136ef4a3556e39e3024281",
    "installed/node_modules/zod-to-json-schema/dist/cjs/parsers/unknown.js": "b239e4929d6b69f397a5646d2bfa5ce25df9fb2c2820ffd63b580665467e464d",
    "installed/node_modules/zod-to-json-schema/dist/cjs/selectParser.js": "877e593bac5eb5cc309bde8b5f4f653042c221c15957cbbf3cbeb0f2c2929dea",
    "installed/node_modules/zod-to-json-schema/dist/cjs/zodToJsonSchema.js": "7fa047cc65554e018907f017f5ec8245e2c537a5c638f8f8507571ff8b8ee3e2",
    "installed/node_modules/zod-to-json-schema/dist/esm/Options.js": "11bfc58fbf69f3044798d1871b10d1c11951bb51c1a35636ebfcad9c04c0a950",
    "installed/node_modules/zod-to-json-schema/dist/esm/Refs.js": "cefaaa074df0750b62ae164cfe77818eb86ff54d220d9ae39da323af6bd8c845",
    "installed/node_modules/zod-to-json-schema/dist/esm/errorMessages.js": "7ea991477cf69f1f096db2ebf1148cb1dfa3e2e25253cf6f15da3ab5cdbfa40c",
    "installed/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js": "460814eddcc28f66854e562545f45d2987b678f35a2efec9f731022534c1d056",
    "installed/node_modules/zod-to-json-schema/dist/esm/index.js": "449babe88138e129aef94c1696b527898f9e13ab62bce129daee0e85266e48a7",
    "installed/node_modules/zod-to-json-schema/dist/esm/package.json": "9211af123fc17b2489ff3daabc3aac57681a1127b6692ad9c4839f5965156deb",
    "installed/node_modules/zod-to-json-schema/dist/esm/parseDef.js": "994908cca81af0f1094cb2981a308241638a8b860cb1031ccaa2413eed7b7964",
    "installed/node_modules/zod-to-json-schema/dist/esm/parseTypes.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/any.js": "896867adec14219ffdfbc3f3d273f8011549e4cb38013341ad2af5cf0b75e3f6",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/array.js": "3e5ea312f4536c72b46eaf0bfd2e348b82a1a0e49efe40de5dd4480ea5bf5afe",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js": "0e8e5636aea05145e893cf8a3e65578837389ae7305ba7d0944a7639a9b5021b",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js": "224d7d5ce099c334e1173d1a34f3f1a5d6d2eebc40ce84fe94042946cc885141",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js": "6bb9ef463bc083b8227c40a0053a2a5203e4dddd21b61a600fab1072742a683e",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js": "a3dbd2946631d5363a651b2887e83122b08cfa5ac4b67224d5565b90cc5fa495",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/date.js": "a6c0cd72d56dd7966e08c7705417c0a21e47a6a558e0dd04620affb7489b70df",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/default.js": "282576d19744ead9cc8739d5ffe050fa059c58fba511dbeae93c82dbd1f8eb95",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js": "3b1df0c3e1969c2211a9b60e5b47abfa7dbe04c81d252398926ca65bec1d3428",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js": "3f2de3ac6e6a64bc5d4fd5a801ceea64c14c3ec852bdf4558c604a959513ec66",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js": "68b3e6bbb5fad6a58599c792d152c2be23b1e50d7626cb9da68c5a9f1d90dbaf",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js": "6d89596e7c0879223548f3c868a39bce136a243d7623576d63371eeb9cd22f6e",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/map.js": "da2d16b69f9839be540d0eccb2c7c903c23eacbd2ee1e96526c5be4b0cb9cb0b",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js": "28af75d0f75e9faf8efadcf4d2130d470876bc2b151a9cdbd964d7d91db8de42",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/never.js": "07d19c343e2bedb8674763f1a5618d102c558f127d9aa0f512cabfc6c1baa2d4",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/null.js": "5ae81b6caaa7cb0f9315bb4c4ad42e41433d407f7a572bd523c5dd8b7b47dd6c",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js": "6a9a8ef225c3397842987f434899dd0a652f3cb2398489df3b5a77d6a8af9954",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/number.js": "90900e66da367762c93ffa297df150c51521bb34b30c9b1112210e61f7e1fbc9",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/object.js": "a2173e12d2cf0957bf6b63cb0f0f0cc0825de9409b4eb8b785b5aad302a7debc",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js": "d68f083eb9efbc03a8e522590f6b1b1a5e2fbd1a956e0f92ced7cb5ba7402dbc",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js": "e8a391f7d9d7b5045112184bb929ce1b9e50065034beaa7397c9239003e61afa",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js": "1b7b2516bc1c0c12198ff83c449a4b826df53eb415f0f763a372c9901f7c4e11",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js": "8a6a6621010e60499bc5956976835c15fe666155efbead12eb7f3709211a778b",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/record.js": "ec75b522fff1389b01e3b94f2a2b09ebe83df5ff2234a41c5caa893e9df6ce95",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/set.js": "88d0383546ebcd380ca6d3dc9b92b40db43dd24baf3d07765abbf68835b22d1d",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/string.js": "5568b8bc0edeedbc8d3f36f1481fa1264208efefa54a2485885f236cde729478",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js": "978d7243f6d4b2921a6b514334ae2658005b17e1229508320666edeb246e0dfd",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js": "e5966da000021ae60cba82fbcc0c911e0f5df6aae5e44ceb0f2a73b732358977",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/union.js": "2e1dfcd82ea1cb11d8478ae210aa802e88966b42e53af5d1b3a6347305b488ae",
    "installed/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js": "e2659ebac4e944f3a894ca21500aecdfcbee22ba65298759cbb8cca7c4e93026",
    "installed/node_modules/zod-to-json-schema/dist/esm/selectParser.js": "d55e5714d8158deacb4f4b4bea49c2d9287f787ad8ed154b40da1052e4ce4b82",
    "installed/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js": "ba1a32502012b081eb3bb99090265d52f0edc07d7ce5bad5c83cce5b883f7d5a",
    "installed/node_modules/zod-to-json-schema/dist/types/Options.d.ts": "f01c60b06afe23316efccaaa8b6ccb5f507b8e6eadf5e2a84c6fe350aebaa1bd",
    "installed/node_modules/zod-to-json-schema/dist/types/Refs.d.ts": "8a818c9cf372e5c5818d846d761ff59c531caa3b0aa62c5686be1df31dc08296",
    "installed/node_modules/zod-to-json-schema/dist/types/errorMessages.d.ts": "07a1cea63a067c0845029ea6e1933af842783efa3006510f504b1f09bd2ebff0",
    "installed/node_modules/zod-to-json-schema/dist/types/getRelativePath.d.ts": "9a447607a90667c6db7737f30d2429f6f06efde55a47a2a3eeebc52e866d153e",
    "installed/node_modules/zod-to-json-schema/dist/types/index.d.ts": "449babe88138e129aef94c1696b527898f9e13ab62bce129daee0e85266e48a7",
    "installed/node_modules/zod-to-json-schema/dist/types/parseDef.d.ts": "ecc6f977713316ef4339f32631ecb619a40a3061fa86ff3776591920d9977e24",
    "installed/node_modules/zod-to-json-schema/dist/types/parseTypes.d.ts": "226b58896f4f01f4c669d908f32c657bcab1a83f3aebb2f3d711a4fe7ba2a2d6",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/any.d.ts": "ef38456e22b0bffcd9ff28dc1a7138e84918a212e6960dd620cc3000341c0ebe",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/array.d.ts": "814187370f99638f6bb69c838d19dcdb20a41cb65627cfc16a04d9cc4522fc82",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/bigint.d.ts": "7df3ea6fcd7e74ab59724700357df41a12d8f57e22f3e5da36dc645f20753152",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/boolean.d.ts": "0e8edbe744dfc3ce65e9fa2283f1f0eb2c0aaaec4df19765f51c346e45452cda",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/branded.d.ts": "0aea84fed0ab80d54f32a40aaf5f4d58c8a5259dd5f9fe39dbcd584575dbb100",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/catch.d.ts": "a1769100f50f3e190c2ea2ed2a711e6798c70f9ad806b54c597a5b64488007b0",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/date.d.ts": "9b6e899f6fa0cf536eead034fcae436ab6ecd9442153ee06a0fb5b01475bff85",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/default.d.ts": "8105a77b1ce063fd0f60080d8985e01cb92516237cb4a254547ce7548e8916e5",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/effects.d.ts": "dc6b3b3383218cc2c556687fd7ac7b6b1d9ad3abaf50da7f04a2d7a01abaee19",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/enum.d.ts": "1b399336f32abd1c83610e5c95337fdcf2dd5414cf4b44c1ff4927d2cd8f1cf2",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/intersection.d.ts": "55ddb00c1810d07a092af6a816f89a6e63c3c4ef04c9c27d36a7dd59bf59b5ae",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/literal.d.ts": "5ecb3df85ac1c4a7e7a1e9761a5bfb52a65eef8e94e1280e1bff6389cd453099",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/map.d.ts": "539cc98696e783f3fe32422a89f8a34479ce056adb211dd60b6a89550d3b9b7f",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/nativeEnum.d.ts": "11d5d9c9b11fbd1537ecec72ec38f993d0358c42f7c98569998a04bbbf57d07c",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/never.d.ts": "c26c383b08e47dfbd741193ef1e7f8f002ac3b0d2f6bf3d4b6b9a99ee2d9378e",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/null.d.ts": "75473b178a514d8768d6ead4a4da267aa6bedeeb792cd9437e45b46fa2dcf608",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/nullable.d.ts": "e82a6fc9b90adc5270daa1e467feb3a2ae5393180839d7a347acd1d9ebe04493",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/number.d.ts": "a7559733f2f5f9ae4d071cef99c505870e167ee830c75faf121f34408b99afbe",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/object.d.ts": "3d877e9f51aabdb77efeea746c0c09464274dcaf7364e6e64880e9c2eaa8c990",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/optional.d.ts": "879443705ef53b56d8f5b944ea2c24bd5b37a1341eb0142789c2e2567d6bb6e1",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/pipeline.d.ts": "44c18ff24c5c5b7883ca2e1b1d4236db715ca5cfd9b87705e1a7e4591b4b445e",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/promise.d.ts": "3cceb8a1fe59bc1d233764bfef78e6c72a468e2af1e06a92e282b1848c78bc31",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/readonly.d.ts": "ed96d25fa3170958d1d376e653ade8e653638d3fb819a4792a503a5505eea849",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/record.d.ts": "e01ab496375025f3e54f832d43f840c589e57eb2e5986421f791f51bbcbc494e",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/set.d.ts": "9830d91d01b457b113b36b56d4534ba8fc42bc3c195a2108dc3431e9f77340c7",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/string.d.ts": "9af342002e6b793ca8a69b322cf8347250c129b45dbca8731baaa66ec553561b",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/tuple.d.ts": "1e7d16304d31f287ec09753214b755eb78e1122432d06dc771f5c123199273b1",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/undefined.d.ts": "acca4486b08bf5dc91c23d65f47181bd13f82571969c85e8df474fa6bc5c2a88",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/union.d.ts": "296dcaf11fa0122dfe78a1d97bea96aa9bccb73098bc739ab253281ad192dffb",
    "installed/node_modules/zod-to-json-schema/dist/types/parsers/unknown.d.ts": "971dc452ac09307ee049acb21bbd30a82d1c163377465d6b33fd4d677ed2385d",
    "installed/node_modules/zod-to-json-schema/dist/types/selectParser.d.ts": "a005dc547fff460703595b4c0faccb7ec68a5870a4d0e5a2932dc1fd59cc9856",
    "installed/node_modules/zod-to-json-schema/dist/types/zodToJsonSchema.d.ts": "dccbbf8ce85ea99cdbdc2269d55f75bc1fbad77d96c40fd82bd73af3fb8f39e4",
    "installed/node_modules/zod-to-json-schema/package.json": "1f78f7c62913083878cd5bb0e9d10b8f5893d5799bbe1295068046707c24de3c",
    "installed/node_modules/zod-to-json-schema/postcjs.ts": "112a8259f25a5973a7899d59487b018903b968307b809ccee9f96159f322e832",
    "installed/node_modules/zod-to-json-schema/postesm.ts": "594a0e6cbc6eb54874164688517e627d8550a1df3ee20755d173c6187cf4a8c6",
    "installed/package-lock.json": "a45bdf43e2e9cfc075b9c9371940a24a8dada5d82e2fed89f427236714e1a51d",
    "installed/package.json": "f8b6ab38cbf99793dd95e4da81a79a097ddd95e64a919ced75524e758db9f27e",
    "npmrc-global": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "npmrc-user": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "packs/raven-mcp-2.6.0.tgz": "bb78ef65f4198817ec3106f8c973bcc6e329e41d8f187ed2b26111929f826db0"
  },
  "lockfiles": [
    "installed/package-lock.json"
  ],
  "tools_list_hashes": [
    "9d63b0b95914f858bf70c5a1ba96616895309c5a8278331380ea2e99b3f3bed5"
  ],
  "utc_date": "2026-10-16T09:19:27.824614Z",
  "source_date": "2026-10-16",
  "discovered_date": "2026-10-16",
  "retested_date": "2026-10-16",
  "reviewed_date": "2026-10-18",
  "published_date": "2026-10-18",
  "modified_date": "2026-10-18",
  "reviewer": "machine pipeline",
  "harness_version": "toolwitness harness at commit b89dfa44306aa7f13d7d2d0c5f634c035c035c50",
  "claude_code_version": "Outside this listing scope.",
  "model_id": "Outside this listing scope.",
  "scanner_version": "none",
  "rulepack_version": "none",
  "agents": [],
  "disclaimer": "This record shows that this exact package version started offline in an isolated container and answered an MCP tools list (runtime/inspect.json, mcp/report.json). Scope: initialize and tools/list. It is not a security or quality verdict. Later versions are outside this record.",
  "commands": [
    "docker run -i --name toolwitness-b29cc9d30466476485d3de796d4598bb --pull=never --network none --read-only --cap-drop=all --security-opt=no-new-privileges --user=65532:65532 --memory=512m --memory-swap=512m --pids-limit=64 --cpus=1 --ulimit=nofile=256:256 --ulimit=fsize=16777216:16777216 --tmpfs=/tmp:rw,nosuid,nodev,noexec,size=64m,mode=1777 --env=HOME=/tmp --workdir=/tmp --entrypoint node sha256:4bcb8f4521585b85429c4ed03e2829b53dbb34d2841ee884e7017ee52412e68c /installed/node_modules/raven-mcp/dist/index.js"
  ],
  "prompt_list": [
    "Outside this listing scope."
  ],
  "history": [
    "2026-10-16T09:19:27.824614Z: offline initialize and tools/list"
  ],
  "application": {
    "name": "raven-mcp",
    "softwareVersion": "2.6.0",
    "applicationCategory": "DeveloperApplication"
  },
  "artifacts": {
    "transcript": "stdin:\n{\"id\":1,\"jsonrpc\":\"2.0\",\"method\":\"initialize\",\"params\":{\"capabilities\":{},\"clientInfo\":{\"name\":\"toolwitness\",\"version\":\"s772-v0\"},\"protocolVersion\":\"2025-11-25\"}}\n{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}\n{\"id\":2,\"jsonrpc\":\"2.0\",\"method\":\"tools/list\",\"params\":{}}\n\nstdout:\n{\"result\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{\"tools\":{\"listChanged\":true},\"prompts\":{\"listChanged\":true}},\"serverInfo\":{\"name\":\"raven-mcp\",\"version\":\"2.6.0\"},\"instructions\":\"Raven is a design-intelligence server: audits (page/layout/screen/contrast/tap-targets/typography/consistency), design systems and tokens, brand/content/service-design knowledge, creative scoring, and a Taste Engine that makes a person's design judgment portable and growable.\\n\\nPROJECT KICKOFF — calibrate taste BEFORE the first design work. Taste is per-surface: the same person wants different rules on a monochrome portfolio than on a product site, and a different voice on each. At the START of a new project (or the first design/copy/UI work in any project), if a taste profile exists (list_taste_profiles), call get_taste_interview with the profile and a project name (mode defaults to 'kickoff', depth defaults to 'first_run'). If it returns existing_binding: null, ask the user just its 5 core `questions` conversationally — identity, genesis (kickoff is when a project comes into existence: what already exists — a brand, a design system, brand assets — and what should be generated), aesthetic (how it should read here — multiple-choice options given), voice (three register examples so the user can pick by ear), and matchers (which URL hosts identify the project) — then persist with bind_taste_surface and proceed; when genesis says the user has no design system, the generation route is generate_mood_board (an approval stop — pass their own images via image_paths), then generate_design_system with save:true, then init_design_md, and an existing system is consumed via configure_design_system_source or base_system instead; offer the returned `more_questions` (typography/spacing/color/layout/motion/imagery/entrance/loading/navigation/libraries, references, per-rule overrides, the open-ended special question) as OPTIONAL deeper calibration rather than asking them all upfront, or re-run with depth:'full' if the user wants the complete interview at once. Dimension answers go in design_notes and are echoed in every audit. A cold-start project with no profile at all can start from create_taste_profile({ name, template: 'portfolio'|'saas-marketing'|'app' }) for a small sensible starter ruleset before the first interview even runs. The interview is a blocking gate: collect the user's answers before committing any design direction, palette, type choice, or name — never answer its questions yourself or start design work while it is pending. Every question carries skippable + priority (core|extended); skipping is fine but leaves that item uncalibrated. A 'references' question takes example links/screenshots and interviews what specifically the person likes about each. The interview ends with an open-ended 'special' question (textures, signature details, motifs — stored as design_notes.special) that suggests the person's choices from their other bound surfaces once it has them. From then on pass project:'<name>' on every audit_taste — bindings also auto-match by URL hostname in url mode. When the surface is a website to be built, suggest building it as a Next.js app by default; if the user prefers another stack, record it in design_notes.libraries. Do NOT wait for an audit to return a calibration_hint; that is the reactive backstop, not the intended flow.\\n\\nWhen a user dislikes generated/designed output on an ALREADY-calibrated project, that dissatisfaction is a calibration signal, not a dead end — re-run get_taste_interview with mode:'refine' (it re-interviews against the stored binding: what fell short, then each stored design_notes value to keep/tighten/replace, then voice, then an optional reject precedent) and re-bind with bind_taste_surface.\\n\\nLEARNING LOOP — whenever the user makes, approves, or corrects a taste, direction, or design decision during work (not just at interview time), record it with record_taste_decision: the project, a short dimension name, what was chosen, what was rejected, why, and whether it was user-directed, user-approved, or user-corrected (a user overriding a generated choice is the highest-signal record). Recorded decisions evolve future kickoff interviews — recurring choices return as suggested defaults on their dimension's question, and decision categories no standard question covers become NEW interview questions. Record liberally; every committed decision is calibration data.\\n\\nJudging work: prefer audit_taste (with the profile + project) for matters of the owner's taste, and the mechanical audits (audit_page, audit_contrast, audit_tap_targets, audit_layout) for objective quality. design_notes are ACCEPTANCE CRITERIA for any build, not mood words: audit_taste verifies each note against the rendered page (note_assessments: present/partial/missing/unverifiable, each with trait-number evidence), compares the target against the binding's captured references, and flags sparse-and-empty pages whose restraint is deletion rather than craft — a build is not done until every note is visibly present or the user is told exactly which notes were dropped and why. When a note names an expensive technique (three.js/WebGL, GSAP scroll choreography, anime.js staggered motion, glassmorphism, a branded loader, lottie, kinetic display type…), bind_taste_surface and audit_taste return build_hints — a concrete recipe + canonical public example sources (threejs.org, gsap.com, animejs.com, Codrops…). The public corpus for these is vast, so an expensive note is NEVER license to drop it: consult the attached build_hints and their sources, and if a technique is genuinely infeasible, tell the user before shipping without it. Prefer url mode for verification: live traits (WebGL, animations, scroll effects) cannot be measured from static html. When a human accepts or rejects a finding, record it with label_finding — accept-verdicts suppress that exact pattern in future audits, which is how the profile learns.\\n\\nGRAB — click-to-change is ON BY DEFAULT for local servers. Any time you start, restart, or serve a local web page/dev server for the user (a demo, a preview, a dev build, a static file server), automatically start a grab session first (start_grab_session with the project's DESIGN.md if one exists) and make the overlay present WITHOUT the user asking or pasting anything: for a server you are starting anyway, pass proxy_target and give the user the BRIDGE url instead of the raw server url — the overlay is injected into every HTML response; for HTML files you are writing yourself, include the returned script_tag directly. Never hand the user a script tag or console snippet to paste. Mention in one line that the grab overlay is active (Alt+G or the on-page pill). The user clicks elements, swaps DESIGN.md tokens with live preview, edits computed styles inline, and sends instructions; drain them with get_grabbed_elements — while a grab session is active, drain whenever control returns to you (and before ending any turn). Sends arrive and are held. On a plain drain, acknowledge each change in one line and wait; do not implement or offer to implement until a batchCommit marker arrives. When batchCommit arrives, implement batch.pending from that same drain payload in one sweep. Apply approved token changes with update_design_md. Stop the session (stop_grab_session) when the server comes down. Skip only when the user explicitly asks for a clean page or the server is production.\"},\"jsonrpc\":\"2.0\",\"id\":1}\n{\"result\":{\"tools\":[{\"name\":\"get_principles\",\"description\":\"Get design principles relevant to a UI context. Returns usability heuristics, laws of UX, Gestalt principles, accessibility requirements, typography rules, and color theory — matched to what you're designing.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"context\":{\"type\":\"string\",\"description\":\"What you're designing (e.g. 'signup form', 'pricing page', 'mobile nav', 'dark dashboard')\"},\"category\":{\"type\":\"string\",\"description\":\"Filter to category: accessibility, brand, color-systems, color-theory, component-architecture, d4d, gestalt, laws-of-ux, mobile-ux, nielsen-heuristics, research, responsive-layout, service-design, spacing-systems, typography, ux-writing\"},\"platform\":{\"type\":\"string\",\"enum\":[\"web\",\"ios\",\"react-native\"],\"description\":\"Platform context. 'ios' returns Apple HIG principles (Dynamic Type, 44pt targets, SF Symbols, safe areas, dark-mode, haptics, App Review privacy); 'react-native' returns RN principles (44/48pt+hitSlop, accessibilityLabel/Role, font scaling, SafeAreaView, dark mode, iOS+Android parity, secrets). Both replace the web/CSS-oriented set. Default: web.\"},\"format\":{\"type\":\"string\",\"enum\":[\"full\",\"checklist\",\"brief\"],\"description\":\"Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full\"}},\"required\":[\"context\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Principles\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_pattern\",\"description\":\"Get proven UI/UX patterns for a specific design type. Returns do's, don'ts, evidence, and checklists for signup flows, pricing pages, navigation, forms, landing pages, dashboards, modals, empty states, error states, loading states, CTAs, social proof, and mobile conversion.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"description\":\"Pattern type (e.g. 'signup-flow', 'pricing-page', 'navigation', 'forms', 'landing-page', 'dashboard', 'modals-dialogs', 'empty-states', 'error-states', 'loading-states', 'cta', 'social-proof', 'mobile-conversion')\"},\"platform\":{\"type\":\"string\",\"enum\":[\"desktop\",\"mobile\",\"responsive\"],\"description\":\"Filter patterns by platform context\"},\"goal\":{\"type\":\"string\",\"enum\":[\"conversion\",\"usability\",\"accessibility\",\"delight\"],\"description\":\"Filter by primary goal\"}},\"required\":[\"type\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Pattern\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_business_strategy\",\"description\":\"Get business and monetization strategies for digital products. Covers monetization models, retention strategies, onboarding optimization, growth mechanics, and product metrics frameworks.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"description\":\"Strategy type: monetization, retention, onboarding, growth, metrics\"},\"stage\":{\"type\":\"string\",\"enum\":[\"startup\",\"growth\",\"mature\"],\"description\":\"Company stage for contextual filtering\"}},\"required\":[\"type\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Business Strategy\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"evaluate_design\",\"description\":\"Evaluate a design description against UX principles. Returns relevant principles, potential violations, and improvement suggestions.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"description\":{\"type\":\"string\",\"description\":\"Description of the design to evaluate\"},\"before_screenshot\":{\"type\":\"string\",\"description\":\"Base64 PNG of the BEFORE state\"},\"after_screenshot\":{\"type\":\"string\",\"description\":\"Base64 PNG of the AFTER state. When both before+after are provided, returns a structured pixel diff with fix_confirmed.\"},\"goals\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"What to evaluate for (e.g. ['conversion', 'accessibility', 'mobile-usability'])\"},\"context\":{\"type\":\"string\",\"description\":\"What the design is (e.g. 'pricing page for SaaS product')\"},\"compact\":{\"type\":\"boolean\",\"description\":\"Return only ids+names for matched principles/patterns (drop their full bodies) plus counts and any before/after diff. Default false. Use when the full principle library payload would blow the tool-result budget.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Evaluate Design\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"search_knowledge\",\"description\":\"Search across all design principles, UI patterns, and business strategies. Use when you need to find specific guidance or don't know which category to look in.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"query\":{\"type\":\"string\",\"description\":\"Search term (e.g. 'touch targets', 'pricing psychology', 'color contrast')\"},\"layer\":{\"type\":\"string\",\"enum\":[\"principles\",\"patterns\",\"business\",\"all\"],\"description\":\"Which layer to search: principles, patterns, business, or all (default)\"}},\"required\":[\"query\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Search Knowledge\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_checklist\",\"description\":\"Get a pre-publish checklist for a specific UI type. Returns actionable yes/no items to verify before shipping.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"description\":\"What you're shipping (e.g. 'signup form', 'pricing page', 'dashboard', 'landing page', 'modal')\"},\"platform\":{\"type\":\"string\",\"enum\":[\"desktop\",\"mobile\",\"responsive\",\"ios\",\"react-native\"],\"description\":\"Platform context for platform-specific checks. 'ios' = native SwiftUI/iOS (Apple HIG); 'react-native' = RN/Expo (iOS HIG + Android Material: 44/48pt+hitSlop, accessibilityLabel/Role, font scaling, SafeAreaView, dark mode, platform parity, secrets). Both replace the web/mobile-web checks.\"}},\"required\":[\"type\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Checklist\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_d4d_framework\",\"description\":\"Get the Design for Delight (D4D) framework templates. Returns customer problem statement, ideal state, hypothesis, LOFA, and experiment templates for structured product thinking.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"stage\":{\"type\":\"string\",\"enum\":[\"frame\",\"empathy\",\"broad\",\"narrow\",\"experiment\",\"recommendation\",\"full\"],\"description\":\"Which stage of the D4D loop to return. Default: full (all stages)\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get D4D Framework\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_design_systems\",\"description\":\"Browse available design systems for tokens. Filter by category (component-library, consumer, developer, fintech, framework, platform, productivity) or search by name.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"category\":{\"type\":\"string\",\"description\":\"Filter by category: component-library, consumer, developer, fintech, framework, platform, productivity. Saved user systems list under 'user'.\"},\"search\":{\"type\":\"string\",\"description\":\"Search by name or description\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"List Design Systems\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_design_system\",\"description\":\"Get design tokens for a specific design system. Returns colors, typography, spacing, radii, elevation, and motion tokens in W3C DTCG, CSS custom properties, or flat format.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Design system ID (e.g. 'stripe', 'linear')\"},\"group\":{\"type\":\"string\",\"description\":\"Filter to a token group: color, color-dark, color-light, typography, spacing, radius, elevation, motion\"},\"format\":{\"type\":\"string\",\"enum\":[\"dtcg\",\"css\",\"flat\"],\"description\":\"Output format: dtcg (W3C standard), css (custom properties), flat (key-value). Default: dtcg\"}},\"required\":[\"id\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Design System\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"read_design_md\",\"description\":\"Parse a DESIGN.md file and return its frontmatter, Markdown body, and flattened token index.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\",\"description\":\"Path to DESIGN.md\"}},\"required\":[\"path\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Read DESIGN.md\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"review_diff\",\"description\":\"Review added UI-code lines in a unified diff against the project's own DESIGN.md tokens and active recorded design decisions. Returns a structured CI verdict with file/line findings and nearest-token suggestions. Agents should call this on every PR or diff that touches UI code before merge.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"diff\":{\"type\":\"string\",\"maxLength\":409600,\"description\":\"Unified diff to review (maximum 400KB).\"},\"project\":{\"type\":\"string\",\"description\":\"Project directory used to resolve DESIGN.md and match decision scopes. Omit when design_md is supplied and no project hint is needed.\"},\"design_md\":{\"type\":\"string\",\"description\":\"Inline DESIGN.md content. Overrides project file lookup when supplied.\"},\"fail_on\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Rule names to escalate to a failing CI verdict. Valid values: important, bare-hex-color, hardcoded-font-size, hardcoded-font-family, hardcoded-spacing. Diff-scoped: only newly added lines can fail. Default: advisory-only (verdict caps at warn).\"},\"fail_on_governed\":{\"type\":\"boolean\",\"description\":\"When true, findings a recorded decision governs become fail-eligible (severity error → verdict fail). Governance is a lexical scope+category association, NOT a verified contradiction of the decision — opt in as a team strict-mode signal, not a turnkey safe blocker. Combines with fail_on. Default: advisory-only.\"}},\"required\":[\"diff\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Review Diff\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"polish_diff\",\"description\":\"Review added UI-code lines and propose deterministic DESIGN.md token substitutions without writing files. The returned unified patch applies on top of the reviewed diff's post-image; applying it is an explicit, separate step by the caller. Re-verifies the hypothetical polished lines and leaves judgment-heavy findings in manual.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"diff\":{\"type\":\"string\",\"maxLength\":409600,\"description\":\"Unified diff to review and polish (maximum 400KB).\"},\"project\":{\"type\":\"string\",\"description\":\"Project directory used to resolve DESIGN.md and match decision scopes. Omit when design_md is supplied and no project hint is needed.\"},\"design_md\":{\"type\":\"string\",\"description\":\"Inline DESIGN.md content. Overrides project file lookup when supplied.\"}},\"required\":[\"diff\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Polish Diff\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"init_design_md\",\"description\":\"Initialize a DESIGN.md file from a stored Raven token system, a getdesign.md starter slug, or a blank template.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\",\"description\":\"Path to DESIGN.md to create\"},\"from\":{\"description\":\"Source selector: blank, stored system, or starter slug\"}},\"required\":[\"path\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Init DESIGN.md\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"update_design_md\",\"description\":\"Update one DESIGN.md token surgically while preserving the Markdown body.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\",\"description\":\"Path to DESIGN.md\"},\"set\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\",\"description\":\"Top-level group name\"},\"name\":{\"type\":\"string\",\"description\":\"Token name or dotted nested path\"},\"value\":{\"description\":\"New scalar or {group.name} reference\"}},\"required\":[\"group\",\"name\"],\"additionalProperties\":false},\"rename\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\",\"description\":\"Top-level group name\"},\"from\":{\"type\":\"string\",\"description\":\"Old token name or dotted nested path\"},\"name\":{\"type\":\"string\",\"description\":\"Alias for from\"},\"to\":{\"type\":\"string\",\"description\":\"New token name or dotted nested path\"},\"new_name\":{\"type\":\"string\",\"description\":\"Alias for to\"}},\"required\":[\"group\"],\"additionalProperties\":false},\"remove\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\",\"description\":\"Top-level group name\"},\"name\":{\"type\":\"string\",\"description\":\"Token name or dotted nested path\"},\"path\":{\"type\":\"string\",\"description\":\"Alias for name\"}},\"required\":[\"group\"],\"additionalProperties\":false}},\"required\":[\"path\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Update DESIGN.md\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"start_grab_session\",\"description\":\"Start a capability-keyed Raven grab bridge on loopback. Proxy mode is the preferred zero-paste path: it serves a running local app with the overlay injected into HTML; the manual script tag remains available when needed.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\",\"description\":\"Path to DESIGN.md to expose over /tokens. Optional when proxy_target is set — a minimal temp DESIGN.md is created automatically. Required (and must exist) when proxy_target is omitted.\"},\"port\":{\"type\":\"integer\",\"exclusiveMinimum\":0,\"description\":\"Optional port; defaults to an ephemeral loopback port\"},\"proxy_target\":{\"type\":\"string\",\"description\":\"URL of a running local dev server; the bridge will serve that app with the grab overlay auto-injected into every HTML page — user opens the bridge URL, zero setup\"},\"role\":{\"type\":\"string\",\"enum\":[\"consumer\",\"maintainer\"],\"default\":\"consumer\",\"description\":\"Overlay role; consumer preserves the component-request flow, maintainer enables direct design-system component creation\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Start Grab Session\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_grabbed_elements\",\"description\":\"Read newly sent grab selections without deleting their durable change records, optionally waiting up to timeout_ms. A batchCommit marker is the deterministic signal to implement the unified pending batch.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"timeout_ms\":{\"type\":\"integer\",\"exclusiveMinimum\":0,\"description\":\"Optional wait timeout in milliseconds\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Grabbed Elements\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"capture_reference\",\"description\":\"Persist a pattern grabbed from any page so it survives the browser tab. Call it after get_grabbed_elements returns a selection, passing that selection's selector/styles/html/rect/stateStyles plus the URL it was grabbed from. Stores one JSON record under ~/.raven/references; html over 8000 chars is truncated and flagged, style maps over 200 properties are rejected, and non-http(s) URLs are rejected. Every save gets a fresh ref_id, so grabbing the same element twice keeps both. When html is supplied it also renders a PNG thumbnail beside the record by rebuilding that markup offline in headless Chromium — every external request is blocked, so remote images and webfonts are absent and the record says so (image.fidelity 'offline'). The thumbnail is best-effort: if no browser is available the capture still succeeds, with no image field. It does not fetch the source URL, and does not map anything onto the project's tokens — that is map_reference_to_tokens.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"Full http(s) URL of the page the pattern was grabbed from\"},\"selector\":{\"type\":\"string\",\"description\":\"CSS selector of the grabbed element, from the grab selection\"},\"styles\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\"},\"description\":\"Computed styles exactly as captured; rejected over 200 properties\"},\"owner\":{\"type\":\"string\",\"enum\":[\"self\",\"third-party\"],\"description\":\"Whether the pattern came from the user's own product or someone else's site\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Topic tags for later filtering, e.g. ['hero','typography']\"},\"taxonomy\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Stable pattern-kind ids binding this element to Raven's controlled vocabulary — this is what makes it findable by INTENT ('a scrolling mouse icon in a hero') rather than by the words that happen to be in the note. Bind every applicable kind; an unrecognized id is rejected with near matches. One of: scroll-cue, hero, sticky-nav, top-nav, sidebar-nav, breadcrumbs, command-palette, dropdown-menu, mobile-menu, cta-button, sticky-cta, pricing-card, pricing-toggle, comparison-table, testimonial, testimonial-marquee, logo-cloud, star-rating, signup-form, social-login, stepper, inline-validation, empty-state, no-results, error-message, error-page, skeleton-loader, progress-indicator, modal, confirmation-dialog, toast, bottom-sheet, kpi-card, activity-feed, feature-block, footer-cta\"},\"app\":{\"type\":\"string\",\"description\":\"Human name of the source app, e.g. 'Linear'\"},\"html\":{\"type\":\"string\",\"description\":\"outerHTML of the grabbed element; truncated to 8000 chars on save\"},\"rect\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"width\":{\"type\":\"number\"},\"height\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\",\"width\",\"height\"],\"additionalProperties\":false,\"description\":\"Bounding rect of the grabbed element in page coordinates\"},\"state_styles\":{\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\"}},{\"type\":\"object\",\"properties\":{\"declarations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"property\":{\"type\":\"string\"},\"value\":{\"type\":\"string\"}},\"required\":[\"property\",\"value\"],\"additionalProperties\":true}}},\"required\":[\"declarations\"],\"additionalProperties\":true}]},\"description\":\"Per-state styles, either { hover: { color: 'red' } } or the grab selection's own { hover: { declarations: [{ property, value }] } }\"},\"stateStyles\":{\"$ref\":\"#/properties/state_styles\",\"description\":\"Alias of state_styles, matching the field name get_grabbed_elements returns\"},\"note\":{\"type\":\"string\",\"description\":\"The designer's own words about why this pattern was kept; the highest-weighted field in search\"}},\"required\":[\"url\",\"selector\",\"styles\",\"owner\",\"tags\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Capture Reference\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"search_references\",\"description\":\"Find patterns previously kept with capture_reference — call it before rebuilding something already grabbed, or to recall 'that hero from Linear'. host, owner, and tags filters compose with AND; the free-text query expands recognized pattern intent through Raven's controlled vocabulary, then matches case-insensitively against note, app, tags, bound taxonomy ids, and selector. Every result carries a score and a 'why' naming the matched fields and any alias that connected the query to the record. Ordering is deterministic. Returns stored JSON records. Every result carries a `display` object holding the credit line, the source URL, and `image_path` — the PNG on disk for records captured with html, so results can be shown as pictures rather than style maps (the tool returns the path, never the bytes). **Browsing does not hand back the other site's markup.** A result reports `html_available` and `html_truncated` but omits the html itself; pass include_html:true to receive it, which is a deliberate step because that markup is the site's own authored expression rather than a measurement of it. Everything needed to LOOK at a pattern and to translate it onto this project's tokens — the picture, the selector, the rect, the computed styles — is in the default result. **Show the credit whenever you show the pattern**: this corpus holds other people's design work, Raven does not own it, and a third-party result also carries a notice saying so. Use these as references to build your own implementation, not as work to republish. Corrupt records are named in skipped[] instead of failing the call. It does not rank against live code and does not fetch the source site.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"query\":{\"type\":\"string\",\"description\":\"Free text expanded through the pattern taxonomy and matched against note, app, tags, bound taxonomy ids, and selector; omit to list everything passing the filters\"},\"host\":{\"type\":\"string\",\"description\":\"Only references grabbed from this host, e.g. 'linear.app'\"},\"owner\":{\"type\":\"string\",\"enum\":[\"self\",\"third-party\"],\"description\":\"Only the user's own product, or only third-party sites\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Only references carrying ALL of these tags\"},\"include_html\":{\"type\":\"boolean\",\"description\":\"Return each record's captured markup verbatim. Off by default: browsing a corpus of other people's work should not hand back their markup as a side effect of looking at it. Ask for it when you are actually reading the structure.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Search References\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"forget_references\",\"description\":\"Remove stored patterns from the local corpus — one by ref_id, or every pattern captured from a site. This is the takedown path: if a site asks that their design work not be kept, `forget_references({ host: 'their.site', confirm: true })` removes every record and every rendered thumbnail from that host in one call. Host matching is exact plus subdomains ('linear.app' takes 'app.linear.app', never 'notlinear.app'; an IP address matches only itself), and a host-wide removal requires confirm:true because it is not reversible — there is no trash. The refusal names the ref_ids it would remove: pass them back as expected_ref_ids to pin the removal to what you were shown, and anything that appeared since is reported in appeared_since_preview[] rather than deleted. Returns the ref_ids actually removed, so a partial result is visible rather than assumed; records whose JSON could not be parsed are reported in skipped[] and left on disk rather than counted as cleared, and records that could not be deleted are reported separately in failed[]. Local only: it deletes files under the reference home and contacts nobody.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"ref_id\":{\"type\":\"string\",\"description\":\"Remove exactly this one reference. Supply this or host.\"},\"host\":{\"type\":\"string\",\"description\":\"Remove every reference captured from this host and its subdomains, e.g. 'linear.app'\"},\"confirm\":{\"type\":\"boolean\",\"description\":\"Required when removing by host — the removal is permanent\"},\"expected_ref_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"The ref_ids the confirmation prompt listed. Supplying them pins the removal to that set: anything matching the host that appeared since is reported, not deleted.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Forget References\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"map_reference_to_tokens\",\"description\":\"Translate a captured pattern's raw literals (font-size: 64px, color: rgb(247,248,248)) onto the project's own design tokens, so generated code uses the user's type ramp and palette instead of another site's values. Pure and deterministic — no model, no network. Colours compare by RGBA distance (exact at 0, near under 12; alpha counts), lengths normalize to px at root 16 (near under 2px), unitless numbers near within 1%, font families compare on the first family. A property with a known token family (font-size, line-height, gap, radius, …) only ever binds inside that family: if the closest token by value belongs to another ramp, the result is a gap naming it, not a binding. Winners are ordered by distance, then family fit, then shortest and lexicographic token path. Percent and viewport units, unparseable colour syntaxes, shadows, gradients, and other unmatchable classes become gaps with a stated reason — never a forced match. Broken token chains are reported in diagnostics whether or not anything else matched. A project with no tokens is not an error: every property returns as a gap at coverage 0. It does not invent tokens and does not write code.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"ref_id\":{\"type\":\"string\",\"description\":\"Captured reference to translate; its styles are the input. Supply this or captured.\"},\"captured\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\"},\"description\":\"Raw CSS property/value pairs to translate, if not using a stored ref_id\"},\"design_file_path\":{\"type\":\"string\",\"description\":\"Path to the project's DESIGN.md; its flattened tokens are the target vocabulary. Supply this or tokens.\"},\"tokens\":{\"type\":\"array\",\"description\":\"Flattened design tokens directly, if not reading a DESIGN.md\"},\"properties\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Only map these CSS properties; omit to attempt every captured property\"},\"thresholds\":{\"type\":\"object\",\"properties\":{\"color\":{\"type\":\"number\",\"description\":\"RGB distance for a near colour match, default 12\"},\"length\":{\"type\":\"number\",\"description\":\"Pixels for a near length match, default 2\"},\"unitless\":{\"type\":\"number\",\"description\":\"Relative difference for a near unitless match, default 0.01\"},\"rootPx\":{\"type\":\"number\",\"description\":\"Root font size used to normalize rem/em, default 16\"}},\"additionalProperties\":false,\"description\":\"Override the near-match thresholds\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Map Reference To Tokens\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"stop_grab_session\",\"description\":\"Stop the current grab bridge and clear its queued selections.\",\"inputSchema\":{\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{}},\"annotations\":{\"title\":\"Stop Grab Session\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_page_template\",\"description\":\"Read the page-scoped template slots from the active grab session's DESIGN.md and merge the overlay's latest selector validation. fixed/flexible roles and allowedTokens are cooperative advisory metadata: display labels only, not enforced.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Page pathname, matching location.pathname\"}},\"required\":[\"page\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Page Template\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"set_template_slot\",\"description\":\"Persist an array of page-scoped template slots in one batched DESIGN.md update. fixed/flexible roles and allowedTokens are cooperative advisory metadata: display labels only, not enforced.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Page pathname, matching location.pathname\"},\"template_id\":{\"type\":\"string\",\"minLength\":1,\"default\":\"default\",\"description\":\"Template identifier; defaults to default\"},\"slots\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"slotId\":{\"type\":\"string\",\"minLength\":1},\"selector\":{\"type\":\"string\",\"minLength\":1},\"role\":{\"type\":\"string\",\"enum\":[\"fixed\",\"flexible\"]}},\"required\":[\"slotId\",\"selector\",\"role\"],\"additionalProperties\":false},\"description\":\"All template slots to persist in this batched call\"}},\"required\":[\"page\",\"slots\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Set Template Slot\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_templates\",\"description\":\"List templates and their registered page pathnames from the active grab session. Template permissions and allowedTokens are cooperative advisory metadata: display labels only, not enforced.\",\"inputSchema\":{\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{}},\"annotations\":{\"title\":\"List Templates\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_grab_layers\",\"description\":\"Read the latest non-mutating layer-tree snapshot captured by the active local grab session. Any fixed/flexible permissions are cooperative advisory metadata: display labels only, not enforced.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Optional page pathname; omit to list all latest page snapshots\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Grab Layers\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"move_grab_layer\",\"description\":\"Queue a same-page layer reorder or reparent intent (previewed when measuredRects are supplied, otherwise proposed) without mutating the live page. Reparent moves a node to a different parent (toParentSelector); reorder keeps a single parentSelector. Permissions and fixed/flexible roles are cooperative advisory metadata: display labels only, not enforced; caller-supplied roles are rejected. Shadow-root and iframe boundaries are out of scope.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"operation\":{\"type\":\"string\",\"enum\":[\"reorder\",\"reparent\"]},\"page\":{\"type\":\"string\",\"minLength\":1},\"parentSelector\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Required for reorder — single parent\"},\"fromParentSelector\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Required for reparent — source parent\"},\"toParentSelector\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Required for reparent — destination parent\"},\"fromIndex\":{\"type\":\"integer\",\"minimum\":0},\"toIndex\":{\"type\":\"integer\",\"minimum\":0},\"orderedSelectors\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1}},\"baselineOrder\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1}},\"toBaselineOrder\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1}},\"selectionOrder\":{\"type\":\"array\",\"items\":{\"type\":\"integer\",\"minimum\":1}},\"measuredRects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\",\"minLength\":1},\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"width\":{\"type\":\"number\"},\"height\":{\"type\":\"number\"}},\"required\":[\"selector\",\"x\",\"y\",\"width\",\"height\"],\"additionalProperties\":false}},\"approximate\":{\"type\":\"boolean\"},\"domSnapshotHash\":{\"type\":\"string\",\"minLength\":1},\"toDomSnapshotHash\":{\"type\":\"string\",\"minLength\":1},\"fromSelector\":{\"type\":\"string\",\"minLength\":1},\"role\":{\"not\":{},\"description\":\"Rejected: roles are never accepted from callers\"}},\"required\":[\"operation\",\"page\",\"fromIndex\",\"toIndex\",\"orderedSelectors\",\"measuredRects\",\"approximate\",\"domSnapshotHash\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Move Grab Layer\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_grab_operation\",\"description\":\"Read or update one durable grab change, list legacy reorder operations, or request the unified style+reorder batch. Applied/rejected/superseded changes leave the pending set.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"operation_id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Operation ID; omit to list all operations\"},\"mark\":{\"type\":\"string\",\"enum\":[\"applied\",\"rejected\"],\"description\":\"Mark a previewed reorder or sent style change\"},\"batch\":{\"type\":\"boolean\",\"description\":\"Return the unified current batch of reorder and style records; cannot be combined with operation_id or mark\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Grab Operation\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"compose_system\",\"description\":\"Mix tokens from different design systems to create a custom composite. Example: Linear's colors + Stripe's typography.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"compositions\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"system\":{\"type\":\"string\",\"description\":\"Source design system ID\"},\"group\":{\"type\":\"string\",\"description\":\"Token group to take (color, typography, spacing, radius, elevation, motion)\"}},\"required\":[\"system\",\"group\"],\"additionalProperties\":false},\"description\":\"Array of system-group pairs to compose\"},\"format\":{\"type\":\"string\",\"enum\":[\"dtcg\",\"css\"],\"description\":\"Output format. Default: dtcg\"}},\"required\":[\"compositions\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Compose System\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_page\",\"description\":\"Audit HTML/CSS against Raven's design quality standards. Checks typography (min 13px, weight 400+, modular-scale heading ratios, line-height consistency), accessibility (WCAG touch targets, alt text, contrast), responsive patterns (flexbox over grid, clamp sizing, max-width containers), style guide compliance (CSS custom properties, no bare hex), and visual rhythm (4/8px spacing grid, tight spacing scale, palette size). Pass containerMaxWidth (your design system's canonical container token, in px) to make the max-width check token-aware — it then flags containers that diverge from your system (too narrow OR too wide) instead of a generic 1200px heuristic. Returns pass/fail per check with specific fix instructions.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"html\":{\"type\":\"string\",\"description\":\"The full HTML content of the page to audit\"},\"url\":{\"type\":\"string\",\"description\":\"If set, Raven launches headless chromium, renders the page, and audits the RENDERED DOM.\"},\"scroll_settle\":{\"type\":\"boolean\",\"description\":\"Before capturing, step through the page with short pauses so IntersectionObserver/whileInView reveals fire, then return to the top and settle. Also plays preload=none videos. Prevents blank-section false positives.\"},\"interactions\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"event\":{\"type\":\"string\",\"enum\":[\"hover\",\"click\",\"focus\"]},\"delay_ms\":{\"type\":\"number\"}},\"required\":[\"selector\",\"event\",\"delay_ms\"],\"additionalProperties\":false},\"description\":\"Before capturing, fire each interaction in order (hover/click/focus the selector, then wait delay_ms). Captures the resulting dynamic state — e.g. an on-hover theme-toggle wash invisible to a static screenshot.\"},\"viewport\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false},\"strict\":{\"type\":\"boolean\",\"description\":\"Strict mode — also flags warnings as failures. Default: false\"},\"containerMaxWidth\":{\"type\":\"number\",\"description\":\"Your design system's canonical content-container width in px (e.g. 1152). When set, the responsive/max-width check flags divergence from this token instead of using the generic 1200px heuristic.\"},\"adversarial_verify\":{\"type\":\"boolean\",\"description\":\"After generating findings, independently re-check each against the live DOM/network and tag it confirmed / likely-artifact / inconclusive. Surfaces a debunked_count.\"},\"compact\":{\"type\":\"boolean\",\"description\":\"Return only the decision-grade signal — score, grade, summary, errors, warnings, fix_priority — and drop the embedded base64 screenshot and the passes list (replaced by passes_count). Default false. Use when the full payload would blow the tool-result budget.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Page\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"score_page\",\"description\":\"Score an HTML/CSS page across 7 design categories (Structure, Typography, Color & palette, Spacing & rhythm, Accessibility, Responsive layout, Design tokens), each rated 0–10. Scores are derived deterministically from the same checks as audit_page — no browser required. Pass html directly, or pass url to have Raven launch headless chromium, render the page, and score the RENDERED DOM. Also returns the same overall 0–100 score and A–D grade audit_page produces, the weakest category, and the three categories Raven does not mechanically assess (brand, conversion, motion) with guidance on which tools to use for those.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"html\":{\"type\":\"string\",\"description\":\"The full HTML content of the page to score.\"},\"url\":{\"type\":\"string\",\"description\":\"If set, Raven launches headless chromium, renders the page, and scores the RENDERED DOM.\"},\"strict\":{\"type\":\"boolean\",\"description\":\"Strict mode — count warnings as failures in the overall score. Default: false.\"},\"containerMaxWidth\":{\"type\":\"number\",\"description\":\"Your design system's canonical content-container width in px (e.g. 1152). Forwarded to the responsive/max-width check.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Score Page\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_asset_integrity\",\"description\":\"Detect PNG exports whose content is sliced/cut off at the bottom edge (e.g. a Figma export that ended mid-form). Dimension/ratio checks cannot catch cut content inside a correctly-sized file; this measures per-pixel luminance variance in the bottom strip — uniform background = clean, high-variance UI content running into the edge = likely-sliced. Accepts filesystem paths to PNGs.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"image_paths\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Filesystem paths to PNG files to check for sliced/cut-off bottom content.\"}},\"required\":[\"image_paths\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Asset Integrity\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_device_frame\",\"description\":\"Detect cropped content in device-mockup frames (phone/MacBook screenshots, app-preview clips). Three checks: (1) GEOMETRY — call with `frames` (container box + intrinsic media size + object-fit/position; call with NO args for a DevTools snippet) to flag object-fit:cover crop loss when the frame's aspect ratio ≠ the media's; (2) MOTION — pass `clips` (first/last frame PNG paths) to detect baked-in pan/zoom (Ken Burns) that drifts the composition; (3) EDGE — pass `edge_frames` (PNG paths) to flag content truncated at a frame edge. Catches the exact failure where a 16:9 clip in a 1.82-AR screen cutout silently slices the bottom, or a Ken-Burns-zoomed source crops content.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"frames\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"container\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false},\"media\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false},\"objectFit\":{\"type\":\"string\",\"enum\":[\"fill\",\"cover\",\"contain\",\"none\",\"scale-down\"]},\"objectPosition\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\"],\"additionalProperties\":false}},\"required\":[\"selector\",\"container\",\"media\"],\"additionalProperties\":false},\"description\":\"Device-frame geometry samples (from the DevTools snippet): container box + intrinsic media size + computed object-fit/position. Flags object-fit:cover crop loss.\"},\"clips\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"first_frame\":{\"type\":\"string\"},\"last_frame\":{\"type\":\"string\"}},\"required\":[\"label\",\"first_frame\",\"last_frame\"],\"additionalProperties\":false},\"description\":\"Per-clip first/last frame PNG file paths — detects baked-in pan/zoom (Ken Burns).\"},\"edge_frames\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"frame\":{\"type\":\"string\"}},\"required\":[\"label\",\"frame\"],\"additionalProperties\":false},\"description\":\"Frame PNG file paths to check for content truncated at a frame edge (reuses edge-symmetry).\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Device Frame\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_contract\",\"description\":\"Verify a wire contract (token list / field set / schemaVersion) is identical across N independent source files (iOS Swift, proxy JS, Android Kotlin). Flags missing/inconsistent tokens, schemaVersion drift, and prefix-ordering bugs (a contained token matched before the longer one). BLOCK/PASS verdict.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"contract_spec\":{\"type\":\"object\",\"properties\":{\"mode\":{\"type\":\"string\",\"enum\":[\"tokens\",\"envelope\"]},\"tokens\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"schemaVersionPattern\":{\"type\":\"string\"}},\"additionalProperties\":false},\"file_paths\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"contract_spec\",\"file_paths\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Contract\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_api_contract\",\"description\":\"Run adversarial queries against a live endpoint and return per-query verdict (shape-valid / shape-invalid / confident-wrong / uncertain) vs an expected shape schema + per-query expectations. Catches responses that are shape-valid but wrong.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"endpoint_url\":{\"type\":\"string\"},\"queries\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"method\":{\"type\":\"string\",\"enum\":[\"GET\",\"POST\"]},\"path\":{\"type\":\"string\"},\"headers\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\"}},\"body\":{},\"expect\":{\"type\":\"object\",\"properties\":{\"contains\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"equals\":{\"type\":\"object\",\"additionalProperties\":{}}},\"additionalProperties\":false}},\"required\":[\"name\"],\"additionalProperties\":false}},\"expected_shape_schema\":{\"type\":\"object\",\"properties\":{\"required\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"types\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"boolean\",\"object\",\"array\"]}}},\"additionalProperties\":false}},\"required\":[\"endpoint_url\",\"queries\",\"expected_shape_schema\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit API Contract\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_parity\",\"description\":\"Compare iOS vs Android element snapshots against a checklist of named spatial relationships (vertical centering, baseline/left alignment, equal gap/size, presence, truncation) and flag per-relation match/mismatch/uncertain — catches cross-platform layout drift like status text centered on one platform but top-aligned on the other. Provide ios+android {elements,viewport} snapshots and a checklist[].\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"ios\":{\"type\":\"object\",\"properties\":{\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"role\":{\"type\":\"string\"},\"rect\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\",\"w\",\"h\"],\"additionalProperties\":false}},\"required\":[\"rect\"],\"additionalProperties\":false}},\"viewport\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false}},\"required\":[\"elements\",\"viewport\"],\"additionalProperties\":false},\"android\":{\"type\":\"object\",\"properties\":{\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"role\":{\"type\":\"string\"},\"rect\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\",\"w\",\"h\"],\"additionalProperties\":false}},\"required\":[\"rect\"],\"additionalProperties\":false}},\"viewport\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false}},\"required\":[\"elements\",\"viewport\"],\"additionalProperties\":false},\"checklist\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"a\":{\"type\":\"string\"},\"b\":{\"type\":\"string\"},\"relation\":{\"type\":\"string\",\"enum\":[\"present\",\"vertically-centered\",\"baseline-aligned\",\"left-aligned\",\"equal-gap\",\"equal-size\",\"same-truncation\"]},\"tolerance\":{\"type\":\"number\"}},\"required\":[\"name\",\"a\",\"relation\"],\"additionalProperties\":false}}},\"required\":[\"ios\",\"android\",\"checklist\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Parity\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_ios_a11y\",\"description\":\"Score an accessibility-enriched iOS element snapshot — missing accessibilityLabel/value/traits, sub-44pt tap targets, per-text WCAG contrast, Dynamic Type clipping, and VoiceOver reading order. Provide {elements:[{label,value,hint,traits,role,rect,fontPt,fgColor,bgColor,dynamicTypeClipped}],viewport}. Capture via the AccessibilitySnapshot XCUITest / ios-capture harness.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"value\":{\"type\":\"string\"},\"hint\":{\"type\":\"string\"},\"traits\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"role\":{\"type\":\"string\"},\"rect\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\",\"w\",\"h\"],\"additionalProperties\":false},\"fontPt\":{\"type\":\"number\"},\"fgColor\":{\"type\":\"string\"},\"bgColor\":{\"type\":\"string\"},\"dynamicTypeClipped\":{\"type\":\"boolean\"}},\"required\":[\"rect\"],\"additionalProperties\":false}},\"viewport\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false},\"options\":{\"type\":\"object\",\"properties\":{\"minTarget\":{\"type\":\"number\"}},\"additionalProperties\":false}},\"required\":[\"elements\",\"viewport\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit iOS Accessibility\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_responsive_visibility\",\"description\":\"Render a URL at multiple breakpoints and flag content elements that are visible on desktop but hidden on mobile (display:none / opacity:0 / visibility:hidden / zero-size). Categorises each flag as 'likely-oversight' (content that vanishes on mobile — the hidden-on-mobile content bug) vs 'intentional' (decorative). Returns a table of selector / hiding-class / mobile-visible / desktop-visible / category. Requires headless chromium.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"URL to render (http/https or file://)\"},\"breakpoints\":{\"type\":\"array\",\"items\":{\"type\":\"number\"},\"description\":\"Viewport widths in px. Default [390, 768, 1440, 2160]\"},\"viewportHeight\":{\"type\":\"number\",\"description\":\"Render height in px. Default 900\"}},\"required\":[\"url\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Responsive Visibility\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_contrast\",\"description\":\"Compute WCAG contrast ratios for every text element on a rendered page (pass url) or from a supplied dom_snapshot. Reports AA (4.5:1 normal, 3:1 large) and AAA pass/fail and surfaces failing pairs with selector, ratio, and delta-to-pass — replacing manual eyedropper + ratio math. dom_snapshot mode returns a row per supplied element; url mode returns counts plus every row that needs action (aa_failures, indeterminate_bg_rows) and OMITS the per-element rows for passing elements, because a real page produces hundreds of thousands of characters of them.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"URL to render and measure (http/https or file://)\"},\"dom_snapshot\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"bgColor\":{\"type\":\"string\"},\"fontPx\":{\"type\":\"number\"},\"bold\":{\"type\":\"boolean\"},\"text\":{\"type\":\"string\"}},\"required\":[\"selector\",\"color\",\"bgColor\"],\"additionalProperties\":false},\"description\":\"Pre-collected text elements to score without rendering\"},\"screenshot\":{\"type\":\"string\",\"description\":\"Optional base64 PNG for caller reference; ratios are computed from the DOM, not pixels\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Contrast\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"suggest_contrast_fix\",\"description\":\"Given failing WCAG color pairs, return the MINIMAL color change that clears the target ratio. For each {fg,bg} pair, computes the smallest foreground adjustment (and an alternative background adjustment) that reaches AA/AAA — with the achieved ratio and direction. Feeds directly from audit_contrast's failing pairs: pass them here to get concrete passing values instead of brute-forcing colors by hand. Pure offline math.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"pairs\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"fg\":{\"type\":\"string\"},\"bg\":{\"type\":\"string\"},\"fontPx\":{\"type\":\"number\"},\"bold\":{\"type\":\"boolean\"},\"targetRatio\":{\"type\":\"number\"},\"status\":{\"type\":\"string\",\"enum\":[\"pass\",\"fail\",\"indeterminate\"]},\"ratio\":{\"type\":[\"number\",\"null\"]}},\"required\":[\"fg\",\"bg\"],\"additionalProperties\":false},\"description\":\"Color pairs to remediate. Each: { selector?, fg, bg, fontPx?, bold?, targetRatio? }. fontPx/bold pick the large-text threshold; targetRatio overrides the level.\"},\"level\":{\"type\":\"string\",\"enum\":[\"AA\",\"AAA\"],\"description\":\"WCAG level when targetRatio is not given per-pair. Default AA.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Suggest Contrast Fix\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_url\",\"description\":\"Layer 0 render-and-capture audit: renders a LIVE URL at each viewport×theme, scroll-settles (fires whileInView/IntersectionObserver reveals; plays preload=none videos), optionally fires caller-supplied hover/focus/click interactions, and captures real pixels + the rendered DOM. Then runs the existing audit_page rule engine, per-element WCAG contrast, responsive-visibility (desktop-shown/mobile-hidden), blank-media detection, sliced-image edge symmetry, and hover-state white-wash detection over the captures. Every finding is tagged confirmed | likely-artifact | inconclusive with its evidence, ranked by severity. This is the tool that catches real-world visual nits invisible to HTML-string/geometry audits: cropped images, blank videos, hover white-wash, sliced exports, and hidden-on-mobile content. Requires headless chromium.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"URL to render and audit (http/https or file://)\"},\"viewports\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"},\"label\":{\"type\":\"string\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false},\"description\":\"Viewports to render. Default: iphone 393×852, desktop 1440×900, wide 2160×1200\"},\"themes\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"light\",\"dark\"]},\"description\":\"Themes to toggle (prefers-color-scheme + data-theme/class). Default: ['light','dark']\"},\"scroll_settle\":{\"type\":\"boolean\",\"description\":\"Step through the page with short pauses to fire reveal-on-scroll/IntersectionObserver content, play videos, then return to the top before capture. Default: true\"},\"interactions\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"event\":{\"type\":\"string\",\"enum\":[\"hover\",\"click\",\"focus\"]},\"delay_ms\":{\"type\":\"number\"}},\"required\":[\"selector\",\"event\",\"delay_ms\"],\"additionalProperties\":false},\"description\":\"Fire each interaction before capture; the resulting state is diffed against baseline to catch hover/click white-wash and obscured content.\"},\"containerMaxWidth\":{\"type\":\"number\",\"description\":\"Your design system's canonical container width in px — makes the max-width check token-aware.\"},\"includeScreenshots\":{\"type\":\"boolean\",\"description\":\"Include the base64 full-page PNG per capture in the result. Default: false (screenshots are large).\"},\"timeoutMs\":{\"type\":\"number\",\"description\":\"Per-navigation timeout in ms. Default: 30000\"},\"compact\":{\"type\":\"boolean\",\"description\":\"Drop per-capture base64 screenshots; keep findings, counts, and summary. Default false. Use when screenshots would blow the tool-result budget.\"}},\"required\":[\"url\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit URL\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_content\",\"description\":\"Evaluate an array of content items (headings, prose, CTAs, labels, captions, metrics, outcomes) against UX-writing principles and deterministic heuristics. Returns a per-item verdict (pass/warn/fail) with matched principle ids, concrete issues grounded in principle text, a before→after rewrite suggestion, and an aggregate summary. Heuristics: metric items must carry a number+unit; cta/label must be action-led and ≤4 words; prose flags passive voice, jargon, and hedging; headings flag filler openers and buzzwords; captions flag duplication of any heading in the batch. Pure offline — no network or browser. Use this instead of evaluate_design when you need per-item content verdicts rather than the principle library.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Optional stable id; auto-generated (item_N) if omitted.\"},\"type\":{\"type\":\"string\",\"enum\":[\"prose\",\"caption\",\"heading\",\"outcome\",\"metric\",\"cta\",\"label\"],\"description\":\"Content type — selects which heuristics apply.\"},\"text\":{\"type\":\"string\",\"description\":\"The raw content string to evaluate.\"}},\"required\":[\"type\",\"text\"],\"additionalProperties\":false},\"description\":\"Array of content items to audit.\"},\"system\":{\"type\":\"string\",\"description\":\"Optional content-system id (e.g. 'ux-writing'); recorded for traceability.\"},\"goals\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Optional content goals (e.g. ['clarity','conversion']); recorded for traceability.\"}},\"required\":[\"items\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Content\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_typography\",\"description\":\"Audit the typographic SCALE of a rendered page (pass url) or a pre-collected snapshot of text nodes. Emits a focused report: (a) MODULAR SCALE — detects the dominant ratio (~1.2/1.25/1.333/1.5) across distinct font sizes and flags off-scale outliers; (b) LINE-HEIGHT CONSISTENCY — unitless lh/fs ratio per node, identifies the body rhythm and flags outliers; (c) WEIGHT LADDER — distinct weights, flags >4 weights or non-standard CSS values. Returns scale, line_height, weight_ladder, nodes_analyzed, and findings[{rule,severity,selector,message,fix}]. Goes beyond audit_page's pass/fail typography checks. url mode requires headless chromium.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"URL to render and measure (http/https or file://). Requires headless chromium.\"},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"fontPx\":{\"type\":\"number\"},\"lineHeightPx\":{\"type\":\"number\"},\"fontWeight\":{\"type\":\"number\"},\"tag\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"selector\",\"fontPx\"],\"additionalProperties\":false},\"description\":\"Pre-collected text nodes to analyze without rendering.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Typography\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_tap_targets\",\"description\":\"WCAG 2.5.5 / Apple 44pt tap-target audit for the web. Collects every interactive element (a, button, [role=button], input[type=submit/button/checkbox/radio], select, summary, label[for], [onclick], [tabindex>=0]) and emits a PER-ELEMENT fix table for any whose rendered width or height is below the minimum (default 44px): selector, role, visible text, measured w/h, pixel deficit per axis, and a concrete CSS fix. Sorted worst-first. Two modes: pass url (renders in headless chromium, measures real getBoundingClientRect) or pass elements[] snapshot (pure, no browser).\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"URL to render and measure. Requires headless chromium.\"},\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"},\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"role\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"}},\"required\":[\"selector\",\"w\",\"h\"],\"additionalProperties\":false},\"description\":\"Pre-collected interactive elements to score without rendering.\"},\"minSize\":{\"type\":\"number\",\"description\":\"Minimum tap-target size in px on each axis. Default 44.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Tap Targets\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_brand_system\",\"description\":\"Get a complete design system for building an app with branding like a specific company. Say 'Make me an app with branding like Spotify' and get the full token set, style guide, and implementation instructions. Matches against 12 known design systems and provides closest match with ready-to-use CSS.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"company\":{\"type\":\"string\",\"description\":\"The company whose branding to use (e.g. 'Spotify', 'Stripe', 'Apple', 'Linear', 'Airbnb')\"},\"format\":{\"type\":\"string\",\"enum\":[\"css\",\"dtcg\",\"guide\"],\"description\":\"Output format: 'css' for CSS variables, 'dtcg' for W3C tokens, 'guide' for full implementation guide. Default: guide\"},\"mode\":{\"type\":\"string\",\"enum\":[\"light\",\"dark\"],\"description\":\"Color mode preference. Default: based on the system's primary mode\"}},\"required\":[\"company\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Brand System\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"generate_design_system\",\"description\":\"Generate a complete, custom design system with full token set. Provide a brand color to auto-generate a harmonious palette, pick a style preset, and export as visual HTML documentation, CSS variables, W3C DTCG JSON, Figma Variables, or SVG palette card. The HTML export is a beautiful, self-contained page suitable for sharing with stakeholders. Pass save:true to store the system for reuse by id — this is how a taste-engine session's design system becomes durable.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Name for the design system (e.g. 'Acme Corp', 'NightOwl')\"},\"base_system\":{\"type\":\"string\",\"description\":\"Start from an existing system as foundation (e.g. 'stripe', 'linear'). Colors will be replaced by brand_color if provided.\"},\"brand_color\":{\"type\":\"string\",\"description\":\"Primary brand hex color (e.g. '#FF6B35'). Auto-generates a full harmonious palette using color theory.\"},\"style\":{\"type\":\"string\",\"enum\":[\"minimal\",\"bold\",\"warm\",\"corporate\",\"playful\",\"dark\"],\"description\":\"Aesthetic direction — influences spacing, radii, shadows, motion, and typography. Default: minimal\"},\"dark_mode\":{\"type\":\"boolean\",\"description\":\"Generate dark mode tokens alongside light. Default: true\"},\"format\":{\"type\":\"string\",\"enum\":[\"html\",\"css\",\"dtcg\",\"figma\",\"svg\",\"all\"],\"description\":\"Export format: html (visual doc page), css (custom properties), dtcg (W3C JSON), figma (Figma Variables JSON), svg (color palette card), all. Default: html\"},\"save\":{\"type\":\"boolean\",\"description\":\"Persist the generated token set to ~/.raven/design-systems so its id works everywhere a bundled system's does: base_system here, get_design_system, list_design_systems, and init_design_md. Refused if the id (the slugified name) collides with a bundled system. Default: false\"}},\"required\":[\"name\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Generate Design System\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_layout\",\"description\":\"Evaluate visual rhythm from a rendered page's geometry. Call with no arguments to get a DevTools snippet to paste into your page — it prints {elements, viewport} JSON. Call again with that JSON to get alignment, gap-rhythm, and optical-balance scores. This is the complement to audit_page for things only visible once rendered.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"rect\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\",\"w\",\"h\"],\"additionalProperties\":false},\"computed\":{\"type\":\"object\",\"properties\":{\"padding\":{\"type\":\"string\"},\"margin\":{\"type\":\"string\"},\"gap\":{\"type\":\"string\"},\"fontSize\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"background\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"required\":[\"selector\",\"rect\"],\"additionalProperties\":false},\"description\":\"Array of element rects captured from the rendered page via the DevTools snippet\"},\"viewport\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false,\"description\":\"Viewport dimensions {w,h} at capture time\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Layout\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_swiftui\",\"description\":\"Audit SwiftUI source against Apple's Human Interface Guidelines. Flags hardcoded .font(.system(size:)) below ~13pt and tiny semantic fonts (.caption/.caption2), hardcoded Color(red:green:blue:)/hex instead of asset-catalog or semantic system colors, an empty/undefined AccentColor, interactive frames below 44×44pt, and ad-hoc spacing off the 4/8-pt grid. Rewards semantic Dynamic Type fonts, semantic system colors, SF Symbols, and flexible frames. iOS-native checks only — no web/CSS rules. Returns pass/fail per check with fix instructions.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"source\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"type\":\"string\"}}],\"description\":\"SwiftUI source — a single file/view as a string, or an array of file contents. Concatenated before analysis.\"},\"accent_color_contents\":{\"type\":\"string\",\"description\":\"Optional raw Contents.json of AccentColor.colorset. When provided, the tool verifies AccentColor actually defines color components (flags an empty/undefined accent color as an error).\"},\"strict\":{\"type\":\"boolean\",\"description\":\"Strict mode — also count warnings as failures for grading. Default: false\"},\"project\":{\"type\":\"string\",\"description\":\"Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes, each note is verified against the source (animation/material/haptic/font APIs) and returned in note_assessments; missing notes count toward the grade.\"},\"profile\":{\"type\":\"string\",\"description\":\"Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.\"}},\"required\":[\"source\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Swiftui\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_screen\",\"description\":\"Audit a rendered mobile screen (iOS or Android) from a view-hierarchy/accessibility snapshot. Call with no arguments for the expected snapshot shape and how to capture it. Pass platform:\\\"android\\\" to score against the 48dp Material touch minimum and Material muted roles (onSurfaceVariant/outline = warn not fail); default platform:\\\"ios\\\" scores 44pt and treats secondaryLabel/tertiaryLabel as platform-standard. Both score touch targets, contrast, and visual rhythm (alignment, gap consistency, optical balance). Same return shape as audit_page.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"platform\":{\"type\":\"string\",\"enum\":[\"ios\",\"android\"],\"description\":\"Target platform — 'ios' (default, 44pt minimum, iOS semantic colors) or 'android' (48dp minimum, Material semantic roles)\"},\"scroll_settle\":{\"type\":\"boolean\"},\"project\":{\"type\":\"string\",\"description\":\"Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes and a screenshot is passed, the screenshot's pixels verify the color-scheme notes; results gain note_assessments.\"},\"profile\":{\"type\":\"string\",\"description\":\"Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.\"},\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"rect\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\",\"w\",\"h\"],\"additionalProperties\":false},\"role\":{\"type\":\"string\",\"description\":\"Accessibility role/trait, e.g. button, link, cell, staticText, image, tab, textField\"},\"fontPt\":{\"type\":\"number\",\"description\":\"Effective font point/dp size, if text\"},\"fgColor\":{\"type\":\"string\",\"description\":\"Foreground color — hex (#1c1c1e), rgb(), or a platform semantic name ('secondaryLabel' iOS / 'onSurfaceVariant' Android)\"},\"bgColor\":{\"type\":\"string\",\"description\":\"Background color behind this element — hex, rgb(), or semantic name\"}},\"required\":[\"rect\"],\"additionalProperties\":false},\"description\":\"Elements captured from the rendered screen via an accessibility/view-hierarchy snapshot\"},\"viewport\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false,\"description\":\"Screen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel\"},\"screenshot\":{\"type\":\"string\",\"description\":\"Optional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Screen\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_ios_screen\",\"description\":\"Audit a rendered iOS screen from a view-hierarchy/accessibility snapshot (and optional screenshot). Alias of audit_screen with platform:\\\"ios\\\". Call with no arguments for the expected snapshot shape. Call with {elements:[{label,rect:{x,y,w,h},role,fontPt,fgColor,bgColor}],viewport:{w,h}} to score 44×44pt touch targets, contrast (with iOS secondaryLabel/tertiaryLabel treated as platform-standard — warn not fail), and visual rhythm (alignment, gap consistency, optical balance) in points. Same return shape as audit_page.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"project\":{\"type\":\"string\",\"description\":\"Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes and a screenshot is passed, the screenshot's pixels verify the color-scheme notes; results gain note_assessments.\"},\"profile\":{\"type\":\"string\",\"description\":\"Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.\"},\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"rect\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\",\"w\",\"h\"],\"additionalProperties\":false},\"role\":{\"type\":\"string\",\"description\":\"Accessibility role/trait, e.g. button, link, cell, staticText, image, tab, textField\"},\"fontPt\":{\"type\":\"number\",\"description\":\"Effective font point/dp size, if text\"},\"fgColor\":{\"type\":\"string\",\"description\":\"Foreground color — hex (#1c1c1e), rgb(), or a platform semantic name ('secondaryLabel' iOS / 'onSurfaceVariant' Android)\"},\"bgColor\":{\"type\":\"string\",\"description\":\"Background color behind this element — hex, rgb(), or semantic name\"}},\"required\":[\"rect\"],\"additionalProperties\":false},\"description\":\"Elements captured from the rendered screen via an accessibility/view-hierarchy snapshot\"},\"viewport\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false,\"description\":\"Screen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel\"},\"screenshot\":{\"type\":\"string\",\"description\":\"Optional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit iOS Screen\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_ios_privacy\",\"description\":\"Audit an iOS or React Native/Expo app's privacy posture for App Review and user trust. Reads a native Info.plist XML OR an Expo app.json (managed Expo apps have no Info.plist) — plus optional PRIVACY.md, entitlements, and source. Flags: NS*UsageDescription strings that are vague/missing or contradict the code (e.g. a HealthKit write claim the code never fulfills), entitlements/permissions and Android permissions the app doesn't use, ATS cleartext exceptions and non-HTTPS endpoints, secrets/keys shipped in the bundle or app.json, and default data-egress paths not disclosed at the point of choice (a pre-selected 'Recommended' option that silently sends personal data to a server). Same return shape as audit_page.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"info_plist\":{\"type\":\"string\",\"description\":\"Raw Info.plist XML (native iOS / bare RN). Provide this OR app_json.\"},\"app_json\":{\"type\":\"string\",\"description\":\"Expo app.json / app.config JSON (managed RN). Its expo.ios.infoPlist, expo.android.permissions, plugins, and extra are audited.\"},\"privacy_md\":{\"type\":\"string\",\"description\":\"Optional PRIVACY.md / privacy policy text to cross-reference against declared permissions and default behavior\"},\"entitlements\":{\"type\":\"string\",\"description\":\"Optional .entitlements XML\"},\"source\":{\"type\":\"string\",\"description\":\"Optional concatenated source (Swift or JS/TS) — enables code-vs-declaration contradiction checks and default-egress detection\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit iOS Privacy\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_rn\",\"description\":\"Audit React Native / Expo source (JSX/TSX + StyleSheet) against the iOS HIG + Android Material conventions RN must satisfy. Flags touchables missing accessibilityLabel/accessibilityRole, touchables below 44pt without hitSlop, allowFontScaling={false}, fontSize below ~13, screens without SafeAreaView, and (for multi-mode apps) hardcoded colors with no useColorScheme/Appearance dark-mode handling. Rewards SafeAreaView, hitSlop, Platform-aware code, and a theme. RN-native checks only — no web/CSS or SwiftUI rules. Same return shape as audit_page. (RN renders to native widgets, so audit_ios_screen scores the rendered screen.)\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"source\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"type\":\"string\"}}],\"description\":\"React Native source — a single screen/component as a string, or an array of file contents. Concatenated before analysis.\"},\"color_scheme\":{\"type\":\"string\",\"enum\":[\"light\",\"dark\",\"automatic\"],\"description\":\"The app's declared appearance (Expo app.json userInterfaceStyle). 'light' or 'dark' means single-mode by design — the dark-mode adaptation check is then suppressed. Default: automatic.\"},\"strict\":{\"type\":\"boolean\",\"description\":\"Strict mode — also count warnings as failures for grading. Default: false\"},\"project\":{\"type\":\"string\",\"description\":\"Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes, each note is verified against the source (Animated/Reanimated, BlurView, haptics, fonts) and returned in note_assessments; missing notes count toward the grade.\"},\"profile\":{\"type\":\"string\",\"description\":\"Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.\"}},\"required\":[\"source\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit React Native\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_content_systems\",\"description\":\"Browse available content design systems — brand voice and tone guides (Conversational Product Voice, GOV.UK, Shopify Polaris, Atlassian). Filter by category or search by name.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"category\":{\"type\":\"string\",\"description\":\"Filter by category: commerce-saas, government, marketing-saas, productivity-saas\"},\"search\":{\"type\":\"string\",\"description\":\"Search by name, description, or tag\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"List Content Systems\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_content_system\",\"description\":\"Get a brand's content design system — voice attributes, tone shifts by context, vocabulary (use/avoid/never), grammar rules, content patterns for errors/empty-states/buttons/etc., and inclusive language guidance.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Content system ID (e.g. 'conversational-product-voice', 'gov-uk', 'shopify-polaris', 'atlassian')\"},\"section\":{\"type\":\"string\",\"enum\":[\"all\",\"voice\",\"tone_shifts\",\"vocabulary\",\"grammar\",\"content-patterns\",\"inclusive-language\"],\"description\":\"Return just one section. Default: all.\"}},\"required\":[\"id\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Content System\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_content_principles\",\"description\":\"Get UX-writing principles — clarity over cleverness, active voice, error-message anatomy, inclusive language, voice vs tone, and more. Filter by the writing context (e.g. 'error messages', 'notifications', 'form labels').\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"context\":{\"type\":\"string\",\"description\":\"What you're writing for (e.g. 'error messages', 'onboarding copy', 'empty state', 'notification'). Omit to get all UX-writing principles.\"},\"format\":{\"type\":\"string\",\"enum\":[\"full\",\"checklist\",\"brief\"],\"description\":\"Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Content Principles\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_content_pattern\",\"description\":\"Get content design patterns — copy recipes for error messages, empty-state copy, notifications, and form validation. Returns do's, don'ts, good/bad examples, evidence, and a checklist.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"error-messages\",\"empty-state-copy\",\"notifications\",\"form-validation\"],\"description\":\"Content pattern type\"}},\"required\":[\"type\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Content Pattern\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_research_method\",\"description\":\"Get research method details — qualitative (interviews, contextual inquiry, diary, field, intercept), quantitative (surveys, analytics, A/B tests, benchmarking, clickstream), or usability (moderated, unmoderated, 5-second, card sort, tree test, heuristic eval). Returns specific protocols, do/don't guidance, evidence, and a checklist. Use when the user is designing a study or asking how to measure something.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"category\":{\"type\":\"string\",\"enum\":[\"qualitative\",\"quantitative\",\"usability\",\"all\"],\"description\":\"Which family of methods. Default: all.\"},\"search\":{\"type\":\"string\",\"description\":\"Search within methods by name or description.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Research Method\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_metrics_framework\",\"description\":\"Get a product-metrics framework — HEART (Google), AARRR/Pirate (Dave McClure), North Star Metric, Conversion Funnel, RICE Scoring, or OKRs. Returns structure, when-to-use, pitfalls, and examples. Use when the user asks 'how should we measure success?' or 'what metrics should we track?'\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Framework id (heart, aarrr, north-star-metric, conversion-funnel, rice-scoring, okrs). Omit to list all.\"},\"search\":{\"type\":\"string\",\"description\":\"Search for a framework by name or summary.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Metrics Framework\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_service_pattern\",\"description\":\"Get a service design pattern — service blueprinting, human handoff, signup-as-service, omnichannel continuity, or moments of truth / recovery. Returns patterns, do/don't guidance, evidence, and a checklist. Use when the user is designing a service flow, escalation, cross-channel experience, or moment of truth.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"service-blueprinting\",\"human-handoff\",\"signup-as-service\",\"omnichannel-continuity\",\"moments-of-truth\"],\"description\":\"Service design pattern type\"}},\"required\":[\"type\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Service Pattern\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_service_standard\",\"description\":\"Get the GOV.UK Service Standard — 14 points the UK government uses to assess whether a public service is ready to launch. Widely applicable as a rigorous service-quality checklist beyond government. Use when the user asks how to evaluate a whole service.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{}},\"annotations\":{\"title\":\"Get Service Standard\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"generate_service_blueprint\",\"description\":\"Render a service blueprint as a self-contained HTML page. Supports two modes: (1) classic Shostack single-actor blueprint — user action, frontstage, backstage, support, evidence, pain/delight; (2) two-actor HI-loop blueprint — when `actors` is supplied, renders two swim lanes with a line of interaction between them (e.g. customer ↔ lawyer, patient ↔ doctor, buyer ↔ agent). Each actor gets their own actions, frontstage (what they see), and evidence. Optionally accepts an ideal-state to render side-by-side with the current state.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"service_name\":{\"type\":\"string\",\"description\":\"Name of the service (e.g. 'Free trial signup', 'Client intake', 'Restaurant reservation')\"},\"subtitle\":{\"type\":\"string\",\"description\":\"Short description or context line under the title\"},\"actors\":{\"type\":\"object\",\"properties\":{\"a\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"}},\"required\":[\"label\"],\"additionalProperties\":false,\"description\":\"Actor A label (default: 'User'). Use when you want to name the first side (e.g. 'Customer', 'Patient').\"},\"b\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"}},\"required\":[\"label\"],\"additionalProperties\":false,\"description\":\"Actor B label (e.g. 'Lawyer', 'Doctor', 'Agent'). Presence of this field switches to two-actor layout.\"}},\"required\":[\"b\"],\"additionalProperties\":false,\"description\":\"Omit for classic single-actor Shostack blueprint. Provide to render a two-swim-lane HI-loop blueprint with a line of interaction between the two sides.\"},\"current\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\",\"description\":\"Step label (e.g. 'Discover', 'Sign up', 'First use')\"},\"user_action\":{\"type\":\"string\",\"description\":\"In single-actor: what the user does. In two-actor: what actor A does.\"},\"frontstage\":{\"type\":\"string\",\"description\":\"In single-actor: what the user SEES (UI, agent greeting). In two-actor: what actor A sees.\"},\"backstage\":{\"type\":\"string\",\"description\":\"What neither actor sees directly — shared systems, internal processes, back-office work\"},\"support\":{\"type\":\"string\",\"description\":\"Supporting processes, systems, third-party dependencies\"},\"evidence\":{\"type\":\"string\",\"description\":\"In single-actor: artifact user receives. In two-actor: artifact actor A has.\"},\"pain_point\":{\"type\":\"string\",\"description\":\"Known pain point at this step (shown as red callout)\"},\"delight\":{\"type\":\"string\",\"description\":\"Designed moment of delight at this step (shown as green callout)\"},\"actor_b\":{\"type\":\"object\",\"properties\":{\"action\":{\"type\":\"string\",\"description\":\"What actor B does in this step\"},\"frontstage\":{\"type\":\"string\",\"description\":\"What actor B sees — their own UI, tools, views\"},\"evidence\":{\"type\":\"string\",\"description\":\"Artifact actor B has — case file, notes, record\"}},\"additionalProperties\":false,\"description\":\"Only used when `actors.b` is provided. Captures the other side of the interaction.\"}},\"required\":[\"label\"],\"additionalProperties\":false},\"description\":\"The current-state blueprint as an array of steps\"},\"ideal\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"user_action\":{\"type\":\"string\"},\"frontstage\":{\"type\":\"string\"},\"backstage\":{\"type\":\"string\"},\"support\":{\"type\":\"string\"},\"evidence\":{\"type\":\"string\"},\"pain_point\":{\"type\":\"string\"},\"delight\":{\"type\":\"string\"},\"actor_b\":{\"type\":\"object\",\"properties\":{\"action\":{\"type\":\"string\"},\"frontstage\":{\"type\":\"string\"},\"evidence\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"required\":[\"label\"],\"additionalProperties\":false},\"description\":\"Optional ideal-state blueprint — if provided, output shows current AND ideal side-by-side\"}},\"required\":[\"service_name\",\"current\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Generate Service Blueprint\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_brand_principles\",\"description\":\"Get brand and visual-design principles — logo usage (clear space, min sizes, variants, placement, restraint), gradient usage (hierarchy, palette, contrast, trend vs signature), imagery (consistency, representation, purpose), visual hierarchy, and brand-as-system thinking. Use when the user asks about branding, logos, gradients, imagery, visual consistency, or how to treat a brand across surfaces.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"topic\":{\"type\":\"string\",\"description\":\"Filter by topic: 'logo', 'gradient', 'imagery', 'hierarchy', 'system', or a freeform search term. Omit to return all brand principles.\"},\"format\":{\"type\":\"string\",\"enum\":[\"full\",\"checklist\",\"brief\"],\"description\":\"Output format. Default: full.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Brand Principles\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_brand_trends\",\"description\":\"Get current brand and visual-design trends — what's working in 2026 and where each trend fits or fails. Includes bento grids, monospace type, neon-on-dark-glass, generative patterns, brutalism rebound, AI-generated imagery, lowercase/mixed case. Each trend is time-stamped — treat as a calibration signal, not a prescription.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{}},\"annotations\":{\"title\":\"Get Brand Trends\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_creative_models\",\"description\":\"Browse Raven's provider-agnostic creative model catalog. These are capability slots for image, video, 3D, audio, character consistency, and creative analysis. Each entry lists typical inputs and best-for guidance.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"media_type\":{\"type\":\"string\",\"enum\":[\"image\",\"video\",\"audio\",\"3d\",\"campaign\",\"analysis\"],\"description\":\"Filter by media type.\"},\"capability\":{\"type\":\"string\",\"description\":\"Filter by capability, e.g. product-photoshoot, text-to-video, brand-kit, ugc-ad.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"List Creative Models\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_creative_presets\",\"description\":\"Browse Raven creative presets for product photoshoots, marketplace cards, UGC ads, TV spots, cinematic reveals, social launch packs, storyboards, and infographics.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"media_type\":{\"type\":\"string\",\"enum\":[\"image\",\"video\",\"campaign\"],\"description\":\"Filter presets by media type.\"},\"search\":{\"type\":\"string\",\"description\":\"Search preset name or description.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"List Creative Presets\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"create_brand_profile\",\"description\":\"Create or update a local brand profile used by Raven creative jobs. Stores colors, fonts, tone, audience, constraints, product notes, and asset references locally under ~/.raven/creative by default.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Brand or project name.\"},\"id\":{\"type\":\"string\",\"description\":\"Optional stable ID. If omitted, Raven creates one from the name.\"},\"description\":{\"type\":\"string\",\"description\":\"What the brand/product is.\"},\"colors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Brand colors, preferably hex or token names.\"},\"fonts\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Brand fonts or type guidance.\"},\"tone\":{\"type\":\"string\",\"description\":\"Voice and tone guidance.\"},\"audience\":{\"type\":\"string\",\"description\":\"Primary audience/customer.\"},\"product\":{\"type\":\"string\",\"description\":\"Product or offer notes.\"},\"constraints\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Rules to honor: no claims, legal notes, visual constraints.\"},\"asset_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Existing Raven creative asset IDs tied to this brand.\"}},\"required\":[\"name\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Create Brand Profile\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_brand_profile\",\"description\":\"Read a local Raven creative brand profile by ID.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Brand profile ID.\"}},\"required\":[\"id\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Brand Profile\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_brand_profiles\",\"description\":\"List local Raven creative brand profiles.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{}},\"annotations\":{\"title\":\"List Brand Profiles\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"register_creative_asset\",\"description\":\"Register a local or remote creative asset for Raven jobs. This is the local-first analog of upload: Raven stores metadata and a URI/path, not the file bytes.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"uri\":{\"type\":\"string\",\"description\":\"Local path or URL to the asset.\"},\"type\":{\"type\":\"string\",\"enum\":[\"image\",\"video\",\"audio\",\"document\",\"3d\",\"url\",\"other\"],\"description\":\"Asset type.\"},\"name\":{\"type\":\"string\",\"description\":\"Human-readable name.\"},\"description\":{\"type\":\"string\",\"description\":\"What this asset should be used for.\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Search tags.\"},\"metadata\":{\"type\":\"object\",\"additionalProperties\":{},\"description\":\"Optional non-secret metadata.\"}},\"required\":[\"uri\",\"type\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Register Creative Asset\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"create_character_profile\",\"description\":\"Create a local character/identity reference profile for consistent image or video generation. Raven stores reference asset IDs and provider-training payloads; actual identity training happens only through a configured provider runner.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Character, spokesperson, founder, avatar, or product persona name.\"},\"reference_asset_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"minItems\":1,\"description\":\"Raven creative asset IDs for reference images/videos.\"},\"id\":{\"type\":\"string\",\"description\":\"Optional stable ID.\"},\"description\":{\"type\":\"string\",\"description\":\"Visual/personality description.\"},\"consistency_notes\":{\"type\":\"string\",\"description\":\"What must stay consistent across generations.\"},\"provider_training_id\":{\"type\":\"string\",\"description\":\"External provider training/character ID if already trained.\"},\"metadata\":{\"type\":\"object\",\"additionalProperties\":{},\"description\":\"Optional non-secret metadata.\"}},\"required\":[\"name\",\"reference_asset_ids\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Create Character Profile\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"create_generation_job\",\"description\":\"Create a Raven creative generation job for image, video, 3D, audio, campaign, or analysis. Returns a brand-aware provider payload. If execute=true and RAVEN_CREATIVE_RUNNER is configured, Raven submits the job to that local runner.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"media_type\":{\"type\":\"string\",\"enum\":[\"image\",\"video\",\"audio\",\"3d\",\"campaign\",\"analysis\"],\"description\":\"Output type.\"},\"prompt\":{\"type\":\"string\",\"description\":\"Creative request.\"},\"objective\":{\"type\":\"string\",\"description\":\"Business or audience goal.\"},\"model\":{\"type\":\"string\",\"description\":\"Raven model slot or external provider model ID.\"},\"provider\":{\"type\":\"string\",\"description\":\"Provider label for the downstream runner.\"},\"preset\":{\"type\":\"string\",\"description\":\"Preset ID from list_creative_presets.\"},\"brand_profile_id\":{\"type\":\"string\",\"description\":\"Local Raven brand profile ID.\"},\"character_profile_id\":{\"type\":\"string\",\"description\":\"Local Raven character profile ID.\"},\"reference_asset_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Local Raven creative asset IDs.\"},\"aspect_ratio\":{\"type\":\"string\",\"description\":\"Target aspect ratio, e.g. 1:1, 16:9, 9:16.\"},\"duration_seconds\":{\"type\":\"number\",\"exclusiveMinimum\":0,\"maximum\":600,\"description\":\"Video/audio duration.\"},\"output_count\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":100,\"description\":\"Number of variants to request.\"},\"quality\":{\"type\":\"string\",\"enum\":[\"draft\",\"standard\",\"high\",\"4k\"],\"description\":\"Requested quality tier.\"},\"channel\":{\"type\":\"string\",\"description\":\"Target channel, e.g. TikTok, YouTube Shorts, blog, marketplace.\"},\"execute\":{\"type\":\"boolean\",\"description\":\"Submit through RAVEN_CREATIVE_RUNNER now. Default false.\"}},\"required\":[\"media_type\",\"prompt\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Create Generation Job\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_generation_job\",\"description\":\"Read a Raven creative generation job by ID.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Generation job ID.\"}},\"required\":[\"id\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Generation Job\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_generation_jobs\",\"description\":\"List local Raven creative generation jobs.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\",\"description\":\"Filter by status: draft, needs_runner, submitted, completed, failed.\"},\"media_type\":{\"type\":\"string\",\"enum\":[\"image\",\"video\",\"audio\",\"3d\",\"campaign\",\"analysis\"],\"description\":\"Filter by media type.\"},\"limit\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":100,\"description\":\"Max jobs to return. Default 25.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"List Generation Jobs\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"plan_creative_campaign\",\"description\":\"Plan a multi-asset creative campaign and optionally create draft generation jobs. Covers Higgsfield-like workflows: product photos, UGC/video ads, marketplace cards, launch/social packs, storyboards, and channel cutdowns.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"campaign_name\":{\"type\":\"string\",\"description\":\"Campaign name.\"},\"product_or_offer\":{\"type\":\"string\",\"description\":\"Product, service, feature, or offer.\"},\"audience\":{\"type\":\"string\",\"description\":\"Target audience.\"},\"goal\":{\"type\":\"string\",\"enum\":[\"awareness\",\"conversion\",\"retention\",\"launch\",\"research\",\"sales\"],\"description\":\"Primary campaign goal.\"},\"channels\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"minItems\":1,\"description\":\"Target channels: TikTok, Reels, YouTube Shorts, web, marketplace, LinkedIn, etc.\"},\"brand_profile_id\":{\"type\":\"string\",\"description\":\"Local Raven brand profile ID.\"},\"source_asset_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Raven creative asset IDs to use as source/reference.\"},\"formats\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Preset IDs to force. Defaults inferred from channels.\"},\"variants_per_format\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":5,\"description\":\"How many draft job variants per format. Default 2.\"},\"create_jobs\":{\"type\":\"boolean\",\"description\":\"Create draft generation jobs. Default true.\"}},\"required\":[\"campaign_name\",\"product_or_offer\",\"audience\",\"goal\",\"channels\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Plan Creative Campaign\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"score_creative\",\"description\":\"Score a creative prompt, script, or ad concept for hook strength, benefit clarity, product signal, call-to-action, channel fit, audience fit, and brand fit. This is a transparent heuristic, not a proprietary prediction model.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"creative_text\":{\"type\":\"string\",\"description\":\"Prompt, script, ad copy, or creative concept to score.\"},\"channel\":{\"type\":\"string\",\"description\":\"Target channel.\"},\"brand_profile_id\":{\"type\":\"string\",\"description\":\"Local Raven brand profile ID.\"},\"audience\":{\"type\":\"string\",\"description\":\"Target audience if not in a brand profile.\"}},\"required\":[\"creative_text\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Score Creative\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_consistency\",\"description\":\"Audit multiple pages for cross-page consistency of content-container width and hero heading tier. Pass ≥2 pages ({name, html}) collected from different routes on the same site. Infers the canonical (modal) value from the corpus when no token is supplied, so you need not know the project's design token in advance. Flags the issue #9 single-blob blind spot: pages that each pass audit_page but silently disagree with each other on container width or hero size class. Returns per-page extraction (container_px, container_classes, hero_classes, signatures), consistency dimensions with reference values, outlier page names, issues[], score (100/50/0 → A/C/D), and a plain-text summary. Pure offline — no browser, no network.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"pages\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Page route or label (e.g. \\\"/\\\", \\\"/changelog\\\", \\\"get-started\\\").\"},\"html\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Full HTML source for the page, including any <style> blocks.\"}},\"required\":[\"name\",\"html\"],\"additionalProperties\":false},\"minItems\":2,\"description\":\"At least 2 pages to compare. Each entry is {name, html}.\"},\"container_token\":{\"type\":\"number\",\"description\":\"Project's canonical container width in px (e.g. 1152). When supplied, container divergence is measured against this token rather than the corpus modal.\"},\"hero_token\":{\"type\":\"string\",\"description\":\"Canonical hero heading class signature (e.g. \\\"text-display-xl\\\" or \\\"64\\\"). When supplied, hero divergence is measured against this token rather than the corpus modal.\"}},\"required\":[\"pages\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Consistency\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"raven_reflect\",\"description\":\"Summarize how Raven has been used on this machine over the last N days. Reports which tools are called most, which audit warnings fire repeatedly (→ likely gaps in Raven's knowledge), which patterns and design systems you look up, and which companies you ask for brand styles. Call this when the user asks 'what have I been building with Raven' or 'what's Raven missing'. All data is read from a local log ($RAVEN_USAGE_LOG or ~/.raven/usage.jsonl) — nothing is fetched over the network.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"days\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":365,\"description\":\"How many days back to include. Default: 30.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Raven Reflect\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"raven_register\",\"description\":\"Register your email to receive design updates and provide feedback to the Raven creator. Call this when a user wants to register, give feedback, or connect with the Raven team.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"email\":{\"type\":\"string\",\"format\":\"email\",\"description\":\"User's email address\"},\"name\":{\"type\":\"string\",\"description\":\"User's name (optional)\"}},\"required\":[\"email\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Raven Register\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_video_playback\",\"description\":\"Render a page in headless Chromium and observe whether each <video> actually advances (samples currentTime before/after a play attempt), classifying every clip into playing|paused|stalled|empty|error with a reason. Catches black/non-playing videos that static audits miss — the most common real-world defect on marketing sites with video backgrounds. Pass url to render + observe, or dom_snapshot to classify pre-collected observations without a browser.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"URL to render and observe (http/https or file://). Requires headless chromium.\"},\"dom_snapshot\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\",\"description\":\"CSS selector identifying the video element\"},\"hasSource\":{\"type\":\"boolean\",\"description\":\"True if currentSrc is non-empty OR the element has a src attribute or <source> child\"},\"readyState\":{\"type\":\"number\",\"description\":\"HTMLMediaElement.readyState (0..4)\"},\"networkState\":{\"type\":\"number\",\"description\":\"HTMLMediaElement.networkState (0..3; 3=NETWORK_NO_SOURCE)\"},\"errorCode\":{\"type\":\"number\",\"description\":\"MediaError.code (0=none, 1=aborted, 2=network, 3=decode, 4=src-not-supported)\"},\"paused\":{\"type\":\"boolean\",\"description\":\"True if the element is paused\"},\"autoplayBlocked\":{\"type\":\"boolean\",\"description\":\"True if play() was rejected with NotAllowedError\"},\"currentTimeStart\":{\"type\":\"number\",\"description\":\"currentTime recorded before the play attempt\"},\"currentTimeEnd\":{\"type\":\"number\",\"description\":\"currentTime recorded after the observe window\"}},\"required\":[\"selector\",\"hasSource\",\"readyState\",\"networkState\",\"errorCode\",\"paused\",\"autoplayBlocked\",\"currentTimeStart\",\"currentTimeEnd\"],\"additionalProperties\":false},\"description\":\"Pre-collected video observations to classify without rendering (deterministic path)\"},\"observeMs\":{\"type\":\"number\",\"description\":\"Milliseconds to wait between currentTime samples after play() attempt. Default: 1000\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Video Playback\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_add\",\"description\":\"Add an active decision to the local Decision Graph.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"statement\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Decision statement.\"},\"rationale\":{\"type\":\"string\",\"description\":\"Reason for the decision. Omit when no rationale was recorded.\"},\"scope\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Scope where the decision applies.\"},\"component_ref\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Component or surface the decision refers to.\"},\"alternatives_rejected\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Alternatives considered and rejected.\"},\"author\":{\"type\":[\"string\",\"null\"],\"description\":\"Agent or person authoring the decision. Defaults to RAVEN_AGENT_ID or unknown.\"}},\"required\":[\"statement\",\"scope\",\"component_ref\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Add\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_evidence\",\"description\":\"Attach quantitative or qualitative evidence to an existing decision.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"decision_id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Existing decision node id.\"},\"type\":{\"type\":\"string\",\"enum\":[\"quant\",\"qual\"],\"description\":\"Evidence type.\"},\"source_ref\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":2000,\"description\":\"URL, experiment name, ticket, or transcript reference.\"},\"result_summary\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":5000,\"description\":\"Concise summary of the evidence result.\"},\"confidence\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1,\"description\":\"Confidence from 0 to 1.\"},\"confounds\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"maxLength\":500},\"maxItems\":50,\"default\":[],\"description\":\"Known factors that may confound the result.\"}},\"required\":[\"decision_id\",\"type\",\"source_ref\",\"result_summary\",\"confidence\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Evidence\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_draft\",\"description\":\"Capture a decision from working context with the why deferred for later confirmation.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"statement\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Decision statement.\"},\"scope\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Scope where the decision applies.\"},\"component_ref\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Component or surface the decision refers to.\"},\"alternatives_rejected\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Alternatives considered and rejected.\"}},\"required\":[\"statement\",\"scope\",\"component_ref\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Draft\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_commit\",\"description\":\"Commit or confirm the rationale for a draft or extracted decision.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Decision node id to commit.\"},\"rationale\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Confirmed rationale for the decision.\"},\"similarity_threshold\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1,\"description\":\"Similarity threshold from 0 to 1. Overrides RAVEN_DECISION_SIMILARITY_THRESHOLD for this commit.\"}},\"required\":[\"id\",\"rationale\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Commit\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_supersede\",\"description\":\"Explicitly supersede one decision with another while preserving both nodes and their lineage.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"old_id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Existing decision id that is being superseded.\"},\"new_id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Existing replacement decision id.\"}},\"required\":[\"old_id\",\"new_id\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Supersede\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_contest\",\"description\":\"Contest an active decision: it stops governing immediately, without deleting it or requiring a replacement.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Existing active decision id to contest.\"},\"reason\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Why the decision is being contested. This is what an adjudicator reads.\"},\"evidence_ref\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Source ref for evidence that contradicts the decision. Attaches an evidence node and a contradicts edge, which raises the gap_scan finding from `contested` to `contested_with_evidence`.\"}},\"required\":[\"id\",\"reason\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Contest\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_scope\",\"description\":\"Narrow two decisions to distinct scopes so both can remain active alongside one another.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id_a\":{\"type\":\"string\",\"minLength\":1,\"description\":\"First existing decision id.\"},\"id_b\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Second existing decision id.\"},\"scope_a\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Narrowed scope for the first decision.\"},\"scope_b\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Narrowed scope for the second decision.\"}},\"required\":[\"id_a\",\"id_b\",\"scope_a\",\"scope_b\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Scope\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_history\",\"description\":\"Return the complete supersession lineage for a decision, ordered oldest to newest.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Existing decision id anywhere in the supersession lineage.\"}},\"required\":[\"id\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision History\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_get\",\"description\":\"Get a Decision Graph node and every node connected to it by an edge in either direction.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Decision Graph node id.\"}},\"required\":[\"id\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Get\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_list\",\"description\":\"List decisions in the local Decision Graph. Defaults to ACTIVE decisions only — the ones that currently govern. Contesting a decision is what stops it governing, so contested decisions are deliberately excluded from the default: pass status:'contested' to review disputes, or include_contested:true to see both. A decision you cannot find is not the same as a decision that does not exist.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\",\"enum\":[\"candidate\",\"active\",\"superseded\",\"contested\"],\"description\":\"Decision status to list. Omit to list active decisions.\"},\"include_candidates\":{\"type\":\"boolean\",\"description\":\"When true and status is omitted, include uncommitted imported candidates with active decisions.\"},\"include_contested\":{\"type\":\"boolean\",\"description\":\"When true and status is omitted, include contested decisions alongside active ones. They do NOT govern — contesting is what removes a decision from force — but they are listed so an open dispute is discoverable rather than silently invisible. Read each decision's status field. Ignored when drafts_only is set: a contested decision is not a draft.\"},\"drafts_only\":{\"type\":\"boolean\",\"description\":\"When true, return active decisions awaiting a rationale or confirmation.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision List\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"gap_scan\",\"description\":\"Scan the local Decision Graph for uncovered components, weak rationales, contested decisions, and derived staleness. Schedulers should call with digest_only:true and treat actionable:false as a no-op.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"use_cases\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Use-case descriptions whose component terms should be covered by active decisions.\"},\"reference_systems\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Pattern or design-system ids from Raven's existing registries. Omit for a small built-in pattern set.\"},\"digest_only\":{\"type\":\"boolean\",\"description\":\"Hands-off mode. When healthy, return only the quiet actionable:false digest.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Gap Scan\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"decision_import\",\"description\":\"Mine local git history and decision-bearing Markdown into provenance-tagged Decision Graph extraction prompts. Imported history remains review-only until decision_commit.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"repo_path\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Local repository directory to inspect.\"},\"doc_globs\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1},\"default\":[\"docs/adr/**/*.md\",\"docs/decisions/**/*.md\",\"docs/decision*/*.md\",\"DECISIONS.md\",\"DESIGN.md\",\"figma-comments-archive/**/*.md\"],\"description\":\"Repository-relative Markdown globs. Supports * and **.\"},\"max_commits\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":1000,\"default\":200,\"description\":\"Maximum git commits to inspect (cap 1000).\"},\"max_chunk_chars\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":60000,\"default\":24000,\"description\":\"Maximum material characters per extraction chunk. Oversized single items are continuation-split (cap 60000).\"}},\"required\":[\"repo_path\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Decision Import\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"ingest_transcript\",\"description\":\"Store a transcript source and return an extraction prompt for the calling agent's model. Raven makes no model or network call.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Transcript text to extract design decisions from.\"},\"source_meta\":{\"type\":\"object\",\"properties\":{\"ref\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Source reference, such as a meeting title, URL, or date.\"},\"kind\":{\"type\":\"string\",\"description\":\"Source kind. Defaults to meeting.\"}},\"required\":[\"ref\"],\"additionalProperties\":false,\"description\":\"Metadata identifying the transcript source.\"}},\"required\":[\"text\",\"source_meta\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Ingest Transcript\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"ingest_transcript_results\",\"description\":\"Parse model-produced extraction JSON into reviewable Decision Graph candidates linked to their source. Nothing is auto-confirmed.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"source_id\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Existing transcript Source node id.\"},\"extraction_json\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Raw JSON returned by the calling agent's model.\"}},\"required\":[\"source_id\",\"extraction_json\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Ingest Transcript Results\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"create_taste_profile\",\"description\":\"Create (or overwrite) a named taste profile — a portable design-judgment ruleset + precedent corpus persisted locally under ~/.raven/taste/<name>.json (override dir with RAVEN_TASTE_HOME). Pass explicit rules[] (rule_id, clause_text, category, severity_default block|warn|nit, negative_prompt, owner taste|raven, delegate_to), and/or a DESIGN.md-style markdown doc to ingest (## headings = categories; '- ' bullets = rules; '(block)'/'(warn)'/'(nit)' severity markers; '(raven:<tool>)' delegates a rule to an existing Raven audit tool; '(scope:<surface>)' scopes a rule to one surface; 'Do NOT …' sentences become the rule's negative prompt). Ingest RULES-SHAPED docs only (actionable design constraints under category headings) — brand-story/mythology docs produce noise rules, not judgment. Local-first: nothing leaves the machine. Pass template:'portfolio'|'saas-marketing'|'app' for a cold start — seeds a small starter ruleset (color restraint, typography floor, spacing, voice, tap targets) BEFORE any calibration interview has run; template rules are added first, then any explicit rules/markdown you also pass are merged in on top. Still run get_taste_interview afterward — the template is a floor, not a substitute for calibrating to the actual person's taste.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Profile name (becomes <name>.json; lowercase alnum/dash/underscore).\"},\"template\":{\"type\":\"string\",\"enum\":[\"portfolio\",\"saas-marketing\",\"app\"],\"description\":\"Seed a small cold-start ruleset for this surface family before any explicit rules/markdown are merged in. Omit for a blank profile.\"},\"rules\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"rule_id\":{\"type\":\"string\",\"description\":\"Stable unique id, e.g. COLOR-no-gradient.\"},\"clause_text\":{\"type\":\"string\",\"description\":\"The rule stated as a positive clause.\"},\"category\":{\"type\":\"string\",\"description\":\"color | typography | layout | spacing | voice | tokens | motion | …\"},\"severity_default\":{\"type\":\"string\",\"enum\":[\"block\",\"warn\",\"nit\"]},\"negative_prompt\":{\"type\":\"string\",\"description\":\"'Do NOT …' phrasing. A parenthesized comma-list becomes a deterministic banned-word scan ONLY when its sentence is about vocabulary (use/say/write/words/verbs/phrases…), e.g. 'Do NOT use persuasion verbs (proven, shipped, unlock)'. Descriptive example lists ('project facts (counts, scope)') are ignored.\"},\"owner\":{\"type\":\"string\",\"enum\":[\"taste\",\"raven\"],\"description\":\"raven = measured by an existing Raven audit tool named in delegate_to.\"},\"delegate_to\":{\"type\":\"string\",\"description\":\"Raven tool that owns the measurement (required when owner is raven).\"},\"scope\":{\"type\":\"string\",\"description\":\"Surface this rule applies to (e.g. portfolio-monochrome). Omit or 'global' = applies everywhere. Scoped rules activate when audit_taste is called with a matching surface, are skipped on a non-matching one, and warn (never block) when surface is omitted.\"}},\"required\":[\"rule_id\",\"clause_text\",\"category\",\"severity_default\"],\"additionalProperties\":false},\"description\":\"Explicit rule objects.\"},\"corpus\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"artifact\":{\"type\":\"string\"},\"verdict\":{\"type\":\"string\",\"enum\":[\"accept\",\"revise\",\"reject\"]},\"violated_rule\":{\"type\":\"string\"},\"severity\":{\"type\":\"string\",\"enum\":[\"block\",\"warn\",\"nit\"]},\"wrong\":{\"type\":\"string\"},\"right\":{\"type\":\"string\"}},\"required\":[\"artifact\",\"verdict\",\"violated_rule\",\"wrong\",\"right\"],\"additionalProperties\":false},\"description\":\"Seed precedent records.\"},\"markdown\":{\"type\":\"string\",\"description\":\"DESIGN.md-style markdown to ingest as rules.\"}},\"required\":[\"name\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Create Taste Profile\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_taste_profile\",\"description\":\"Load a locally stored taste profile by name — returns its full rule catalog, precedent corpus, and per-project surface bindings. NOT a calibration step: bindings are per-surface and do not transfer — for design work on a project without a binding, call get_taste_interview and ask the user its questions before committing any direction.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Profile name.\"}},\"required\":[\"name\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Taste Profile\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"get_taste_interview\",\"description\":\"START HERE on a NEW project: returns a deterministic calibration interview. By default (depth:'first_run') it is COMPRESSED to just 5 core questions — identity, genesis (what already exists for the project — a brand, a design system, brand assets — routing whatever is missing to generation: mood board approval stop, then generate_design_system save:true, then init_design_md), aesthetic, voice, matchers — so a first-time kickoff is fast; every other question (references, the remaining ten design dimensions, any learned dimensions, rule exceptions, and the open-ended special question) is still returned under `more_questions` for the agent to offer as optional deeper calibration. Pass depth:'full' to get everything at once as a single flat `questions` list (the eleven design dimensions — typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries — each grounded in what the profile already enforces and most carrying multiple-choice options; the libraries question names specialty tech in plain outcome language and states the default build target for sites: a Next.js app, unless the user prefers otherwise). The voice question always renders the same message in three registers (formal-technical / warm-conversational / punchy-editorial) so the user picks by ear, not by adjective — asked even when the profile has zero voice rules. Every question carries skippable + priority ('core'|'extended'); only identity is required. A 'references' question (offered in more_questions on first_run) invites example URLs/screenshots/files, each interviewed with follow-ups about what specifically draws the person, folded into the matching design_notes. The full interview closes with an open-ended 'special' question (any texture, signature detail, motif, or easter egg nothing else asked about); once the person has other bound surfaces, it carries `suggestions` — the special touches they chose elsewhere. Ask the user the returned questions conversationally, then persist the answers with bind_taste_surface (dimension answers go in design_notes). Run this BEFORE the first audit_taste on any project that has no binding yet — audit results include a calibration_hint when calibration is missing. When a user dislikes generated/designed output on an ALREADY-calibrated project, re-run with mode:'refine' instead of starting over — dissatisfaction is a calibration signal, not a dead end: it requires an existing binding, then interviews what specifically fell short, offers to keep/tighten/replace each stored design_notes value, re-asks voice, and offers to log a reject precedent via label_finding. mode defaults to 'kickoff'.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"profile\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Taste profile name (see list_taste_profiles).\"},\"project\":{\"type\":\"string\",\"description\":\"Project identifier the binding will be saved under, e.g. 'raven-mcp' or 'portfolio'. Include it so the interview can show any existing binding.\"},\"mode\":{\"type\":\"string\",\"enum\":[\"kickoff\",\"refine\"],\"description\":\"'kickoff' (default) calibrates a project with no binding yet. 'refine' re-interviews an ALREADY-bound project after the user rejects generated/designed output — requires an existing binding (throws naming get_taste_interview kickoff otherwise) and asks what fell short, then per-dimension keep/tighten/replace, then voice, then an optional reject precedent.\"},\"depth\":{\"type\":\"string\",\"enum\":[\"first_run\",\"full\"],\"description\":\"'first_run' (default) returns only the 5 core questions (identity, genesis, aesthetic, voice, matchers) plus a `more_questions` array with everything else for optional deeper calibration. 'full' returns every question flattened into `questions`, as before.\"}},\"required\":[\"profile\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Get Taste Interview\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"bind_taste_surface\",\"description\":\"Persist a project's surface calibration for a taste profile — the answers from get_taste_interview. A binding records: the surface string scoped rules match against (e.g. 'product-site'), URL hosts that identify the project in url-mode audits, per-rule severity overrides (block|warn|nit|off — 'off' silences a rule on this surface), an optional voice/tone note, per-dimension design_notes (typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries, special — the interview's design:* answers), and a first-class `references` array — the example sites the person pointed to. References are NOT lossy prose: each url is captured live and its PageTraits (scheme, luminance, animation/scroll motion, text density) are stored on the binding, then design_notes are consistency-checked against what the references ACTUALLY are. A 'dark, cinematic' color note against two references that both render light comes back as a consistency_warning to surface to the user. Upserts by project name (~/.raven/taste/<profile>.surfaces.json); on a re-bind, omitted references/design_notes/voice_note/overrides/hosts carry forward and are reported in carried_forward, while explicit empty values clear them. When the design_notes name an expensive technique (three.js/WebGL, GSAP scroll choreography, anime.js staggered motion, glassmorphism, a branded loader, lottie, kinetic display type…), the result carries build_hints — a concrete recipe + canonical public example sources per technique, so the builder sees the HOW at kickoff, BEFORE building; an expensive note is not license to drop it. After binding, audit_taste with project:'<name>' or a bound url applies the calibration automatically: matching scoped rules run at full severity, non-matching ones are skipped, overrides re-tune the rest. ENFORCED: a bind whose RESULT has no calibration content (no design_notes/voice_note/references/overrides) is REFUSED — a brand-new surface bound bare (the fingerprint of a skipped kickoff interview) and a re-bind that explicitly clears every calibration field alike; a stored uncalibrated_ack carries forward on re-binds, so only a NEW clear-everything requires a fresh ack. Run get_taste_interview, ask the USER, and bind their answers; the uncalibrated_ack escape hatch exists only for a user who was interviewed and deliberately skipped every dimension.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"profile\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Taste profile name.\"},\"project\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Project identifier, e.g. 'raven-mcp', 'portfolio'.\"},\"surface\":{\"type\":\"string\",\"minLength\":1,\"description\":\"What this surface IS, in scope-matchable words: 'monochrome portfolio', 'product-site', 'developer docs'. Scoped rules activate when their scope tokens overlap this string.\"},\"hosts\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"URL hostnames that identify this project (e.g. ravenmcp.ai) — matched in url-mode audits, subdomains included.\"},\"overrides\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"rule_id\":{\"type\":\"string\",\"description\":\"Must exist in the profile.\"},\"severity\":{\"type\":\"string\",\"enum\":[\"block\",\"warn\",\"nit\",\"off\"],\"description\":\"Severity on this surface; off = rule never runs here.\"}},\"required\":[\"rule_id\",\"severity\"],\"additionalProperties\":false},\"description\":\"Per-rule re-tuning for this surface (e.g. relax a voice rule to nit on a product site).\"},\"voice_note\":{\"type\":\"string\",\"description\":\"Short tone guidance for this surface (e.g. 'Product register: benefits may be stated plainly; still no hype verbs'). Echoed as voice_note in audit results.\"},\"design_notes\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\",\"minLength\":1},\"description\":\"Per-dimension design preferences from the interview's design:* questions — keys are short dimension names (typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries, special; trimmed + lowercased, must match ^[a-z][a-z0-9_-]{0,31}$ after normalization, no two keys may collide), values are the user's non-empty answers. Echoed as design_notes in every audit so generation is shaped by them, and treated as ACCEPTANCE CRITERIA a build must visibly satisfy.\"},\"references\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"Example site URL (http/https), or a local .png screenshot file path for mobile references. URLs are captured live; .png paths are pixel-analyzed (scheme/luminance) — either way traits are stored so they can be consistency-checked against the design_notes.\"},\"liked\":{\"type\":\"string\",\"description\":\"What specifically the person likes about this reference, mapped to a dimension.\"}},\"required\":[\"url\"],\"additionalProperties\":false},\"description\":\"First-class reference examples the person pointed to. Each url is captured live (traits stored on the binding), and design_notes are consistency-checked against them — contradictions come back as consistency_warnings.\"},\"uncalibrated_ack\":{\"type\":\"string\",\"description\":\"ESCAPE HATCH — leave unset in the normal flow. Binding a BRAND-NEW surface with no calibration content (no design_notes/voice_note/references/overrides) is REFUSED, because that is the fingerprint of a skipped kickoff interview. Only if the user was genuinely interviewed and chose to skip every optional dimension, set this to a one-line note affirming that (e.g. 'user interviewed 2026-07-04, declined all dimension calibration'). It is recorded on the binding so the deliberate skip is auditable. Never set it to work around asking the user.\"}},\"required\":[\"profile\",\"project\",\"surface\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Bind Taste Surface\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"record_taste_decision\",\"description\":\"The Taste Engine's learning loop — record a taste, direction, or design decision the MOMENT it is made during real work (an accent chosen, a nav pattern rejected, a name direction picked, a type pairing approved), not just at interview time. Each record carries the project, a short dimension name (a standard one like color/navigation or a new category like iconography/sound), what was chosen in the user's words, the alternatives rejected, why, and a source: 'user-directed' (the user asked for it), 'user-approved' (the user accepted a proposal), or 'user-corrected' (the user overrode a generated choice — the highest-signal record). Recorded decisions evolve every future get_taste_interview kickoff: recurring choices return as suggested defaults on their dimension's question, and decision categories no standard question covers become NEW interview questions. Record liberally — every committed decision is calibration data.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"profile\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Taste profile name (see list_taste_profiles).\"},\"project\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Project the decision was made on.\"},\"dimension\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Short lowercase dimension name — a standard one (typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries) or a new category the standard set doesn't cover (iconography, sound, naming, …). New categories become new interview questions.\"},\"decision\":{\"type\":\"string\",\"minLength\":1,\"description\":\"What was chosen, in the user's words — e.g. 'amber-phosphor accent, period-accurate not decorative'.\"},\"rejected\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Alternatives considered and passed over.\"},\"why\":{\"type\":\"string\",\"description\":\"The stated reason, if the user gave one.\"},\"source\":{\"type\":\"string\",\"enum\":[\"user-directed\",\"user-approved\",\"user-corrected\"],\"description\":\"How the decision was made — defaults to 'user-directed'. 'user-corrected' (user overrode a generated choice) is the highest-signal record.\"}},\"required\":[\"profile\",\"project\",\"dimension\",\"decision\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Record Taste Decision\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_taste_decisions\",\"description\":\"List the taste/direction/design decisions recorded for a profile (see record_taste_decision), optionally filtered by project or dimension — the ledger that evolves the kickoff interview.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"profile\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Taste profile name.\"},\"project\":{\"type\":\"string\",\"description\":\"Only decisions made on this project.\"},\"dimension\":{\"type\":\"string\",\"description\":\"Only decisions on this dimension.\"}},\"required\":[\"profile\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"List Taste Decisions\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"generate_taste_portrait\",\"description\":\"Render a bound Taste Engine surface as a self-contained designed HTML portrait. Pass project to render one binding, or omit project to render every binding plus a gallery index.html. Portraits are generated from the local taste store and should be verified with audit_taste against their own surface/project before sharing — pass document_kind:'portrait' on that audit: a portrait is a document ABOUT the surface, so design_notes (three.js scenes, branded loaders…) are not acceptance criteria for it; profile rules still bind in full.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"profile\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Taste profile name.\"},\"project\":{\"type\":\"string\",\"description\":\"Optional bound project name. Omit to render every surface binding in the profile plus a gallery index.\"},\"output_dir\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Directory where the generated HTML files should be written.\"}},\"required\":[\"profile\",\"output_dir\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Generate Taste Portrait\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"generate_mood_board\",\"description\":\"Compose a mood board from what the Taste Engine already holds for a bound project — the binding's design_notes as chips, its captured references, and pattern-library thumbnails captured from those same reference sites — written as one self-contained HTML file (plus a best-effort PNG of the board) under the taste home's moodboards/ directory, or output_dir. Pass image_paths to embed the user's OWN images too — a generated brand pack, product shots, mood images — shown as a 'Your assets' section (they are the user's material, so no third-party credit rides on them). Use it right after the kickoff interview binds a surface ('get a mood board going'), or pass mode:'example' to show a labeled sample board to a user who has never made one, to get their thinking started BEFORE the interview. The board invents nothing: note text stays text (never fabricated color swatches), the ground (light/dark) is measured from the captured references' scheme traits, and every embedded pattern carries its credit. It is an APPROVAL STOP: the result and the board's footer name generate_design_system — the taste engine's core output — as the next step once the user says the direction is right; this tool never runs it. mode:'board' requires an existing surface binding and throws naming get_taste_interview when there is none.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"profile\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Taste profile name (see list_taste_profiles).\"},\"project\":{\"type\":\"string\",\"description\":\"Bound project name (see get_taste_interview / bind_taste_surface). Required for mode:'board'; ignored for mode:'example'.\"},\"mode\":{\"type\":\"string\",\"enum\":[\"board\",\"example\"],\"description\":\"'board' (default): compose the real board from the project's binding. 'example': write a clearly-labeled sample board that shows what a mood board is — use it to seed the user's thinking before calibration.\"},\"output_dir\":{\"type\":\"string\",\"description\":\"Directory for the board files. Defaults to <taste home>/moodboards.\"},\"image_paths\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1},\"description\":\"Local file paths to the user's OWN images — a generated brand pack, product shots, mood images — embedded into the board as a 'Your assets' section (png/jpeg/gif/webp, sniffed from the bytes; unusable paths are skipped with a named warning, never silently). Use absolute paths: a relative path resolves against the server process's cwd (usually not your project), and ~ is not expanded. mode:'board' only; ignored with a warning for mode:'example'.\"}},\"required\":[\"profile\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Generate Mood Board\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_taste_profiles\",\"description\":\"List locally stored taste profiles with rule/corpus counts and last-updated timestamps.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{}},\"annotations\":{\"title\":\"List Taste Profiles\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"label_finding\",\"description\":\"Append a labeled precedent to a taste profile's corpus — the growth loop. Use when a human accepts/revises/rejects an audit_taste finding or labels a new wrong→right example. Append-only: existing records are never rewritten. accept-verdict precedents suppress matching findings in future audit_taste runs.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"profile\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Profile name.\"},\"artifact\":{\"type\":\"string\",\"description\":\"What was judged (path, URL, or short description).\"},\"verdict\":{\"type\":\"string\",\"enum\":[\"accept\",\"revise\",\"reject\"],\"description\":\"accept = the flagged pattern is fine (suppresses future matches); revise/reject = confirmed wrong.\"},\"violated_rule\":{\"type\":\"string\",\"description\":\"The rule_id the label concerns ('' if none). Must exist in the profile.\"},\"severity\":{\"type\":\"string\",\"enum\":[\"block\",\"warn\",\"nit\"],\"description\":\"Severity the human assigns.\"},\"wrong\":{\"type\":\"string\",\"description\":\"The wrong pattern — use a verbatim snippet so accept-suppression can match it.\"},\"right\":{\"type\":\"string\",\"description\":\"What right looks like.\"}},\"required\":[\"profile\",\"artifact\",\"verdict\",\"violated_rule\",\"wrong\",\"right\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Label Finding\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":false,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit_taste\",\"description\":\"Judge a target against a taste profile. Pass html (static page/CSS), text (a copy block), or url (rendered headless; also runs delegated WCAG-contrast/tap-target measurements for owner:raven rules). Pass source_text to deterministically verify that the target's visible text remains verbatim through a content port. owner:taste rules run deterministic detectors — gradients, glow/neon (large-blur colored shadows), second accent hue, banned-word lists from the rule's negative prompt; clauses with no deterministic detector are reported honestly under not_assessed instead of guessed. owner:raven rules route through Raven's existing audit engines (page checks, contrast, tap targets) and fold results in under the delegating rule_id. Every finding cites an existing rule_id + concrete evidence — the engine prefers silence over a speculative nit. accept-verdict corpus precedents suppress previously-approved patterns. When the resolved binding carries design_notes, audit_taste VERIFIES each note against the artifact instead of only echoing it: url mode measures the rendered page's traits (scheme/luminance, canvas+WebGL, animations, scroll effects, text density, fonts, heading scale, loader, backdrop-filter), html mode extracts what it can statically, and every note comes back in note_assessments as present/partial/missing/unverifiable with trait-number evidence — design_notes are ACCEPTANCE CRITERIA for a build, not mood words. Missing notes become fidelity_findings (NOTE-<key>, warn — block when a named library like three.js/gsap/lottie/anime.js or a branded loader is wholly absent), the target is compared against the binding's captured references (REF-* deltas on scheme, density, motion, type scale), and sparse-and-empty pages are flagged (TASTE-restraint-earned: sparseness must be earned by craft density, not achieved by deletion). fidelity_findings count toward the verdict. When a note names an expensive technique (three.js/WebGL, GSAP scroll choreography, anime.js staggered motion, glassmorphism, a branded loader, lottie, kinetic display type…), the result carries build_hints — a concrete recipe + canonical public example sources for that technique, so a failing audit hands the fix ammunition next to the missing finding; an expensive note is never license to drop it. Rules may carry a scope (e.g. portfolio-monochrome); pass surface to say what you're judging — scoped rules run at full severity on a matching surface, are skipped (reported under skipped_out_of_scope) on a non-matching one, and can warn but never block when surface is omitted. Better: pass project (or audit a bound url host) so a saved surface binding supplies the surface, per-rule overrides, and voice note automatically — on a NEW project with no binding, run get_taste_interview first (results carry a calibration_hint when calibration is missing). Verdict: BLOCK (any block finding) / WARN (any warn) / PASS.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"profile\":{\"type\":\"string\",\"minLength\":1,\"description\":\"Taste profile name (see list_taste_profiles).\"},\"html\":{\"type\":\"string\",\"description\":\"Full HTML/CSS of the page to judge.\"},\"text\":{\"type\":\"string\",\"description\":\"A copy/text block to judge (voice/banned-word rules).\"},\"source_text\":{\"type\":\"string\",\"description\":\"Original source copy for a deterministic word-token fidelity diff against the target's visible text.\"},\"url\":{\"type\":\"string\",\"description\":\"Live URL — rendered headless with scroll-settle; enables delegated contrast/tap-target measurement.\"},\"surface\":{\"type\":\"string\",\"description\":\"What surface is being judged (e.g. 'portfolio', 'product-site', 'deck') — activates/skips scope-tagged rules by token match. Omit if unsure: scoped rules then warn instead of block.\"},\"project\":{\"type\":\"string\",\"description\":\"Project identifier — resolves a saved surface binding (see get_taste_interview / bind_taste_surface) that supplies the surface and per-rule overrides automatically. url-mode audits also resolve bindings by hostname.\"},\"document_kind\":{\"type\":\"string\",\"enum\":[\"artifact\",\"portrait\"],\"description\":\"'artifact' (default): the target is a build OF the surface — design_notes bind it as acceptance criteria (note_assessments/fidelity_findings run). 'portrait': the target is a document ABOUT the surface (e.g. generate_taste_portrait output) — note-fidelity is skipped and the result announces it in note_fidelity_skipped. Profile rules run in full either way.\"}},\"required\":[\"profile\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit Taste\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"talon_scan\",\"description\":\"Run Raven's deterministic detector engine over a page — no LLM, pure measurement. Covers color-system discipline (palette budget, near-duplicate hex, hue diversity), spacing-grid conformance (base-unit, scale count), type-scale/rhythm (size count, body line-height, measure, font-family budget), heading/landmark structure, motion-duration/easing sanity (flashing-animation risk, prefers-reduced-motion coverage), and orphan-stretch/horizontal-overflow geometry. Pass html, url (rendered headless), or pre-measured elements+viewport (the same DevTools-snippet shape audit_layout takes — required for the two geometry rules). Every finding cites the src/data/principles/*.json entry it derives from. Pass project (and profile) to resolve a saved taste surface binding (see bind_taste_surface) — a finding the binding silences via an 'off' override is still returned, flagged waived_by_taste:true, never dropped.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"html\":{\"type\":\"string\",\"description\":\"Full HTML/CSS of the page to scan.\"},\"url\":{\"type\":\"string\",\"description\":\"Live URL — rendered headless with scroll-settle.\"},\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"selector\":{\"type\":\"string\"},\"rect\":{\"type\":\"object\",\"properties\":{\"x\":{\"type\":\"number\"},\"y\":{\"type\":\"number\"},\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"x\",\"y\",\"w\",\"h\"],\"additionalProperties\":false},\"computed\":{\"type\":\"object\",\"properties\":{\"padding\":{\"type\":\"string\"},\"margin\":{\"type\":\"string\"},\"gap\":{\"type\":\"string\"},\"fontSize\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"background\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"required\":[\"selector\",\"rect\"],\"additionalProperties\":false},\"description\":\"Pre-measured element rects (DevTools-snippet shape from audit_layout) — enables the geometry rules (orphan-stretch, horizontal-overflow).\"},\"viewport\":{\"type\":\"object\",\"properties\":{\"w\":{\"type\":\"number\"},\"h\":{\"type\":\"number\"}},\"required\":[\"w\",\"h\"],\"additionalProperties\":false,\"description\":\"Viewport used for the horizontal-overflow geometry check.\"},\"surface\":{\"type\":\"string\",\"description\":\"What surface is being scanned — activates/skips scope-tagged rules by token match. Omit if unsure.\"},\"project\":{\"type\":\"string\",\"description\":\"Project identifier — resolves a saved surface binding (see bind_taste_surface) whose overrides can waive specific TAL-### rules. Requires profile.\"},\"profile\":{\"type\":\"string\",\"description\":\"Taste profile name to resolve project's binding against (see list_taste_profiles). Only used when project or url is also given.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Talon Scan\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"talon_rules\",\"description\":\"Enumerate Raven's Talon detector rule corpus — id, category, severity, taste scope, and the src/data/principles/*.json entry each rule cites. No scan required; use this to show a client 'why' before or instead of running talon_scan.\",\"inputSchema\":{\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{}},\"annotations\":{\"title\":\"Talon Rules\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"design_gauntlet\",\"description\":\"Answers 'why does my page look less polished than theirs?' with numbers instead of adjectives. Give it your page and a page you admire (vercel.com, linear.app, anything); both are rendered headless and their LIVE computed CSS is measured — never recalled from memory — across the nine things that decide perceived polish: surfaces, hairlines, text roles, letter spacing, accent, type scale, radii, elevation, rhythm (the first four dominate). You get back both sets of raw measurements, a per-dimension diff flagging where yours is worse, a concrete bar derived from the reference's own values (e.g. 'at most 4 surface colors — yours has 11'), a fix list split into mechanical find-and-replace vs decisions a human has to make, and one boolean, verdict.on_par. That boolean is the exit gate of the loop the response spells out: build, critique with fresh-context critics against renders, re-run this tool, and only call the work done when on_par is true. The reference is a standard, not a source — never copy its copy, marks, imagery or brand color.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"subject_url\":{\"type\":\"string\",\"description\":\"The page being improved — rendered headless and measured live.\"},\"reference_url\":{\"type\":\"string\",\"description\":\"The benchmark page (e.g. https://linear.app) — measured the same way; its values derive the bar.\"},\"viewport\":{\"type\":\"object\",\"properties\":{\"width\":{\"type\":\"number\"},\"height\":{\"type\":\"number\"}},\"required\":[\"width\",\"height\"],\"additionalProperties\":false,\"description\":\"Viewport for both measurements. Default 1440x900.\"},\"color_scheme\":{\"type\":\"string\",\"enum\":[\"light\",\"dark\"],\"description\":\"prefers-color-scheme emulated for BOTH pages (sites that theme by system preference measure differently per scheme). Default light; it is reported on each measurement.\"},\"device_scale_factor\":{\"type\":\"number\",\"exclusiveMinimum\":0,\"maximum\":4,\"description\":\"Device pixel ratio for BOTH measurements — one value, so the hairline diff is never scale-mismatched. Default 1. Pass 2 to measure a page the way a retina display resolves it — it selects the retina branch of image-set()/srcset and min-resolution media queries, which can change the surfaces and type a page actually renders. It does NOT fix hairlines: border-width is rounded up to 1px by the engine at every scale (border-radius is not), so sub-pixel strokes stay unmeasurable and the borders dimension warns when a 1px entry is ambiguous. Range (0, 4].\"}},\"required\":[\"subject_url\",\"reference_url\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Design Gauntlet\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"configure_design_system_source\",\"description\":\"Save which local DESIGN.md file Raven should use for design-system inventory and comparison.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"project_dir\":{\"type\":\"string\",\"description\":\"Project directory where .raven configuration is stored\"},\"source_kind\":{\"type\":\"string\",\"const\":\"design-file\",\"description\":\"MVP source kind; only design-file is supported\"},\"design_file_path\":{\"type\":\"string\",\"description\":\"DESIGN.md path relative to the project directory; defaults to DESIGN.md\"},\"platform\":{\"type\":\"string\",\"enum\":[\"web-pointer\",\"web-touch\",\"ios\",\"android\"],\"description\":\"Target platform: web-pointer, web-touch, ios, or android\"},\"aliases\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\"},\"description\":\"Project component id to Raven canonical component id aliases\"}},\"required\":[\"project_dir\",\"source_kind\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Configure Design System Source\",\"readOnlyHint\":false,\"destructiveHint\":true,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"inventory_design_system\",\"description\":\"Read component declarations and tokens from a local DESIGN.md file.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"project_dir\":{\"type\":\"string\",\"description\":\"Project directory with a configured design-system source\"},\"design_file_path\":{\"type\":\"string\",\"description\":\"Direct path to DESIGN.md; overrides project configuration\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Inventory Design System\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"diff_design_system\",\"description\":\"Diff a project's declared design system (DESIGN.md) against the Raven canonical baseline: reports missing components, missing interaction/accessibility states, missing variants, and raw-literal token drift, as a scored report with fix priorities.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"project_dir\":{\"type\":\"string\",\"description\":\"Project directory with a configured design-system source\"},\"design_file_path\":{\"type\":\"string\",\"description\":\"Direct path to DESIGN.md; overrides project configuration\"},\"baseline\":{\"type\":\"string\",\"const\":\"raven-canonical\",\"description\":\"Baseline id; defaults to raven-canonical\"},\"platform\":{\"type\":\"string\",\"enum\":[\"web-pointer\",\"web-touch\",\"ios\",\"android\"],\"description\":\"Target platform; overrides project configuration\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Diff Design System\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"list_design_system_components\",\"description\":\"List the components and provenance in the Raven canonical baseline.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"baseline\":{\"type\":\"string\",\"const\":\"raven-canonical\",\"description\":\"Baseline id; defaults to raven-canonical\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"List Design System Components\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":false},\"execution\":{\"taskSupport\":\"forbidden\"}},{\"name\":\"audit\",\"description\":\"Run **all applicable** Raven audits for a target. Detects the surface (web page / iOS screen / React Native / code diff / video) and fans out to the right checks — contrast, tap targets, typography, layout, responsive, and taste for web; the iOS or RN set for native; parity/contract for diffs. **Use this instead of choosing individual audit_* tools.** Pass `project` to judge against bound taste.\",\"inputSchema\":{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"Web page or video URL.\"},\"html\":{\"type\":\"string\",\"description\":\"Static web HTML.\"},\"nodes\":{\"description\":\"Pre-collected snapshot data for the applicable audits.\"},\"source\":{\"type\":\"string\",\"description\":\"iOS/SwiftUI or React Native source.\"},\"screenshot\":{\"type\":\"string\",\"description\":\"Screenshot input for native/device audits.\"},\"diff\":{\"type\":\"string\",\"description\":\"Unified diff or patch.\"},\"surface\":{\"type\":\"string\",\"enum\":[\"web\",\"ios\",\"react-native\",\"diff\",\"video\"],\"description\":\"Surface override; otherwise detected from the supplied target.\"},\"intent\":{\"type\":\"string\",\"description\":\"Optional focus such as accessibility, contrast, content, copy, or pre-ship.\"},\"project\":{\"type\":\"string\",\"description\":\"Project identifier for taste binding and project-aware audits.\"},\"profile\":{\"type\":\"string\",\"description\":\"Taste profile id for audit_taste.\"}},\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"annotations\":{\"title\":\"Audit\",\"readOnlyHint\":true,\"destructiveHint\":false,\"idempotentHint\":true,\"openWorldHint\":true},\"execution\":{\"taskSupport\":\"forbidden\"}}]},\"jsonrpc\":\"2.0\",\"id\":2}\n",
    "sinkhole_log": "Scope: runtime isolation evidence in runtime/inspect.json.",
    "canary_log": "Outside this listing scope.",
    "scanner_output": "Outside this listing scope.",
    "normalized_text": "{\"calls\": [], \"exit_before_cleanup\": null, \"initialize\": {\"capabilities\": {\"prompts\": {\"listChanged\": true}, \"tools\": {\"listChanged\": true}}, \"instructions\": \"Raven is a design-intelligence server: audits (page/layout/screen/contrast/tap-targets/typography/consistency), design systems and tokens, brand/content/service-design knowledge, creative scoring, and a Taste Engine that makes a person's design judgment portable and growable.\\n\\nPROJECT KICKOFF — calibrate taste BEFORE the first design work. Taste is per-surface: the same person wants different rules on a monochrome portfolio than on a product site, and a different voice on each. At the START of a new project (or the first design/copy/UI work in any project), if a taste profile exists (list_taste_profiles), call get_taste_interview with the profile and a project name (mode defaults to 'kickoff', depth defaults to 'first_run'). If it returns existing_binding: null, ask the user just its 5 core `questions` conversationally — identity, genesis (kickoff is when a project comes into existence: what already exists — a brand, a design system, brand assets — and what should be generated), aesthetic (how it should read here — multiple-choice options given), voice (three register examples so the user can pick by ear), and matchers (which URL hosts identify the project) — then persist with bind_taste_surface and proceed; when genesis says the user has no design system, the generation route is generate_mood_board (an approval stop — pass their own images via image_paths), then generate_design_system with save:true, then init_design_md, and an existing system is consumed via configure_design_system_source or base_system instead; offer the returned `more_questions` (typography/spacing/color/layout/motion/imagery/entrance/loading/navigation/libraries, references, per-rule overrides, the open-ended special question) as OPTIONAL deeper calibration rather than asking them all upfront, or re-run with depth:'full' if the user wants the complete interview at once. Dimension answers go in design_notes and are echoed in every audit. A cold-start project with no profile at all can start from create_taste_profile({ name, template: 'portfolio'|'saas-marketing'|'app' }) for a small sensible starter ruleset before the first interview even runs. The interview is a blocking gate: collect the user's answers before committing any design direction, palette, type choice, or name — never answer its questions yourself or start design work while it is pending. Every question carries skippable + priority (core|extended); skipping is fine but leaves that item uncalibrated. A 'references' question takes example links/screenshots and interviews what specifically the person likes about each. The interview ends with an open-ended 'special' question (textures, signature details, motifs — stored as design_notes.special) that suggests the person's choices from their other bound surfaces once it has them. From then on pass project:'<name>' on every audit_taste — bindings also auto-match by URL hostname in url mode. When the surface is a website to be built, suggest building it as a Next.js app by default; if the user prefers another stack, record it in design_notes.libraries. Do NOT wait for an audit to return a calibration_hint; that is the reactive backstop, not the intended flow.\\n\\nWhen a user dislikes generated/designed output on an ALREADY-calibrated project, that dissatisfaction is a calibration signal, not a dead end — re-run get_taste_interview with mode:'refine' (it re-interviews against the stored binding: what fell short, then each stored design_notes value to keep/tighten/replace, then voice, then an optional reject precedent) and re-bind with bind_taste_surface.\\n\\nLEARNING LOOP — whenever the user makes, approves, or corrects a taste, direction, or design decision during work (not just at interview time), record it with record_taste_decision: the project, a short dimension name, what was chosen, what was rejected, why, and whether it was user-directed, user-approved, or user-corrected (a user overriding a generated choice is the highest-signal record). Recorded decisions evolve future kickoff interviews — recurring choices return as suggested defaults on their dimension's question, and decision categories no standard question covers become NEW interview questions. Record liberally; every committed decision is calibration data.\\n\\nJudging work: prefer audit_taste (with the profile + project) for matters of the owner's taste, and the mechanical audits (audit_page, audit_contrast, audit_tap_targets, audit_layout) for objective quality. design_notes are ACCEPTANCE CRITERIA for any build, not mood words: audit_taste verifies each note against the rendered page (note_assessments: present/partial/missing/unverifiable, each with trait-number evidence), compares the target against the binding's captured references, and flags sparse-and-empty pages whose restraint is deletion rather than craft — a build is not done until every note is visibly present or the user is told exactly which notes were dropped and why. When a note names an expensive technique (three.js/WebGL, GSAP scroll choreography, anime.js staggered motion, glassmorphism, a branded loader, lottie, kinetic display type…), bind_taste_surface and audit_taste return build_hints — a concrete recipe + canonical public example sources (threejs.org, gsap.com, animejs.com, Codrops…). The public corpus for these is vast, so an expensive note is NEVER license to drop it: consult the attached build_hints and their sources, and if a technique is genuinely infeasible, tell the user before shipping without it. Prefer url mode for verification: live traits (WebGL, animations, scroll effects) cannot be measured from static html. When a human accepts or rejects a finding, record it with label_finding — accept-verdicts suppress that exact pattern in future audits, which is how the profile learns.\\n\\nGRAB — click-to-change is ON BY DEFAULT for local servers. Any time you start, restart, or serve a local web page/dev server for the user (a demo, a preview, a dev build, a static file server), automatically start a grab session first (start_grab_session with the project's DESIGN.md if one exists) and make the overlay present WITHOUT the user asking or pasting anything: for a server you are starting anyway, pass proxy_target and give the user the BRIDGE url instead of the raw server url — the overlay is injected into every HTML response; for HTML files you are writing yourself, include the returned script_tag directly. Never hand the user a script tag or console snippet to paste. Mention in one line that the grab overlay is active (Alt+G or the on-page pill). The user clicks elements, swaps DESIGN.md tokens with live preview, edits computed styles inline, and sends instructions; drain them with get_grabbed_elements — while a grab session is active, drain whenever control returns to you (and before ending any turn). Sends arrive and are held. On a plain drain, acknowledge each change in one line and wait; do not implement or offer to implement until a batchCommit marker arrives. When batchCommit arrives, implement batch.pending from that same drain payload in one sweep. Apply approved token changes with update_design_md. Stop the session (stop_grab_session) when the server comes down. Skip only when the user explicitly asks for a clean page or the server is production.\", \"protocolVersion\": \"2025-11-25\", \"serverInfo\": {\"name\": \"raven-mcp\", \"version\": \"2.6.0\"}}, \"list_change_notifications\": 0, \"monotonic_seconds\": 0.40878452499600826, \"outcome\": \"listed tools offline\", \"started_utc\": \"2026-10-16T09:19:27.824614Z\", \"status\": \"completed\", \"tools\": [{\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Principles\"}, \"description\": \"Get design principles relevant to a UI context. Returns usability heuristics, laws of UX, Gestalt principles, accessibility requirements, typography rules, and color theory — matched to what you're designing.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"category\": {\"description\": \"Filter to category: accessibility, brand, color-systems, color-theory, component-architecture, d4d, gestalt, laws-of-ux, mobile-ux, nielsen-heuristics, research, responsive-layout, service-design, spacing-systems, typography, ux-writing\", \"type\": \"string\"}, \"context\": {\"description\": \"What you're designing (e.g. 'signup form', 'pricing page', 'mobile nav', 'dark dashboard')\", \"type\": \"string\"}, \"format\": {\"description\": \"Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full\", \"enum\": [\"full\", \"checklist\", \"brief\"], \"type\": \"string\"}, \"platform\": {\"description\": \"Platform context. 'ios' returns Apple HIG principles (Dynamic Type, 44pt targets, SF Symbols, safe areas, dark-mode, haptics, App Review privacy); 'react-native' returns RN principles (44/48pt+hitSlop, accessibilityLabel/Role, font scaling, SafeAreaView, dark mode, iOS+Android parity, secrets). Both replace the web/CSS-oriented set. Default: web.\", \"enum\": [\"web\", \"ios\", \"react-native\"], \"type\": \"string\"}}, \"required\": [\"context\"], \"type\": \"object\"}, \"name\": \"get_principles\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Pattern\"}, \"description\": \"Get proven UI/UX patterns for a specific design type. Returns do's, don'ts, evidence, and checklists for signup flows, pricing pages, navigation, forms, landing pages, dashboards, modals, empty states, error states, loading states, CTAs, social proof, and mobile conversion.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"goal\": {\"description\": \"Filter by primary goal\", \"enum\": [\"conversion\", \"usability\", \"accessibility\", \"delight\"], \"type\": \"string\"}, \"platform\": {\"description\": \"Filter patterns by platform context\", \"enum\": [\"desktop\", \"mobile\", \"responsive\"], \"type\": \"string\"}, \"type\": {\"description\": \"Pattern type (e.g. 'signup-flow', 'pricing-page', 'navigation', 'forms', 'landing-page', 'dashboard', 'modals-dialogs', 'empty-states', 'error-states', 'loading-states', 'cta', 'social-proof', 'mobile-conversion')\", \"type\": \"string\"}}, \"required\": [\"type\"], \"type\": \"object\"}, \"name\": \"get_pattern\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Business Strategy\"}, \"description\": \"Get business and monetization strategies for digital products. Covers monetization models, retention strategies, onboarding optimization, growth mechanics, and product metrics frameworks.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"stage\": {\"description\": \"Company stage for contextual filtering\", \"enum\": [\"startup\", \"growth\", \"mature\"], \"type\": \"string\"}, \"type\": {\"description\": \"Strategy type: monetization, retention, onboarding, growth, metrics\", \"type\": \"string\"}}, \"required\": [\"type\"], \"type\": \"object\"}, \"name\": \"get_business_strategy\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Evaluate Design\"}, \"description\": \"Evaluate a design description against UX principles. Returns relevant principles, potential violations, and improvement suggestions.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"after_screenshot\": {\"description\": \"Base64 PNG of the AFTER state. When both before+after are provided, returns a structured pixel diff with fix_confirmed.\", \"type\": \"string\"}, \"before_screenshot\": {\"description\": \"Base64 PNG of the BEFORE state\", \"type\": \"string\"}, \"compact\": {\"description\": \"Return only ids+names for matched principles/patterns (drop their full bodies) plus counts and any before/after diff. Default false. Use when the full principle library payload would blow the tool-result budget.\", \"type\": \"boolean\"}, \"context\": {\"description\": \"What the design is (e.g. 'pricing page for SaaS product')\", \"type\": \"string\"}, \"description\": {\"description\": \"Description of the design to evaluate\", \"type\": \"string\"}, \"goals\": {\"description\": \"What to evaluate for (e.g. ['conversion', 'accessibility', 'mobile-usability'])\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}}, \"type\": \"object\"}, \"name\": \"evaluate_design\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Search Knowledge\"}, \"description\": \"Search across all design principles, UI patterns, and business strategies. Use when you need to find specific guidance or don't know which category to look in.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"layer\": {\"description\": \"Which layer to search: principles, patterns, business, or all (default)\", \"enum\": [\"principles\", \"patterns\", \"business\", \"all\"], \"type\": \"string\"}, \"query\": {\"description\": \"Search term (e.g. 'touch targets', 'pricing psychology', 'color contrast')\", \"type\": \"string\"}}, \"required\": [\"query\"], \"type\": \"object\"}, \"name\": \"search_knowledge\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Checklist\"}, \"description\": \"Get a pre-publish checklist for a specific UI type. Returns actionable yes/no items to verify before shipping.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"platform\": {\"description\": \"Platform context for platform-specific checks. 'ios' = native SwiftUI/iOS (Apple HIG); 'react-native' = RN/Expo (iOS HIG + Android Material: 44/48pt+hitSlop, accessibilityLabel/Role, font scaling, SafeAreaView, dark mode, platform parity, secrets). Both replace the web/mobile-web checks.\", \"enum\": [\"desktop\", \"mobile\", \"responsive\", \"ios\", \"react-native\"], \"type\": \"string\"}, \"type\": {\"description\": \"What you're shipping (e.g. 'signup form', 'pricing page', 'dashboard', 'landing page', 'modal')\", \"type\": \"string\"}}, \"required\": [\"type\"], \"type\": \"object\"}, \"name\": \"get_checklist\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get D4D Framework\"}, \"description\": \"Get the Design for Delight (D4D) framework templates. Returns customer problem statement, ideal state, hypothesis, LOFA, and experiment templates for structured product thinking.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"stage\": {\"description\": \"Which stage of the D4D loop to return. Default: full (all stages)\", \"enum\": [\"frame\", \"empathy\", \"broad\", \"narrow\", \"experiment\", \"recommendation\", \"full\"], \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"get_d4d_framework\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Design Systems\"}, \"description\": \"Browse available design systems for tokens. Filter by category (component-library, consumer, developer, fintech, framework, platform, productivity) or search by name.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"category\": {\"description\": \"Filter by category: component-library, consumer, developer, fintech, framework, platform, productivity. Saved user systems list under 'user'.\", \"type\": \"string\"}, \"search\": {\"description\": \"Search by name or description\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"list_design_systems\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Design System\"}, \"description\": \"Get design tokens for a specific design system. Returns colors, typography, spacing, radii, elevation, and motion tokens in W3C DTCG, CSS custom properties, or flat format.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"format\": {\"description\": \"Output format: dtcg (W3C standard), css (custom properties), flat (key-value). Default: dtcg\", \"enum\": [\"dtcg\", \"css\", \"flat\"], \"type\": \"string\"}, \"group\": {\"description\": \"Filter to a token group: color, color-dark, color-light, typography, spacing, radius, elevation, motion\", \"type\": \"string\"}, \"id\": {\"description\": \"Design system ID (e.g. 'stripe', 'linear')\", \"type\": \"string\"}}, \"required\": [\"id\"], \"type\": \"object\"}, \"name\": \"get_design_system\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Read DESIGN.md\"}, \"description\": \"Parse a DESIGN.md file and return its frontmatter, Markdown body, and flattened token index.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"path\": {\"description\": \"Path to DESIGN.md\", \"type\": \"string\"}}, \"required\": [\"path\"], \"type\": \"object\"}, \"name\": \"read_design_md\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Review Diff\"}, \"description\": \"Review added UI-code lines in a unified diff against the project's own DESIGN.md tokens and active recorded design decisions. Returns a structured CI verdict with file/line findings and nearest-token suggestions. Agents should call this on every PR or diff that touches UI code before merge.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"design_md\": {\"description\": \"Inline DESIGN.md content. Overrides project file lookup when supplied.\", \"type\": \"string\"}, \"diff\": {\"description\": \"Unified diff to review (maximum 400KB).\", \"maxLength\": 409600, \"type\": \"string\"}, \"fail_on\": {\"description\": \"Rule names to escalate to a failing CI verdict. Valid values: important, bare-hex-color, hardcoded-font-size, hardcoded-font-family, hardcoded-spacing. Diff-scoped: only newly added lines can fail. Default: advisory-only (verdict caps at warn).\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"fail_on_governed\": {\"description\": \"When true, findings a recorded decision governs become fail-eligible (severity error → verdict fail). Governance is a lexical scope+category association, NOT a verified contradiction of the decision — opt in as a team strict-mode signal, not a turnkey safe blocker. Combines with fail_on. Default: advisory-only.\", \"type\": \"boolean\"}, \"project\": {\"description\": \"Project directory used to resolve DESIGN.md and match decision scopes. Omit when design_md is supplied and no project hint is needed.\", \"type\": \"string\"}}, \"required\": [\"diff\"], \"type\": \"object\"}, \"name\": \"review_diff\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Polish Diff\"}, \"description\": \"Review added UI-code lines and propose deterministic DESIGN.md token substitutions without writing files. The returned unified patch applies on top of the reviewed diff's post-image; applying it is an explicit, separate step by the caller. Re-verifies the hypothetical polished lines and leaves judgment-heavy findings in manual.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"design_md\": {\"description\": \"Inline DESIGN.md content. Overrides project file lookup when supplied.\", \"type\": \"string\"}, \"diff\": {\"description\": \"Unified diff to review and polish (maximum 400KB).\", \"maxLength\": 409600, \"type\": \"string\"}, \"project\": {\"description\": \"Project directory used to resolve DESIGN.md and match decision scopes. Omit when design_md is supplied and no project hint is needed.\", \"type\": \"string\"}}, \"required\": [\"diff\"], \"type\": \"object\"}, \"name\": \"polish_diff\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Init DESIGN.md\"}, \"description\": \"Initialize a DESIGN.md file from a stored Raven token system, a getdesign.md starter slug, or a blank template.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"from\": {\"description\": \"Source selector: blank, stored system, or starter slug\"}, \"path\": {\"description\": \"Path to DESIGN.md to create\", \"type\": \"string\"}}, \"required\": [\"path\"], \"type\": \"object\"}, \"name\": \"init_design_md\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Update DESIGN.md\"}, \"description\": \"Update one DESIGN.md token surgically while preserving the Markdown body.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"path\": {\"description\": \"Path to DESIGN.md\", \"type\": \"string\"}, \"remove\": {\"additionalProperties\": false, \"properties\": {\"group\": {\"description\": \"Top-level group name\", \"type\": \"string\"}, \"name\": {\"description\": \"Token name or dotted nested path\", \"type\": \"string\"}, \"path\": {\"description\": \"Alias for name\", \"type\": \"string\"}}, \"required\": [\"group\"], \"type\": \"object\"}, \"rename\": {\"additionalProperties\": false, \"properties\": {\"from\": {\"description\": \"Old token name or dotted nested path\", \"type\": \"string\"}, \"group\": {\"description\": \"Top-level group name\", \"type\": \"string\"}, \"name\": {\"description\": \"Alias for from\", \"type\": \"string\"}, \"new_name\": {\"description\": \"Alias for to\", \"type\": \"string\"}, \"to\": {\"description\": \"New token name or dotted nested path\", \"type\": \"string\"}}, \"required\": [\"group\"], \"type\": \"object\"}, \"set\": {\"additionalProperties\": false, \"properties\": {\"group\": {\"description\": \"Top-level group name\", \"type\": \"string\"}, \"name\": {\"description\": \"Token name or dotted nested path\", \"type\": \"string\"}, \"value\": {\"description\": \"New scalar or {group.name} reference\"}}, \"required\": [\"group\", \"name\"], \"type\": \"object\"}}, \"required\": [\"path\"], \"type\": \"object\"}, \"name\": \"update_design_md\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Start Grab Session\"}, \"description\": \"Start a capability-keyed Raven grab bridge on loopback. Proxy mode is the preferred zero-paste path: it serves a running local app with the overlay injected into HTML; the manual script tag remains available when needed.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"path\": {\"description\": \"Path to DESIGN.md to expose over /tokens. Optional when proxy_target is set — a minimal temp DESIGN.md is created automatically. Required (and must exist) when proxy_target is omitted.\", \"type\": \"string\"}, \"port\": {\"description\": \"Optional port; defaults to an ephemeral loopback port\", \"exclusiveMinimum\": 0, \"type\": \"integer\"}, \"proxy_target\": {\"description\": \"URL of a running local dev server; the bridge will serve that app with the grab overlay auto-injected into every HTML page — user opens the bridge URL, zero setup\", \"type\": \"string\"}, \"role\": {\"default\": \"consumer\", \"description\": \"Overlay role; consumer preserves the component-request flow, maintainer enables direct design-system component creation\", \"enum\": [\"consumer\", \"maintainer\"], \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"start_grab_session\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Get Grabbed Elements\"}, \"description\": \"Read newly sent grab selections without deleting their durable change records, optionally waiting up to timeout_ms. A batchCommit marker is the deterministic signal to implement the unified pending batch.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"timeout_ms\": {\"description\": \"Optional wait timeout in milliseconds\", \"exclusiveMinimum\": 0, \"type\": \"integer\"}}, \"type\": \"object\"}, \"name\": \"get_grabbed_elements\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Capture Reference\"}, \"description\": \"Persist a pattern grabbed from any page so it survives the browser tab. Call it after get_grabbed_elements returns a selection, passing that selection's selector/styles/html/rect/stateStyles plus the URL it was grabbed from. Stores one JSON record under ~/.raven/references; html over 8000 chars is truncated and flagged, style maps over 200 properties are rejected, and non-http(s) URLs are rejected. Every save gets a fresh ref_id, so grabbing the same element twice keeps both. When html is supplied it also renders a PNG thumbnail beside the record by rebuilding that markup offline in headless Chromium — every external request is blocked, so remote images and webfonts are absent and the record says so (image.fidelity 'offline'). The thumbnail is best-effort: if no browser is available the capture still succeeds, with no image field. It does not fetch the source URL, and does not map anything onto the project's tokens — that is map_reference_to_tokens.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"app\": {\"description\": \"Human name of the source app, e.g. 'Linear'\", \"type\": \"string\"}, \"html\": {\"description\": \"outerHTML of the grabbed element; truncated to 8000 chars on save\", \"type\": \"string\"}, \"note\": {\"description\": \"The designer's own words about why this pattern was kept; the highest-weighted field in search\", \"type\": \"string\"}, \"owner\": {\"description\": \"Whether the pattern came from the user's own product or someone else's site\", \"enum\": [\"self\", \"third-party\"], \"type\": \"string\"}, \"rect\": {\"additionalProperties\": false, \"description\": \"Bounding rect of the grabbed element in page coordinates\", \"properties\": {\"height\": {\"type\": \"number\"}, \"width\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\", \"width\", \"height\"], \"type\": \"object\"}, \"selector\": {\"description\": \"CSS selector of the grabbed element, from the grab selection\", \"type\": \"string\"}, \"stateStyles\": {\"$ref\": \"#/properties/state_styles\", \"description\": \"Alias of state_styles, matching the field name get_grabbed_elements returns\"}, \"state_styles\": {\"additionalProperties\": {\"anyOf\": [{\"additionalProperties\": {\"type\": \"string\"}, \"type\": \"object\"}, {\"additionalProperties\": true, \"properties\": {\"declarations\": {\"items\": {\"additionalProperties\": true, \"properties\": {\"property\": {\"type\": \"string\"}, \"value\": {\"type\": \"string\"}}, \"required\": [\"property\", \"value\"], \"type\": \"object\"}, \"type\": \"array\"}}, \"required\": [\"declarations\"], \"type\": \"object\"}]}, \"description\": \"Per-state styles, either { hover: { color: 'red' } } or the grab selection's own { hover: { declarations: [{ property, value }] } }\", \"type\": \"object\"}, \"styles\": {\"additionalProperties\": {\"type\": \"string\"}, \"description\": \"Computed styles exactly as captured; rejected over 200 properties\", \"type\": \"object\"}, \"tags\": {\"description\": \"Topic tags for later filtering, e.g. ['hero','typography']\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"taxonomy\": {\"description\": \"Stable pattern-kind ids binding this element to Raven's controlled vocabulary — this is what makes it findable by INTENT ('a scrolling mouse icon in a hero') rather than by the words that happen to be in the note. Bind every applicable kind; an unrecognized id is rejected with near matches. One of: scroll-cue, hero, sticky-nav, top-nav, sidebar-nav, breadcrumbs, command-palette, dropdown-menu, mobile-menu, cta-button, sticky-cta, pricing-card, pricing-toggle, comparison-table, testimonial, testimonial-marquee, logo-cloud, star-rating, signup-form, social-login, stepper, inline-validation, empty-state, no-results, error-message, error-page, skeleton-loader, progress-indicator, modal, confirmation-dialog, toast, bottom-sheet, kpi-card, activity-feed, feature-block, footer-cta\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"url\": {\"description\": \"Full http(s) URL of the page the pattern was grabbed from\", \"type\": \"string\"}}, \"required\": [\"url\", \"selector\", \"styles\", \"owner\", \"tags\"], \"type\": \"object\"}, \"name\": \"capture_reference\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Search References\"}, \"description\": \"Find patterns previously kept with capture_reference — call it before rebuilding something already grabbed, or to recall 'that hero from Linear'. host, owner, and tags filters compose with AND; the free-text query expands recognized pattern intent through Raven's controlled vocabulary, then matches case-insensitively against note, app, tags, bound taxonomy ids, and selector. Every result carries a score and a 'why' naming the matched fields and any alias that connected the query to the record. Ordering is deterministic. Returns stored JSON records. Every result carries a `display` object holding the credit line, the source URL, and `image_path` — the PNG on disk for records captured with html, so results can be shown as pictures rather than style maps (the tool returns the path, never the bytes). **Browsing does not hand back the other site's markup.** A result reports `html_available` and `html_truncated` but omits the html itself; pass include_html:true to receive it, which is a deliberate step because that markup is the site's own authored expression rather than a measurement of it. Everything needed to LOOK at a pattern and to translate it onto this project's tokens — the picture, the selector, the rect, the computed styles — is in the default result. **Show the credit whenever you show the pattern**: this corpus holds other people's design work, Raven does not own it, and a third-party result also carries a notice saying so. Use these as references to build your own implementation, not as work to republish. Corrupt records are named in skipped[] instead of failing the call. It does not rank against live code and does not fetch the source site.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"host\": {\"description\": \"Only references grabbed from this host, e.g. 'linear.app'\", \"type\": \"string\"}, \"include_html\": {\"description\": \"Return each record's captured markup verbatim. Off by default: browsing a corpus of other people's work should not hand back their markup as a side effect of looking at it. Ask for it when you are actually reading the structure.\", \"type\": \"boolean\"}, \"owner\": {\"description\": \"Only the user's own product, or only third-party sites\", \"enum\": [\"self\", \"third-party\"], \"type\": \"string\"}, \"query\": {\"description\": \"Free text expanded through the pattern taxonomy and matched against note, app, tags, bound taxonomy ids, and selector; omit to list everything passing the filters\", \"type\": \"string\"}, \"tags\": {\"description\": \"Only references carrying ALL of these tags\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}}, \"type\": \"object\"}, \"name\": \"search_references\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Forget References\"}, \"description\": \"Remove stored patterns from the local corpus — one by ref_id, or every pattern captured from a site. This is the takedown path: if a site asks that their design work not be kept, `forget_references({ host: 'their.site', confirm: true })` removes every record and every rendered thumbnail from that host in one call. Host matching is exact plus subdomains ('linear.app' takes 'app.linear.app', never 'notlinear.app'; an IP address matches only itself), and a host-wide removal requires confirm:true because it is not reversible — there is no trash. The refusal names the ref_ids it would remove: pass them back as expected_ref_ids to pin the removal to what you were shown, and anything that appeared since is reported in appeared_since_preview[] rather than deleted. Returns the ref_ids actually removed, so a partial result is visible rather than assumed; records whose JSON could not be parsed are reported in skipped[] and left on disk rather than counted as cleared, and records that could not be deleted are reported separately in failed[]. Local only: it deletes files under the reference home and contacts nobody.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"confirm\": {\"description\": \"Required when removing by host — the removal is permanent\", \"type\": \"boolean\"}, \"expected_ref_ids\": {\"description\": \"The ref_ids the confirmation prompt listed. Supplying them pins the removal to that set: anything matching the host that appeared since is reported, not deleted.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"host\": {\"description\": \"Remove every reference captured from this host and its subdomains, e.g. 'linear.app'\", \"type\": \"string\"}, \"ref_id\": {\"description\": \"Remove exactly this one reference. Supply this or host.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"forget_references\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Map Reference To Tokens\"}, \"description\": \"Translate a captured pattern's raw literals (font-size: 64px, color: rgb(247,248,248)) onto the project's own design tokens, so generated code uses the user's type ramp and palette instead of another site's values. Pure and deterministic — no model, no network. Colours compare by RGBA distance (exact at 0, near under 12; alpha counts), lengths normalize to px at root 16 (near under 2px), unitless numbers near within 1%, font families compare on the first family. A property with a known token family (font-size, line-height, gap, radius, …) only ever binds inside that family: if the closest token by value belongs to another ramp, the result is a gap naming it, not a binding. Winners are ordered by distance, then family fit, then shortest and lexicographic token path. Percent and viewport units, unparseable colour syntaxes, shadows, gradients, and other unmatchable classes become gaps with a stated reason — never a forced match. Broken token chains are reported in diagnostics whether or not anything else matched. A project with no tokens is not an error: every property returns as a gap at coverage 0. It does not invent tokens and does not write code.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"captured\": {\"additionalProperties\": {\"type\": \"string\"}, \"description\": \"Raw CSS property/value pairs to translate, if not using a stored ref_id\", \"type\": \"object\"}, \"design_file_path\": {\"description\": \"Path to the project's DESIGN.md; its flattened tokens are the target vocabulary. Supply this or tokens.\", \"type\": \"string\"}, \"properties\": {\"description\": \"Only map these CSS properties; omit to attempt every captured property\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"ref_id\": {\"description\": \"Captured reference to translate; its styles are the input. Supply this or captured.\", \"type\": \"string\"}, \"thresholds\": {\"additionalProperties\": false, \"description\": \"Override the near-match thresholds\", \"properties\": {\"color\": {\"description\": \"RGB distance for a near colour match, default 12\", \"type\": \"number\"}, \"length\": {\"description\": \"Pixels for a near length match, default 2\", \"type\": \"number\"}, \"rootPx\": {\"description\": \"Root font size used to normalize rem/em, default 16\", \"type\": \"number\"}, \"unitless\": {\"description\": \"Relative difference for a near unitless match, default 0.01\", \"type\": \"number\"}}, \"type\": \"object\"}, \"tokens\": {\"description\": \"Flattened design tokens directly, if not reading a DESIGN.md\", \"type\": \"array\"}}, \"type\": \"object\"}, \"name\": \"map_reference_to_tokens\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Stop Grab Session\"}, \"description\": \"Stop the current grab bridge and clear its queued selections.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"properties\": {}, \"type\": \"object\"}, \"name\": \"stop_grab_session\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Page Template\"}, \"description\": \"Read the page-scoped template slots from the active grab session's DESIGN.md and merge the overlay's latest selector validation. fixed/flexible roles and allowedTokens are cooperative advisory metadata: display labels only, not enforced.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"page\": {\"description\": \"Page pathname, matching location.pathname\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"page\"], \"type\": \"object\"}, \"name\": \"get_page_template\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Set Template Slot\"}, \"description\": \"Persist an array of page-scoped template slots in one batched DESIGN.md update. fixed/flexible roles and allowedTokens are cooperative advisory metadata: display labels only, not enforced.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"page\": {\"description\": \"Page pathname, matching location.pathname\", \"minLength\": 1, \"type\": \"string\"}, \"slots\": {\"description\": \"All template slots to persist in this batched call\", \"items\": {\"additionalProperties\": false, \"properties\": {\"role\": {\"enum\": [\"fixed\", \"flexible\"], \"type\": \"string\"}, \"selector\": {\"minLength\": 1, \"type\": \"string\"}, \"slotId\": {\"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"slotId\", \"selector\", \"role\"], \"type\": \"object\"}, \"type\": \"array\"}, \"template_id\": {\"default\": \"default\", \"description\": \"Template identifier; defaults to default\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"page\", \"slots\"], \"type\": \"object\"}, \"name\": \"set_template_slot\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Templates\"}, \"description\": \"List templates and their registered page pathnames from the active grab session. Template permissions and allowedTokens are cooperative advisory metadata: display labels only, not enforced.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"properties\": {}, \"type\": \"object\"}, \"name\": \"list_templates\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Grab Layers\"}, \"description\": \"Read the latest non-mutating layer-tree snapshot captured by the active local grab session. Any fixed/flexible permissions are cooperative advisory metadata: display labels only, not enforced.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"page\": {\"description\": \"Optional page pathname; omit to list all latest page snapshots\", \"minLength\": 1, \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"get_grab_layers\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Move Grab Layer\"}, \"description\": \"Queue a same-page layer reorder or reparent intent (previewed when measuredRects are supplied, otherwise proposed) without mutating the live page. Reparent moves a node to a different parent (toParentSelector); reorder keeps a single parentSelector. Permissions and fixed/flexible roles are cooperative advisory metadata: display labels only, not enforced; caller-supplied roles are rejected. Shadow-root and iframe boundaries are out of scope.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"approximate\": {\"type\": \"boolean\"}, \"baselineOrder\": {\"items\": {\"minLength\": 1, \"type\": \"string\"}, \"type\": \"array\"}, \"domSnapshotHash\": {\"minLength\": 1, \"type\": \"string\"}, \"fromIndex\": {\"minimum\": 0, \"type\": \"integer\"}, \"fromParentSelector\": {\"description\": \"Required for reparent — source parent\", \"minLength\": 1, \"type\": \"string\"}, \"fromSelector\": {\"minLength\": 1, \"type\": \"string\"}, \"measuredRects\": {\"items\": {\"additionalProperties\": false, \"properties\": {\"height\": {\"type\": \"number\"}, \"selector\": {\"minLength\": 1, \"type\": \"string\"}, \"width\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"selector\", \"x\", \"y\", \"width\", \"height\"], \"type\": \"object\"}, \"type\": \"array\"}, \"operation\": {\"enum\": [\"reorder\", \"reparent\"], \"type\": \"string\"}, \"orderedSelectors\": {\"items\": {\"minLength\": 1, \"type\": \"string\"}, \"type\": \"array\"}, \"page\": {\"minLength\": 1, \"type\": \"string\"}, \"parentSelector\": {\"description\": \"Required for reorder — single parent\", \"minLength\": 1, \"type\": \"string\"}, \"role\": {\"description\": \"Rejected: roles are never accepted from callers\", \"not\": {}}, \"selectionOrder\": {\"items\": {\"minimum\": 1, \"type\": \"integer\"}, \"type\": \"array\"}, \"toBaselineOrder\": {\"items\": {\"minLength\": 1, \"type\": \"string\"}, \"type\": \"array\"}, \"toDomSnapshotHash\": {\"minLength\": 1, \"type\": \"string\"}, \"toIndex\": {\"minimum\": 0, \"type\": \"integer\"}, \"toParentSelector\": {\"description\": \"Required for reparent — destination parent\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"operation\", \"page\", \"fromIndex\", \"toIndex\", \"orderedSelectors\", \"measuredRects\", \"approximate\", \"domSnapshotHash\"], \"type\": \"object\"}, \"name\": \"move_grab_layer\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Get Grab Operation\"}, \"description\": \"Read or update one durable grab change, list legacy reorder operations, or request the unified style+reorder batch. Applied/rejected/superseded changes leave the pending set.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"batch\": {\"description\": \"Return the unified current batch of reorder and style records; cannot be combined with operation_id or mark\", \"type\": \"boolean\"}, \"mark\": {\"description\": \"Mark a previewed reorder or sent style change\", \"enum\": [\"applied\", \"rejected\"], \"type\": \"string\"}, \"operation_id\": {\"description\": \"Operation ID; omit to list all operations\", \"minLength\": 1, \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"get_grab_operation\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Compose System\"}, \"description\": \"Mix tokens from different design systems to create a custom composite. Example: Linear's colors + Stripe's typography.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"compositions\": {\"description\": \"Array of system-group pairs to compose\", \"items\": {\"additionalProperties\": false, \"properties\": {\"group\": {\"description\": \"Token group to take (color, typography, spacing, radius, elevation, motion)\", \"type\": \"string\"}, \"system\": {\"description\": \"Source design system ID\", \"type\": \"string\"}}, \"required\": [\"system\", \"group\"], \"type\": \"object\"}, \"type\": \"array\"}, \"format\": {\"description\": \"Output format. Default: dtcg\", \"enum\": [\"dtcg\", \"css\"], \"type\": \"string\"}}, \"required\": [\"compositions\"], \"type\": \"object\"}, \"name\": \"compose_system\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": true, \"readOnlyHint\": false, \"title\": \"Audit Page\"}, \"description\": \"Audit HTML/CSS against Raven's design quality standards. Checks typography (min 13px, weight 400+, modular-scale heading ratios, line-height consistency), accessibility (WCAG touch targets, alt text, contrast), responsive patterns (flexbox over grid, clamp sizing, max-width containers), style guide compliance (CSS custom properties, no bare hex), and visual rhythm (4/8px spacing grid, tight spacing scale, palette size). Pass containerMaxWidth (your design system's canonical container token, in px) to make the max-width check token-aware — it then flags containers that diverge from your system (too narrow OR too wide) instead of a generic 1200px heuristic. Returns pass/fail per check with specific fix instructions.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"adversarial_verify\": {\"description\": \"After generating findings, independently re-check each against the live DOM/network and tag it confirmed / likely-artifact / inconclusive. Surfaces a debunked_count.\", \"type\": \"boolean\"}, \"compact\": {\"description\": \"Return only the decision-grade signal — score, grade, summary, errors, warnings, fix_priority — and drop the embedded base64 screenshot and the passes list (replaced by passes_count). Default false. Use when the full payload would blow the tool-result budget.\", \"type\": \"boolean\"}, \"containerMaxWidth\": {\"description\": \"Your design system's canonical content-container width in px (e.g. 1152). When set, the responsive/max-width check flags divergence from this token instead of using the generic 1200px heuristic.\", \"type\": \"number\"}, \"html\": {\"description\": \"The full HTML content of the page to audit\", \"type\": \"string\"}, \"interactions\": {\"description\": \"Before capturing, fire each interaction in order (hover/click/focus the selector, then wait delay_ms). Captures the resulting dynamic state — e.g. an on-hover theme-toggle wash invisible to a static screenshot.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"delay_ms\": {\"type\": \"number\"}, \"event\": {\"enum\": [\"hover\", \"click\", \"focus\"], \"type\": \"string\"}, \"selector\": {\"type\": \"string\"}}, \"required\": [\"selector\", \"event\", \"delay_ms\"], \"type\": \"object\"}, \"type\": \"array\"}, \"scroll_settle\": {\"description\": \"Before capturing, step through the page with short pauses so IntersectionObserver/whileInView reveals fire, then return to the top and settle. Also plays preload=none videos. Prevents blank-section false positives.\", \"type\": \"boolean\"}, \"strict\": {\"description\": \"Strict mode — also flags warnings as failures. Default: false\", \"type\": \"boolean\"}, \"url\": {\"description\": \"If set, Raven launches headless chromium, renders the page, and audits the RENDERED DOM.\", \"type\": \"string\"}, \"viewport\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}}, \"type\": \"object\"}, \"name\": \"audit_page\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Score Page\"}, \"description\": \"Score an HTML/CSS page across 7 design categories (Structure, Typography, Color & palette, Spacing & rhythm, Accessibility, Responsive layout, Design tokens), each rated 0–10. Scores are derived deterministically from the same checks as audit_page — no browser required. Pass html directly, or pass url to have Raven launch headless chromium, render the page, and score the RENDERED DOM. Also returns the same overall 0–100 score and A–D grade audit_page produces, the weakest category, and the three categories Raven does not mechanically assess (brand, conversion, motion) with guidance on which tools to use for those.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"containerMaxWidth\": {\"description\": \"Your design system's canonical content-container width in px (e.g. 1152). Forwarded to the responsive/max-width check.\", \"type\": \"number\"}, \"html\": {\"description\": \"The full HTML content of the page to score.\", \"type\": \"string\"}, \"strict\": {\"description\": \"Strict mode — count warnings as failures in the overall score. Default: false.\", \"type\": \"boolean\"}, \"url\": {\"description\": \"If set, Raven launches headless chromium, renders the page, and scores the RENDERED DOM.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"score_page\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Asset Integrity\"}, \"description\": \"Detect PNG exports whose content is sliced/cut off at the bottom edge (e.g. a Figma export that ended mid-form). Dimension/ratio checks cannot catch cut content inside a correctly-sized file; this measures per-pixel luminance variance in the bottom strip — uniform background = clean, high-variance UI content running into the edge = likely-sliced. Accepts filesystem paths to PNGs.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"image_paths\": {\"description\": \"Filesystem paths to PNG files to check for sliced/cut-off bottom content.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}}, \"required\": [\"image_paths\"], \"type\": \"object\"}, \"name\": \"audit_asset_integrity\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Device Frame\"}, \"description\": \"Detect cropped content in device-mockup frames (phone/MacBook screenshots, app-preview clips). Three checks: (1) GEOMETRY — call with `frames` (container box + intrinsic media size + object-fit/position; call with NO args for a DevTools snippet) to flag object-fit:cover crop loss when the frame's aspect ratio ≠ the media's; (2) MOTION — pass `clips` (first/last frame PNG paths) to detect baked-in pan/zoom (Ken Burns) that drifts the composition; (3) EDGE — pass `edge_frames` (PNG paths) to flag content truncated at a frame edge. Catches the exact failure where a 16:9 clip in a 1.82-AR screen cutout silently slices the bottom, or a Ken-Burns-zoomed source crops content.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"clips\": {\"description\": \"Per-clip first/last frame PNG file paths — detects baked-in pan/zoom (Ken Burns).\", \"items\": {\"additionalProperties\": false, \"properties\": {\"first_frame\": {\"type\": \"string\"}, \"label\": {\"type\": \"string\"}, \"last_frame\": {\"type\": \"string\"}}, \"required\": [\"label\", \"first_frame\", \"last_frame\"], \"type\": \"object\"}, \"type\": \"array\"}, \"edge_frames\": {\"description\": \"Frame PNG file paths to check for content truncated at a frame edge (reuses edge-symmetry).\", \"items\": {\"additionalProperties\": false, \"properties\": {\"frame\": {\"type\": \"string\"}, \"label\": {\"type\": \"string\"}}, \"required\": [\"label\", \"frame\"], \"type\": \"object\"}, \"type\": \"array\"}, \"frames\": {\"description\": \"Device-frame geometry samples (from the DevTools snippet): container box + intrinsic media size + computed object-fit/position. Flags object-fit:cover crop loss.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"container\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}, \"media\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}, \"objectFit\": {\"enum\": [\"fill\", \"cover\", \"contain\", \"none\", \"scale-down\"], \"type\": \"string\"}, \"objectPosition\": {\"additionalProperties\": false, \"properties\": {\"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\"], \"type\": \"object\"}, \"selector\": {\"type\": \"string\"}}, \"required\": [\"selector\", \"container\", \"media\"], \"type\": \"object\"}, \"type\": \"array\"}}, \"type\": \"object\"}, \"name\": \"audit_device_frame\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Contract\"}, \"description\": \"Verify a wire contract (token list / field set / schemaVersion) is identical across N independent source files (iOS Swift, proxy JS, Android Kotlin). Flags missing/inconsistent tokens, schemaVersion drift, and prefix-ordering bugs (a contained token matched before the longer one). BLOCK/PASS verdict.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"contract_spec\": {\"additionalProperties\": false, \"properties\": {\"fields\": {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"mode\": {\"enum\": [\"tokens\", \"envelope\"], \"type\": \"string\"}, \"schemaVersionPattern\": {\"type\": \"string\"}, \"tokens\": {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}}, \"type\": \"object\"}, \"file_paths\": {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}}, \"required\": [\"contract_spec\", \"file_paths\"], \"type\": \"object\"}, \"name\": \"audit_contract\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Audit API Contract\"}, \"description\": \"Run adversarial queries against a live endpoint and return per-query verdict (shape-valid / shape-invalid / confident-wrong / uncertain) vs an expected shape schema + per-query expectations. Catches responses that are shape-valid but wrong.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"endpoint_url\": {\"type\": \"string\"}, \"expected_shape_schema\": {\"additionalProperties\": false, \"properties\": {\"required\": {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"types\": {\"additionalProperties\": {\"enum\": [\"string\", \"number\", \"boolean\", \"object\", \"array\"], \"type\": \"string\"}, \"type\": \"object\"}}, \"type\": \"object\"}, \"queries\": {\"items\": {\"additionalProperties\": false, \"properties\": {\"body\": {}, \"expect\": {\"additionalProperties\": false, \"properties\": {\"contains\": {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"equals\": {\"additionalProperties\": {}, \"type\": \"object\"}}, \"type\": \"object\"}, \"headers\": {\"additionalProperties\": {\"type\": \"string\"}, \"type\": \"object\"}, \"method\": {\"enum\": [\"GET\", \"POST\"], \"type\": \"string\"}, \"name\": {\"type\": \"string\"}, \"path\": {\"type\": \"string\"}}, \"required\": [\"name\"], \"type\": \"object\"}, \"type\": \"array\"}}, \"required\": [\"endpoint_url\", \"queries\", \"expected_shape_schema\"], \"type\": \"object\"}, \"name\": \"audit_api_contract\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Parity\"}, \"description\": \"Compare iOS vs Android element snapshots against a checklist of named spatial relationships (vertical centering, baseline/left alignment, equal gap/size, presence, truncation) and flag per-relation match/mismatch/uncertain — catches cross-platform layout drift like status text centered on one platform but top-aligned on the other. Provide ios+android {elements,viewport} snapshots and a checklist[].\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"android\": {\"additionalProperties\": false, \"properties\": {\"elements\": {\"items\": {\"additionalProperties\": false, \"properties\": {\"id\": {\"type\": \"string\"}, \"label\": {\"type\": \"string\"}, \"rect\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\", \"w\", \"h\"], \"type\": \"object\"}, \"role\": {\"type\": \"string\"}}, \"required\": [\"rect\"], \"type\": \"object\"}, \"type\": \"array\"}, \"viewport\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}}, \"required\": [\"elements\", \"viewport\"], \"type\": \"object\"}, \"checklist\": {\"items\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"string\"}, \"b\": {\"type\": \"string\"}, \"name\": {\"type\": \"string\"}, \"relation\": {\"enum\": [\"present\", \"vertically-centered\", \"baseline-aligned\", \"left-aligned\", \"equal-gap\", \"equal-size\", \"same-truncation\"], \"type\": \"string\"}, \"tolerance\": {\"type\": \"number\"}}, \"required\": [\"name\", \"a\", \"relation\"], \"type\": \"object\"}, \"type\": \"array\"}, \"ios\": {\"additionalProperties\": false, \"properties\": {\"elements\": {\"items\": {\"additionalProperties\": false, \"properties\": {\"id\": {\"type\": \"string\"}, \"label\": {\"type\": \"string\"}, \"rect\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\", \"w\", \"h\"], \"type\": \"object\"}, \"role\": {\"type\": \"string\"}}, \"required\": [\"rect\"], \"type\": \"object\"}, \"type\": \"array\"}, \"viewport\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}}, \"required\": [\"elements\", \"viewport\"], \"type\": \"object\"}}, \"required\": [\"ios\", \"android\", \"checklist\"], \"type\": \"object\"}, \"name\": \"audit_parity\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit iOS Accessibility\"}, \"description\": \"Score an accessibility-enriched iOS element snapshot — missing accessibilityLabel/value/traits, sub-44pt tap targets, per-text WCAG contrast, Dynamic Type clipping, and VoiceOver reading order. Provide {elements:[{label,value,hint,traits,role,rect,fontPt,fgColor,bgColor,dynamicTypeClipped}],viewport}. Capture via the AccessibilitySnapshot XCUITest / ios-capture harness.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"elements\": {\"items\": {\"additionalProperties\": false, \"properties\": {\"bgColor\": {\"type\": \"string\"}, \"dynamicTypeClipped\": {\"type\": \"boolean\"}, \"fgColor\": {\"type\": \"string\"}, \"fontPt\": {\"type\": \"number\"}, \"hint\": {\"type\": \"string\"}, \"label\": {\"type\": \"string\"}, \"rect\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\", \"w\", \"h\"], \"type\": \"object\"}, \"role\": {\"type\": \"string\"}, \"traits\": {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"value\": {\"type\": \"string\"}}, \"required\": [\"rect\"], \"type\": \"object\"}, \"type\": \"array\"}, \"options\": {\"additionalProperties\": false, \"properties\": {\"minTarget\": {\"type\": \"number\"}}, \"type\": \"object\"}, \"viewport\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}}, \"required\": [\"elements\", \"viewport\"], \"type\": \"object\"}, \"name\": \"audit_ios_a11y\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Audit Responsive Visibility\"}, \"description\": \"Render a URL at multiple breakpoints and flag content elements that are visible on desktop but hidden on mobile (display:none / opacity:0 / visibility:hidden / zero-size). Categorises each flag as 'likely-oversight' (content that vanishes on mobile — the hidden-on-mobile content bug) vs 'intentional' (decorative). Returns a table of selector / hiding-class / mobile-visible / desktop-visible / category. Requires headless chromium.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"breakpoints\": {\"description\": \"Viewport widths in px. Default [390, 768, 1440, 2160]\", \"items\": {\"type\": \"number\"}, \"type\": \"array\"}, \"url\": {\"description\": \"URL to render (http/https or file://)\", \"type\": \"string\"}, \"viewportHeight\": {\"description\": \"Render height in px. Default 900\", \"type\": \"number\"}}, \"required\": [\"url\"], \"type\": \"object\"}, \"name\": \"audit_responsive_visibility\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Audit Contrast\"}, \"description\": \"Compute WCAG contrast ratios for every text element on a rendered page (pass url) or from a supplied dom_snapshot. Reports AA (4.5:1 normal, 3:1 large) and AAA pass/fail and surfaces failing pairs with selector, ratio, and delta-to-pass — replacing manual eyedropper + ratio math. dom_snapshot mode returns a row per supplied element; url mode returns counts plus every row that needs action (aa_failures, indeterminate_bg_rows) and OMITS the per-element rows for passing elements, because a real page produces hundreds of thousands of characters of them.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"dom_snapshot\": {\"description\": \"Pre-collected text elements to score without rendering\", \"items\": {\"additionalProperties\": false, \"properties\": {\"bgColor\": {\"type\": \"string\"}, \"bold\": {\"type\": \"boolean\"}, \"color\": {\"type\": \"string\"}, \"fontPx\": {\"type\": \"number\"}, \"selector\": {\"type\": \"string\"}, \"text\": {\"type\": \"string\"}}, \"required\": [\"selector\", \"color\", \"bgColor\"], \"type\": \"object\"}, \"type\": \"array\"}, \"screenshot\": {\"description\": \"Optional base64 PNG for caller reference; ratios are computed from the DOM, not pixels\", \"type\": \"string\"}, \"url\": {\"description\": \"URL to render and measure (http/https or file://)\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"audit_contrast\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Suggest Contrast Fix\"}, \"description\": \"Given failing WCAG color pairs, return the MINIMAL color change that clears the target ratio. For each {fg,bg} pair, computes the smallest foreground adjustment (and an alternative background adjustment) that reaches AA/AAA — with the achieved ratio and direction. Feeds directly from audit_contrast's failing pairs: pass them here to get concrete passing values instead of brute-forcing colors by hand. Pure offline math.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"level\": {\"description\": \"WCAG level when targetRatio is not given per-pair. Default AA.\", \"enum\": [\"AA\", \"AAA\"], \"type\": \"string\"}, \"pairs\": {\"description\": \"Color pairs to remediate. Each: { selector?, fg, bg, fontPx?, bold?, targetRatio? }. fontPx/bold pick the large-text threshold; targetRatio overrides the level.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"bg\": {\"type\": \"string\"}, \"bold\": {\"type\": \"boolean\"}, \"fg\": {\"type\": \"string\"}, \"fontPx\": {\"type\": \"number\"}, \"ratio\": {\"type\": [\"number\", \"null\"]}, \"selector\": {\"type\": \"string\"}, \"status\": {\"enum\": [\"pass\", \"fail\", \"indeterminate\"], \"type\": \"string\"}, \"targetRatio\": {\"type\": \"number\"}}, \"required\": [\"fg\", \"bg\"], \"type\": \"object\"}, \"type\": \"array\"}}, \"type\": \"object\"}, \"name\": \"suggest_contrast_fix\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": true, \"readOnlyHint\": false, \"title\": \"Audit URL\"}, \"description\": \"Layer 0 render-and-capture audit: renders a LIVE URL at each viewport×theme, scroll-settles (fires whileInView/IntersectionObserver reveals; plays preload=none videos), optionally fires caller-supplied hover/focus/click interactions, and captures real pixels + the rendered DOM. Then runs the existing audit_page rule engine, per-element WCAG contrast, responsive-visibility (desktop-shown/mobile-hidden), blank-media detection, sliced-image edge symmetry, and hover-state white-wash detection over the captures. Every finding is tagged confirmed | likely-artifact | inconclusive with its evidence, ranked by severity. This is the tool that catches real-world visual nits invisible to HTML-string/geometry audits: cropped images, blank videos, hover white-wash, sliced exports, and hidden-on-mobile content. Requires headless chromium.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"compact\": {\"description\": \"Drop per-capture base64 screenshots; keep findings, counts, and summary. Default false. Use when screenshots would blow the tool-result budget.\", \"type\": \"boolean\"}, \"containerMaxWidth\": {\"description\": \"Your design system's canonical container width in px — makes the max-width check token-aware.\", \"type\": \"number\"}, \"includeScreenshots\": {\"description\": \"Include the base64 full-page PNG per capture in the result. Default: false (screenshots are large).\", \"type\": \"boolean\"}, \"interactions\": {\"description\": \"Fire each interaction before capture; the resulting state is diffed against baseline to catch hover/click white-wash and obscured content.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"delay_ms\": {\"type\": \"number\"}, \"event\": {\"enum\": [\"hover\", \"click\", \"focus\"], \"type\": \"string\"}, \"selector\": {\"type\": \"string\"}}, \"required\": [\"selector\", \"event\", \"delay_ms\"], \"type\": \"object\"}, \"type\": \"array\"}, \"scroll_settle\": {\"description\": \"Step through the page with short pauses to fire reveal-on-scroll/IntersectionObserver content, play videos, then return to the top before capture. Default: true\", \"type\": \"boolean\"}, \"themes\": {\"description\": \"Themes to toggle (prefers-color-scheme + data-theme/class). Default: ['light','dark']\", \"items\": {\"enum\": [\"light\", \"dark\"], \"type\": \"string\"}, \"type\": \"array\"}, \"timeoutMs\": {\"description\": \"Per-navigation timeout in ms. Default: 30000\", \"type\": \"number\"}, \"url\": {\"description\": \"URL to render and audit (http/https or file://)\", \"type\": \"string\"}, \"viewports\": {\"description\": \"Viewports to render. Default: iphone 393×852, desktop 1440×900, wide 2160×1200\", \"items\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"label\": {\"type\": \"string\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}, \"type\": \"array\"}}, \"required\": [\"url\"], \"type\": \"object\"}, \"name\": \"audit_url\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Content\"}, \"description\": \"Evaluate an array of content items (headings, prose, CTAs, labels, captions, metrics, outcomes) against UX-writing principles and deterministic heuristics. Returns a per-item verdict (pass/warn/fail) with matched principle ids, concrete issues grounded in principle text, a before→after rewrite suggestion, and an aggregate summary. Heuristics: metric items must carry a number+unit; cta/label must be action-led and ≤4 words; prose flags passive voice, jargon, and hedging; headings flag filler openers and buzzwords; captions flag duplication of any heading in the batch. Pure offline — no network or browser. Use this instead of evaluate_design when you need per-item content verdicts rather than the principle library.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"goals\": {\"description\": \"Optional content goals (e.g. ['clarity','conversion']); recorded for traceability.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"items\": {\"description\": \"Array of content items to audit.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"id\": {\"description\": \"Optional stable id; auto-generated (item_N) if omitted.\", \"type\": \"string\"}, \"text\": {\"description\": \"The raw content string to evaluate.\", \"type\": \"string\"}, \"type\": {\"description\": \"Content type — selects which heuristics apply.\", \"enum\": [\"prose\", \"caption\", \"heading\", \"outcome\", \"metric\", \"cta\", \"label\"], \"type\": \"string\"}}, \"required\": [\"type\", \"text\"], \"type\": \"object\"}, \"type\": \"array\"}, \"system\": {\"description\": \"Optional content-system id (e.g. 'ux-writing'); recorded for traceability.\", \"type\": \"string\"}}, \"required\": [\"items\"], \"type\": \"object\"}, \"name\": \"audit_content\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Audit Typography\"}, \"description\": \"Audit the typographic SCALE of a rendered page (pass url) or a pre-collected snapshot of text nodes. Emits a focused report: (a) MODULAR SCALE — detects the dominant ratio (~1.2/1.25/1.333/1.5) across distinct font sizes and flags off-scale outliers; (b) LINE-HEIGHT CONSISTENCY — unitless lh/fs ratio per node, identifies the body rhythm and flags outliers; (c) WEIGHT LADDER — distinct weights, flags >4 weights or non-standard CSS values. Returns scale, line_height, weight_ladder, nodes_analyzed, and findings[{rule,severity,selector,message,fix}]. Goes beyond audit_page's pass/fail typography checks. url mode requires headless chromium.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"nodes\": {\"description\": \"Pre-collected text nodes to analyze without rendering.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"fontPx\": {\"type\": \"number\"}, \"fontWeight\": {\"type\": \"number\"}, \"lineHeightPx\": {\"type\": \"number\"}, \"selector\": {\"type\": \"string\"}, \"tag\": {\"type\": \"string\"}, \"text\": {\"type\": \"string\"}}, \"required\": [\"selector\", \"fontPx\"], \"type\": \"object\"}, \"type\": \"array\"}, \"url\": {\"description\": \"URL to render and measure (http/https or file://). Requires headless chromium.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"audit_typography\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Audit Tap Targets\"}, \"description\": \"WCAG 2.5.5 / Apple 44pt tap-target audit for the web. Collects every interactive element (a, button, [role=button], input[type=submit/button/checkbox/radio], select, summary, label[for], [onclick], [tabindex>=0]) and emits a PER-ELEMENT fix table for any whose rendered width or height is below the minimum (default 44px): selector, role, visible text, measured w/h, pixel deficit per axis, and a concrete CSS fix. Sorted worst-first. Two modes: pass url (renders in headless chromium, measures real getBoundingClientRect) or pass elements[] snapshot (pure, no browser).\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"elements\": {\"description\": \"Pre-collected interactive elements to score without rendering.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"role\": {\"type\": \"string\"}, \"selector\": {\"type\": \"string\"}, \"text\": {\"type\": \"string\"}, \"w\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"selector\", \"w\", \"h\"], \"type\": \"object\"}, \"type\": \"array\"}, \"minSize\": {\"description\": \"Minimum tap-target size in px on each axis. Default 44.\", \"type\": \"number\"}, \"url\": {\"description\": \"URL to render and measure. Requires headless chromium.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"audit_tap_targets\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Brand System\"}, \"description\": \"Get a complete design system for building an app with branding like a specific company. Say 'Make me an app with branding like Spotify' and get the full token set, style guide, and implementation instructions. Matches against 12 known design systems and provides closest match with ready-to-use CSS.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"company\": {\"description\": \"The company whose branding to use (e.g. 'Spotify', 'Stripe', 'Apple', 'Linear', 'Airbnb')\", \"type\": \"string\"}, \"format\": {\"description\": \"Output format: 'css' for CSS variables, 'dtcg' for W3C tokens, 'guide' for full implementation guide. Default: guide\", \"enum\": [\"css\", \"dtcg\", \"guide\"], \"type\": \"string\"}, \"mode\": {\"description\": \"Color mode preference. Default: based on the system's primary mode\", \"enum\": [\"light\", \"dark\"], \"type\": \"string\"}}, \"required\": [\"company\"], \"type\": \"object\"}, \"name\": \"get_brand_system\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Generate Design System\"}, \"description\": \"Generate a complete, custom design system with full token set. Provide a brand color to auto-generate a harmonious palette, pick a style preset, and export as visual HTML documentation, CSS variables, W3C DTCG JSON, Figma Variables, or SVG palette card. The HTML export is a beautiful, self-contained page suitable for sharing with stakeholders. Pass save:true to store the system for reuse by id — this is how a taste-engine session's design system becomes durable.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"base_system\": {\"description\": \"Start from an existing system as foundation (e.g. 'stripe', 'linear'). Colors will be replaced by brand_color if provided.\", \"type\": \"string\"}, \"brand_color\": {\"description\": \"Primary brand hex color (e.g. '#FF6B35'). Auto-generates a full harmonious palette using color theory.\", \"type\": \"string\"}, \"dark_mode\": {\"description\": \"Generate dark mode tokens alongside light. Default: true\", \"type\": \"boolean\"}, \"format\": {\"description\": \"Export format: html (visual doc page), css (custom properties), dtcg (W3C JSON), figma (Figma Variables JSON), svg (color palette card), all. Default: html\", \"enum\": [\"html\", \"css\", \"dtcg\", \"figma\", \"svg\", \"all\"], \"type\": \"string\"}, \"name\": {\"description\": \"Name for the design system (e.g. 'Acme Corp', 'NightOwl')\", \"type\": \"string\"}, \"save\": {\"description\": \"Persist the generated token set to ~/.raven/design-systems so its id works everywhere a bundled system's does: base_system here, get_design_system, list_design_systems, and init_design_md. Refused if the id (the slugified name) collides with a bundled system. Default: false\", \"type\": \"boolean\"}, \"style\": {\"description\": \"Aesthetic direction — influences spacing, radii, shadows, motion, and typography. Default: minimal\", \"enum\": [\"minimal\", \"bold\", \"warm\", \"corporate\", \"playful\", \"dark\"], \"type\": \"string\"}}, \"required\": [\"name\"], \"type\": \"object\"}, \"name\": \"generate_design_system\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Layout\"}, \"description\": \"Evaluate visual rhythm from a rendered page's geometry. Call with no arguments to get a DevTools snippet to paste into your page — it prints {elements, viewport} JSON. Call again with that JSON to get alignment, gap-rhythm, and optical-balance scores. This is the complement to audit_page for things only visible once rendered.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"elements\": {\"description\": \"Array of element rects captured from the rendered page via the DevTools snippet\", \"items\": {\"additionalProperties\": false, \"properties\": {\"computed\": {\"additionalProperties\": false, \"properties\": {\"background\": {\"type\": \"string\"}, \"color\": {\"type\": \"string\"}, \"fontSize\": {\"type\": \"string\"}, \"gap\": {\"type\": \"string\"}, \"margin\": {\"type\": \"string\"}, \"padding\": {\"type\": \"string\"}}, \"type\": \"object\"}, \"rect\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\", \"w\", \"h\"], \"type\": \"object\"}, \"selector\": {\"type\": \"string\"}}, \"required\": [\"selector\", \"rect\"], \"type\": \"object\"}, \"type\": \"array\"}, \"viewport\": {\"additionalProperties\": false, \"description\": \"Viewport dimensions {w,h} at capture time\", \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}}, \"type\": \"object\"}, \"name\": \"audit_layout\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Swiftui\"}, \"description\": \"Audit SwiftUI source against Apple's Human Interface Guidelines. Flags hardcoded .font(.system(size:)) below ~13pt and tiny semantic fonts (.caption/.caption2), hardcoded Color(red:green:blue:)/hex instead of asset-catalog or semantic system colors, an empty/undefined AccentColor, interactive frames below 44×44pt, and ad-hoc spacing off the 4/8-pt grid. Rewards semantic Dynamic Type fonts, semantic system colors, SF Symbols, and flexible frames. iOS-native checks only — no web/CSS rules. Returns pass/fail per check with fix instructions.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"accent_color_contents\": {\"description\": \"Optional raw Contents.json of AccentColor.colorset. When provided, the tool verifies AccentColor actually defines color components (flags an empty/undefined accent color as an error).\", \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.\", \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes, each note is verified against the source (animation/material/haptic/font APIs) and returned in note_assessments; missing notes count toward the grade.\", \"type\": \"string\"}, \"source\": {\"anyOf\": [{\"type\": \"string\"}, {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}], \"description\": \"SwiftUI source — a single file/view as a string, or an array of file contents. Concatenated before analysis.\"}, \"strict\": {\"description\": \"Strict mode — also count warnings as failures for grading. Default: false\", \"type\": \"boolean\"}}, \"required\": [\"source\"], \"type\": \"object\"}, \"name\": \"audit_swiftui\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Screen\"}, \"description\": \"Audit a rendered mobile screen (iOS or Android) from a view-hierarchy/accessibility snapshot. Call with no arguments for the expected snapshot shape and how to capture it. Pass platform:\\\"android\\\" to score against the 48dp Material touch minimum and Material muted roles (onSurfaceVariant/outline = warn not fail); default platform:\\\"ios\\\" scores 44pt and treats secondaryLabel/tertiaryLabel as platform-standard. Both score touch targets, contrast, and visual rhythm (alignment, gap consistency, optical balance). Same return shape as audit_page.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"elements\": {\"description\": \"Elements captured from the rendered screen via an accessibility/view-hierarchy snapshot\", \"items\": {\"additionalProperties\": false, \"properties\": {\"bgColor\": {\"description\": \"Background color behind this element — hex, rgb(), or semantic name\", \"type\": \"string\"}, \"fgColor\": {\"description\": \"Foreground color — hex (#1c1c1e), rgb(), or a platform semantic name ('secondaryLabel' iOS / 'onSurfaceVariant' Android)\", \"type\": \"string\"}, \"fontPt\": {\"description\": \"Effective font point/dp size, if text\", \"type\": \"number\"}, \"label\": {\"type\": \"string\"}, \"rect\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\", \"w\", \"h\"], \"type\": \"object\"}, \"role\": {\"description\": \"Accessibility role/trait, e.g. button, link, cell, staticText, image, tab, textField\", \"type\": \"string\"}}, \"required\": [\"rect\"], \"type\": \"object\"}, \"type\": \"array\"}, \"platform\": {\"description\": \"Target platform — 'ios' (default, 44pt minimum, iOS semantic colors) or 'android' (48dp minimum, Material semantic roles)\", \"enum\": [\"ios\", \"android\"], \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.\", \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes and a screenshot is passed, the screenshot's pixels verify the color-scheme notes; results gain note_assessments.\", \"type\": \"string\"}, \"screenshot\": {\"description\": \"Optional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels.\", \"type\": \"string\"}, \"scroll_settle\": {\"type\": \"boolean\"}, \"viewport\": {\"additionalProperties\": false, \"description\": \"Screen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel\", \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}}, \"type\": \"object\"}, \"name\": \"audit_screen\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit iOS Screen\"}, \"description\": \"Audit a rendered iOS screen from a view-hierarchy/accessibility snapshot (and optional screenshot). Alias of audit_screen with platform:\\\"ios\\\". Call with no arguments for the expected snapshot shape. Call with {elements:[{label,rect:{x,y,w,h},role,fontPt,fgColor,bgColor}],viewport:{w,h}} to score 44×44pt touch targets, contrast (with iOS secondaryLabel/tertiaryLabel treated as platform-standard — warn not fail), and visual rhythm (alignment, gap consistency, optical balance) in points. Same return shape as audit_page.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"elements\": {\"description\": \"Elements captured from the rendered screen via an accessibility/view-hierarchy snapshot\", \"items\": {\"additionalProperties\": false, \"properties\": {\"bgColor\": {\"description\": \"Background color behind this element — hex, rgb(), or semantic name\", \"type\": \"string\"}, \"fgColor\": {\"description\": \"Foreground color — hex (#1c1c1e), rgb(), or a platform semantic name ('secondaryLabel' iOS / 'onSurfaceVariant' Android)\", \"type\": \"string\"}, \"fontPt\": {\"description\": \"Effective font point/dp size, if text\", \"type\": \"number\"}, \"label\": {\"type\": \"string\"}, \"rect\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\", \"w\", \"h\"], \"type\": \"object\"}, \"role\": {\"description\": \"Accessibility role/trait, e.g. button, link, cell, staticText, image, tab, textField\", \"type\": \"string\"}}, \"required\": [\"rect\"], \"type\": \"object\"}, \"type\": \"array\"}, \"profile\": {\"description\": \"Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.\", \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes and a screenshot is passed, the screenshot's pixels verify the color-scheme notes; results gain note_assessments.\", \"type\": \"string\"}, \"screenshot\": {\"description\": \"Optional base64 PNG of the screen, for the caller's reference. Geometry is scored from the snapshot, not decoded pixels.\", \"type\": \"string\"}, \"viewport\": {\"additionalProperties\": false, \"description\": \"Screen size in pt (iOS) or dp (Android) at capture time, e.g. {w:393,h:852} iPhone 15, {w:412,h:915} Pixel\", \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}}, \"type\": \"object\"}, \"name\": \"audit_ios_screen\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit iOS Privacy\"}, \"description\": \"Audit an iOS or React Native/Expo app's privacy posture for App Review and user trust. Reads a native Info.plist XML OR an Expo app.json (managed Expo apps have no Info.plist) — plus optional PRIVACY.md, entitlements, and source. Flags: NS*UsageDescription strings that are vague/missing or contradict the code (e.g. a HealthKit write claim the code never fulfills), entitlements/permissions and Android permissions the app doesn't use, ATS cleartext exceptions and non-HTTPS endpoints, secrets/keys shipped in the bundle or app.json, and default data-egress paths not disclosed at the point of choice (a pre-selected 'Recommended' option that silently sends personal data to a server). Same return shape as audit_page.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"app_json\": {\"description\": \"Expo app.json / app.config JSON (managed RN). Its expo.ios.infoPlist, expo.android.permissions, plugins, and extra are audited.\", \"type\": \"string\"}, \"entitlements\": {\"description\": \"Optional .entitlements XML\", \"type\": \"string\"}, \"info_plist\": {\"description\": \"Raw Info.plist XML (native iOS / bare RN). Provide this OR app_json.\", \"type\": \"string\"}, \"privacy_md\": {\"description\": \"Optional PRIVACY.md / privacy policy text to cross-reference against declared permissions and default behavior\", \"type\": \"string\"}, \"source\": {\"description\": \"Optional concatenated source (Swift or JS/TS) — enables code-vs-declaration contradiction checks and default-egress detection\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"audit_ios_privacy\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit React Native\"}, \"description\": \"Audit React Native / Expo source (JSX/TSX + StyleSheet) against the iOS HIG + Android Material conventions RN must satisfy. Flags touchables missing accessibilityLabel/accessibilityRole, touchables below 44pt without hitSlop, allowFontScaling={false}, fontSize below ~13, screens without SafeAreaView, and (for multi-mode apps) hardcoded colors with no useColorScheme/Appearance dark-mode handling. Rewards SafeAreaView, hitSlop, Platform-aware code, and a theme. RN-native checks only — no web/CSS or SwiftUI rules. Same return shape as audit_page. (RN renders to native widgets, so audit_ios_screen scores the rendered screen.)\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"color_scheme\": {\"description\": \"The app's declared appearance (Expo app.json userInterfaceStyle). 'light' or 'dark' means single-mode by design — the dark-mode adaptation check is then suppressed. Default: automatic.\", \"enum\": [\"light\", \"dark\", \"automatic\"], \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile owning the binding. Omit to search all stored profiles for one bound to the project.\", \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes, each note is verified against the source (Animated/Reanimated, BlurView, haptics, fonts) and returned in note_assessments; missing notes count toward the grade.\", \"type\": \"string\"}, \"source\": {\"anyOf\": [{\"type\": \"string\"}, {\"items\": {\"type\": \"string\"}, \"type\": \"array\"}], \"description\": \"React Native source — a single screen/component as a string, or an array of file contents. Concatenated before analysis.\"}, \"strict\": {\"description\": \"Strict mode — also count warnings as failures for grading. Default: false\", \"type\": \"boolean\"}}, \"required\": [\"source\"], \"type\": \"object\"}, \"name\": \"audit_rn\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Content Systems\"}, \"description\": \"Browse available content design systems — brand voice and tone guides (Conversational Product Voice, GOV.UK, Shopify Polaris, Atlassian). Filter by category or search by name.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"category\": {\"description\": \"Filter by category: commerce-saas, government, marketing-saas, productivity-saas\", \"type\": \"string\"}, \"search\": {\"description\": \"Search by name, description, or tag\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"list_content_systems\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Content System\"}, \"description\": \"Get a brand's content design system — voice attributes, tone shifts by context, vocabulary (use/avoid/never), grammar rules, content patterns for errors/empty-states/buttons/etc., and inclusive language guidance.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"id\": {\"description\": \"Content system ID (e.g. 'conversational-product-voice', 'gov-uk', 'shopify-polaris', 'atlassian')\", \"type\": \"string\"}, \"section\": {\"description\": \"Return just one section. Default: all.\", \"enum\": [\"all\", \"voice\", \"tone_shifts\", \"vocabulary\", \"grammar\", \"content-patterns\", \"inclusive-language\"], \"type\": \"string\"}}, \"required\": [\"id\"], \"type\": \"object\"}, \"name\": \"get_content_system\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Content Principles\"}, \"description\": \"Get UX-writing principles — clarity over cleverness, active voice, error-message anatomy, inclusive language, voice vs tone, and more. Filter by the writing context (e.g. 'error messages', 'notifications', 'form labels').\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"context\": {\"description\": \"What you're writing for (e.g. 'error messages', 'onboarding copy', 'empty state', 'notification'). Omit to get all UX-writing principles.\", \"type\": \"string\"}, \"format\": {\"description\": \"Output format: full (all details), checklist (implications + violations), brief (just summary). Default: full\", \"enum\": [\"full\", \"checklist\", \"brief\"], \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"get_content_principles\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Content Pattern\"}, \"description\": \"Get content design patterns — copy recipes for error messages, empty-state copy, notifications, and form validation. Returns do's, don'ts, good/bad examples, evidence, and a checklist.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"type\": {\"description\": \"Content pattern type\", \"enum\": [\"error-messages\", \"empty-state-copy\", \"notifications\", \"form-validation\"], \"type\": \"string\"}}, \"required\": [\"type\"], \"type\": \"object\"}, \"name\": \"get_content_pattern\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Research Method\"}, \"description\": \"Get research method details — qualitative (interviews, contextual inquiry, diary, field, intercept), quantitative (surveys, analytics, A/B tests, benchmarking, clickstream), or usability (moderated, unmoderated, 5-second, card sort, tree test, heuristic eval). Returns specific protocols, do/don't guidance, evidence, and a checklist. Use when the user is designing a study or asking how to measure something.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"category\": {\"description\": \"Which family of methods. Default: all.\", \"enum\": [\"qualitative\", \"quantitative\", \"usability\", \"all\"], \"type\": \"string\"}, \"search\": {\"description\": \"Search within methods by name or description.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"get_research_method\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Metrics Framework\"}, \"description\": \"Get a product-metrics framework — HEART (Google), AARRR/Pirate (Dave McClure), North Star Metric, Conversion Funnel, RICE Scoring, or OKRs. Returns structure, when-to-use, pitfalls, and examples. Use when the user asks 'how should we measure success?' or 'what metrics should we track?'\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"id\": {\"description\": \"Framework id (heart, aarrr, north-star-metric, conversion-funnel, rice-scoring, okrs). Omit to list all.\", \"type\": \"string\"}, \"search\": {\"description\": \"Search for a framework by name or summary.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"get_metrics_framework\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Service Pattern\"}, \"description\": \"Get a service design pattern — service blueprinting, human handoff, signup-as-service, omnichannel continuity, or moments of truth / recovery. Returns patterns, do/don't guidance, evidence, and a checklist. Use when the user is designing a service flow, escalation, cross-channel experience, or moment of truth.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"type\": {\"description\": \"Service design pattern type\", \"enum\": [\"service-blueprinting\", \"human-handoff\", \"signup-as-service\", \"omnichannel-continuity\", \"moments-of-truth\"], \"type\": \"string\"}}, \"required\": [\"type\"], \"type\": \"object\"}, \"name\": \"get_service_pattern\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Service Standard\"}, \"description\": \"Get the GOV.UK Service Standard — 14 points the UK government uses to assess whether a public service is ready to launch. Widely applicable as a rigorous service-quality checklist beyond government. Use when the user asks how to evaluate a whole service.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"properties\": {}, \"type\": \"object\"}, \"name\": \"get_service_standard\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Generate Service Blueprint\"}, \"description\": \"Render a service blueprint as a self-contained HTML page. Supports two modes: (1) classic Shostack single-actor blueprint — user action, frontstage, backstage, support, evidence, pain/delight; (2) two-actor HI-loop blueprint — when `actors` is supplied, renders two swim lanes with a line of interaction between them (e.g. customer ↔ lawyer, patient ↔ doctor, buyer ↔ agent). Each actor gets their own actions, frontstage (what they see), and evidence. Optionally accepts an ideal-state to render side-by-side with the current state.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"actors\": {\"additionalProperties\": false, \"description\": \"Omit for classic single-actor Shostack blueprint. Provide to render a two-swim-lane HI-loop blueprint with a line of interaction between the two sides.\", \"properties\": {\"a\": {\"additionalProperties\": false, \"description\": \"Actor A label (default: 'User'). Use when you want to name the first side (e.g. 'Customer', 'Patient').\", \"properties\": {\"label\": {\"type\": \"string\"}}, \"required\": [\"label\"], \"type\": \"object\"}, \"b\": {\"additionalProperties\": false, \"description\": \"Actor B label (e.g. 'Lawyer', 'Doctor', 'Agent'). Presence of this field switches to two-actor layout.\", \"properties\": {\"label\": {\"type\": \"string\"}}, \"required\": [\"label\"], \"type\": \"object\"}}, \"required\": [\"b\"], \"type\": \"object\"}, \"current\": {\"description\": \"The current-state blueprint as an array of steps\", \"items\": {\"additionalProperties\": false, \"properties\": {\"actor_b\": {\"additionalProperties\": false, \"description\": \"Only used when `actors.b` is provided. Captures the other side of the interaction.\", \"properties\": {\"action\": {\"description\": \"What actor B does in this step\", \"type\": \"string\"}, \"evidence\": {\"description\": \"Artifact actor B has — case file, notes, record\", \"type\": \"string\"}, \"frontstage\": {\"description\": \"What actor B sees — their own UI, tools, views\", \"type\": \"string\"}}, \"type\": \"object\"}, \"backstage\": {\"description\": \"What neither actor sees directly — shared systems, internal processes, back-office work\", \"type\": \"string\"}, \"delight\": {\"description\": \"Designed moment of delight at this step (shown as green callout)\", \"type\": \"string\"}, \"evidence\": {\"description\": \"In single-actor: artifact user receives. In two-actor: artifact actor A has.\", \"type\": \"string\"}, \"frontstage\": {\"description\": \"In single-actor: what the user SEES (UI, agent greeting). In two-actor: what actor A sees.\", \"type\": \"string\"}, \"label\": {\"description\": \"Step label (e.g. 'Discover', 'Sign up', 'First use')\", \"type\": \"string\"}, \"pain_point\": {\"description\": \"Known pain point at this step (shown as red callout)\", \"type\": \"string\"}, \"support\": {\"description\": \"Supporting processes, systems, third-party dependencies\", \"type\": \"string\"}, \"user_action\": {\"description\": \"In single-actor: what the user does. In two-actor: what actor A does.\", \"type\": \"string\"}}, \"required\": [\"label\"], \"type\": \"object\"}, \"type\": \"array\"}, \"ideal\": {\"description\": \"Optional ideal-state blueprint — if provided, output shows current AND ideal side-by-side\", \"items\": {\"additionalProperties\": false, \"properties\": {\"actor_b\": {\"additionalProperties\": false, \"properties\": {\"action\": {\"type\": \"string\"}, \"evidence\": {\"type\": \"string\"}, \"frontstage\": {\"type\": \"string\"}}, \"type\": \"object\"}, \"backstage\": {\"type\": \"string\"}, \"delight\": {\"type\": \"string\"}, \"evidence\": {\"type\": \"string\"}, \"frontstage\": {\"type\": \"string\"}, \"label\": {\"type\": \"string\"}, \"pain_point\": {\"type\": \"string\"}, \"support\": {\"type\": \"string\"}, \"user_action\": {\"type\": \"string\"}}, \"required\": [\"label\"], \"type\": \"object\"}, \"type\": \"array\"}, \"service_name\": {\"description\": \"Name of the service (e.g. 'Free trial signup', 'Client intake', 'Restaurant reservation')\", \"type\": \"string\"}, \"subtitle\": {\"description\": \"Short description or context line under the title\", \"type\": \"string\"}}, \"required\": [\"service_name\", \"current\"], \"type\": \"object\"}, \"name\": \"generate_service_blueprint\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Brand Principles\"}, \"description\": \"Get brand and visual-design principles — logo usage (clear space, min sizes, variants, placement, restraint), gradient usage (hierarchy, palette, contrast, trend vs signature), imagery (consistency, representation, purpose), visual hierarchy, and brand-as-system thinking. Use when the user asks about branding, logos, gradients, imagery, visual consistency, or how to treat a brand across surfaces.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"format\": {\"description\": \"Output format. Default: full.\", \"enum\": [\"full\", \"checklist\", \"brief\"], \"type\": \"string\"}, \"topic\": {\"description\": \"Filter by topic: 'logo', 'gradient', 'imagery', 'hierarchy', 'system', or a freeform search term. Omit to return all brand principles.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"get_brand_principles\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Brand Trends\"}, \"description\": \"Get current brand and visual-design trends — what's working in 2026 and where each trend fits or fails. Includes bento grids, monospace type, neon-on-dark-glass, generative patterns, brutalism rebound, AI-generated imagery, lowercase/mixed case. Each trend is time-stamped — treat as a calibration signal, not a prescription.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"properties\": {}, \"type\": \"object\"}, \"name\": \"get_brand_trends\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Creative Models\"}, \"description\": \"Browse Raven's provider-agnostic creative model catalog. These are capability slots for image, video, 3D, audio, character consistency, and creative analysis. Each entry lists typical inputs and best-for guidance.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"capability\": {\"description\": \"Filter by capability, e.g. product-photoshoot, text-to-video, brand-kit, ugc-ad.\", \"type\": \"string\"}, \"media_type\": {\"description\": \"Filter by media type.\", \"enum\": [\"image\", \"video\", \"audio\", \"3d\", \"campaign\", \"analysis\"], \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"list_creative_models\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Creative Presets\"}, \"description\": \"Browse Raven creative presets for product photoshoots, marketplace cards, UGC ads, TV spots, cinematic reveals, social launch packs, storyboards, and infographics.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"media_type\": {\"description\": \"Filter presets by media type.\", \"enum\": [\"image\", \"video\", \"campaign\"], \"type\": \"string\"}, \"search\": {\"description\": \"Search preset name or description.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"list_creative_presets\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Create Brand Profile\"}, \"description\": \"Create or update a local brand profile used by Raven creative jobs. Stores colors, fonts, tone, audience, constraints, product notes, and asset references locally under ~/.raven/creative by default.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"asset_ids\": {\"description\": \"Existing Raven creative asset IDs tied to this brand.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"audience\": {\"description\": \"Primary audience/customer.\", \"type\": \"string\"}, \"colors\": {\"description\": \"Brand colors, preferably hex or token names.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"constraints\": {\"description\": \"Rules to honor: no claims, legal notes, visual constraints.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"description\": {\"description\": \"What the brand/product is.\", \"type\": \"string\"}, \"fonts\": {\"description\": \"Brand fonts or type guidance.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"id\": {\"description\": \"Optional stable ID. If omitted, Raven creates one from the name.\", \"type\": \"string\"}, \"name\": {\"description\": \"Brand or project name.\", \"type\": \"string\"}, \"product\": {\"description\": \"Product or offer notes.\", \"type\": \"string\"}, \"tone\": {\"description\": \"Voice and tone guidance.\", \"type\": \"string\"}}, \"required\": [\"name\"], \"type\": \"object\"}, \"name\": \"create_brand_profile\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Brand Profile\"}, \"description\": \"Read a local Raven creative brand profile by ID.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"id\": {\"description\": \"Brand profile ID.\", \"type\": \"string\"}}, \"required\": [\"id\"], \"type\": \"object\"}, \"name\": \"get_brand_profile\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Brand Profiles\"}, \"description\": \"List local Raven creative brand profiles.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"properties\": {}, \"type\": \"object\"}, \"name\": \"list_brand_profiles\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Register Creative Asset\"}, \"description\": \"Register a local or remote creative asset for Raven jobs. This is the local-first analog of upload: Raven stores metadata and a URI/path, not the file bytes.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"description\": {\"description\": \"What this asset should be used for.\", \"type\": \"string\"}, \"metadata\": {\"additionalProperties\": {}, \"description\": \"Optional non-secret metadata.\", \"type\": \"object\"}, \"name\": {\"description\": \"Human-readable name.\", \"type\": \"string\"}, \"tags\": {\"description\": \"Search tags.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"type\": {\"description\": \"Asset type.\", \"enum\": [\"image\", \"video\", \"audio\", \"document\", \"3d\", \"url\", \"other\"], \"type\": \"string\"}, \"uri\": {\"description\": \"Local path or URL to the asset.\", \"type\": \"string\"}}, \"required\": [\"uri\", \"type\"], \"type\": \"object\"}, \"name\": \"register_creative_asset\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Create Character Profile\"}, \"description\": \"Create a local character/identity reference profile for consistent image or video generation. Raven stores reference asset IDs and provider-training payloads; actual identity training happens only through a configured provider runner.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"consistency_notes\": {\"description\": \"What must stay consistent across generations.\", \"type\": \"string\"}, \"description\": {\"description\": \"Visual/personality description.\", \"type\": \"string\"}, \"id\": {\"description\": \"Optional stable ID.\", \"type\": \"string\"}, \"metadata\": {\"additionalProperties\": {}, \"description\": \"Optional non-secret metadata.\", \"type\": \"object\"}, \"name\": {\"description\": \"Character, spokesperson, founder, avatar, or product persona name.\", \"type\": \"string\"}, \"provider_training_id\": {\"description\": \"External provider training/character ID if already trained.\", \"type\": \"string\"}, \"reference_asset_ids\": {\"description\": \"Raven creative asset IDs for reference images/videos.\", \"items\": {\"type\": \"string\"}, \"minItems\": 1, \"type\": \"array\"}}, \"required\": [\"name\", \"reference_asset_ids\"], \"type\": \"object\"}, \"name\": \"create_character_profile\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Create Generation Job\"}, \"description\": \"Create a Raven creative generation job for image, video, 3D, audio, campaign, or analysis. Returns a brand-aware provider payload. If execute=true and RAVEN_CREATIVE_RUNNER is configured, Raven submits the job to that local runner.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"aspect_ratio\": {\"description\": \"Target aspect ratio, e.g. 1:1, 16:9, 9:16.\", \"type\": \"string\"}, \"brand_profile_id\": {\"description\": \"Local Raven brand profile ID.\", \"type\": \"string\"}, \"channel\": {\"description\": \"Target channel, e.g. TikTok, YouTube Shorts, blog, marketplace.\", \"type\": \"string\"}, \"character_profile_id\": {\"description\": \"Local Raven character profile ID.\", \"type\": \"string\"}, \"duration_seconds\": {\"description\": \"Video/audio duration.\", \"exclusiveMinimum\": 0, \"maximum\": 600, \"type\": \"number\"}, \"execute\": {\"description\": \"Submit through RAVEN_CREATIVE_RUNNER now. Default false.\", \"type\": \"boolean\"}, \"media_type\": {\"description\": \"Output type.\", \"enum\": [\"image\", \"video\", \"audio\", \"3d\", \"campaign\", \"analysis\"], \"type\": \"string\"}, \"model\": {\"description\": \"Raven model slot or external provider model ID.\", \"type\": \"string\"}, \"objective\": {\"description\": \"Business or audience goal.\", \"type\": \"string\"}, \"output_count\": {\"description\": \"Number of variants to request.\", \"maximum\": 100, \"minimum\": 1, \"type\": \"integer\"}, \"preset\": {\"description\": \"Preset ID from list_creative_presets.\", \"type\": \"string\"}, \"prompt\": {\"description\": \"Creative request.\", \"type\": \"string\"}, \"provider\": {\"description\": \"Provider label for the downstream runner.\", \"type\": \"string\"}, \"quality\": {\"description\": \"Requested quality tier.\", \"enum\": [\"draft\", \"standard\", \"high\", \"4k\"], \"type\": \"string\"}, \"reference_asset_ids\": {\"description\": \"Local Raven creative asset IDs.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}}, \"required\": [\"media_type\", \"prompt\"], \"type\": \"object\"}, \"name\": \"create_generation_job\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Generation Job\"}, \"description\": \"Read a Raven creative generation job by ID.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"id\": {\"description\": \"Generation job ID.\", \"type\": \"string\"}}, \"required\": [\"id\"], \"type\": \"object\"}, \"name\": \"get_generation_job\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Generation Jobs\"}, \"description\": \"List local Raven creative generation jobs.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"limit\": {\"description\": \"Max jobs to return. Default 25.\", \"maximum\": 100, \"minimum\": 1, \"type\": \"integer\"}, \"media_type\": {\"description\": \"Filter by media type.\", \"enum\": [\"image\", \"video\", \"audio\", \"3d\", \"campaign\", \"analysis\"], \"type\": \"string\"}, \"status\": {\"description\": \"Filter by status: draft, needs_runner, submitted, completed, failed.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"list_generation_jobs\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Plan Creative Campaign\"}, \"description\": \"Plan a multi-asset creative campaign and optionally create draft generation jobs. Covers Higgsfield-like workflows: product photos, UGC/video ads, marketplace cards, launch/social packs, storyboards, and channel cutdowns.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"audience\": {\"description\": \"Target audience.\", \"type\": \"string\"}, \"brand_profile_id\": {\"description\": \"Local Raven brand profile ID.\", \"type\": \"string\"}, \"campaign_name\": {\"description\": \"Campaign name.\", \"type\": \"string\"}, \"channels\": {\"description\": \"Target channels: TikTok, Reels, YouTube Shorts, web, marketplace, LinkedIn, etc.\", \"items\": {\"type\": \"string\"}, \"minItems\": 1, \"type\": \"array\"}, \"create_jobs\": {\"description\": \"Create draft generation jobs. Default true.\", \"type\": \"boolean\"}, \"formats\": {\"description\": \"Preset IDs to force. Defaults inferred from channels.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"goal\": {\"description\": \"Primary campaign goal.\", \"enum\": [\"awareness\", \"conversion\", \"retention\", \"launch\", \"research\", \"sales\"], \"type\": \"string\"}, \"product_or_offer\": {\"description\": \"Product, service, feature, or offer.\", \"type\": \"string\"}, \"source_asset_ids\": {\"description\": \"Raven creative asset IDs to use as source/reference.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"variants_per_format\": {\"description\": \"How many draft job variants per format. Default 2.\", \"maximum\": 5, \"minimum\": 1, \"type\": \"integer\"}}, \"required\": [\"campaign_name\", \"product_or_offer\", \"audience\", \"goal\", \"channels\"], \"type\": \"object\"}, \"name\": \"plan_creative_campaign\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Score Creative\"}, \"description\": \"Score a creative prompt, script, or ad concept for hook strength, benefit clarity, product signal, call-to-action, channel fit, audience fit, and brand fit. This is a transparent heuristic, not a proprietary prediction model.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"audience\": {\"description\": \"Target audience if not in a brand profile.\", \"type\": \"string\"}, \"brand_profile_id\": {\"description\": \"Local Raven brand profile ID.\", \"type\": \"string\"}, \"channel\": {\"description\": \"Target channel.\", \"type\": \"string\"}, \"creative_text\": {\"description\": \"Prompt, script, ad copy, or creative concept to score.\", \"type\": \"string\"}}, \"required\": [\"creative_text\"], \"type\": \"object\"}, \"name\": \"score_creative\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Audit Consistency\"}, \"description\": \"Audit multiple pages for cross-page consistency of content-container width and hero heading tier. Pass ≥2 pages ({name, html}) collected from different routes on the same site. Infers the canonical (modal) value from the corpus when no token is supplied, so you need not know the project's design token in advance. Flags the issue #9 single-blob blind spot: pages that each pass audit_page but silently disagree with each other on container width or hero size class. Returns per-page extraction (container_px, container_classes, hero_classes, signatures), consistency dimensions with reference values, outlier page names, issues[], score (100/50/0 → A/C/D), and a plain-text summary. Pure offline — no browser, no network.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"container_token\": {\"description\": \"Project's canonical container width in px (e.g. 1152). When supplied, container divergence is measured against this token rather than the corpus modal.\", \"type\": \"number\"}, \"hero_token\": {\"description\": \"Canonical hero heading class signature (e.g. \\\"text-display-xl\\\" or \\\"64\\\"). When supplied, hero divergence is measured against this token rather than the corpus modal.\", \"type\": \"string\"}, \"pages\": {\"description\": \"At least 2 pages to compare. Each entry is {name, html}.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"html\": {\"description\": \"Full HTML source for the page, including any <style> blocks.\", \"minLength\": 1, \"type\": \"string\"}, \"name\": {\"description\": \"Page route or label (e.g. \\\"/\\\", \\\"/changelog\\\", \\\"get-started\\\").\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"name\", \"html\"], \"type\": \"object\"}, \"minItems\": 2, \"type\": \"array\"}}, \"required\": [\"pages\"], \"type\": \"object\"}, \"name\": \"audit_consistency\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Raven Reflect\"}, \"description\": \"Summarize how Raven has been used on this machine over the last N days. Reports which tools are called most, which audit warnings fire repeatedly (→ likely gaps in Raven's knowledge), which patterns and design systems you look up, and which companies you ask for brand styles. Call this when the user asks 'what have I been building with Raven' or 'what's Raven missing'. All data is read from a local log ($RAVEN_USAGE_LOG or ~/.raven/usage.jsonl) — nothing is fetched over the network.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"days\": {\"description\": \"How many days back to include. Default: 30.\", \"maximum\": 365, \"minimum\": 1, \"type\": \"integer\"}}, \"type\": \"object\"}, \"name\": \"raven_reflect\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Raven Register\"}, \"description\": \"Register your email to receive design updates and provide feedback to the Raven creator. Call this when a user wants to register, give feedback, or connect with the Raven team.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"email\": {\"description\": \"User's email address\", \"format\": \"email\", \"type\": \"string\"}, \"name\": {\"description\": \"User's name (optional)\", \"type\": \"string\"}}, \"required\": [\"email\"], \"type\": \"object\"}, \"name\": \"raven_register\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Audit Video Playback\"}, \"description\": \"Render a page in headless Chromium and observe whether each <video> actually advances (samples currentTime before/after a play attempt), classifying every clip into playing|paused|stalled|empty|error with a reason. Catches black/non-playing videos that static audits miss — the most common real-world defect on marketing sites with video backgrounds. Pass url to render + observe, or dom_snapshot to classify pre-collected observations without a browser.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"dom_snapshot\": {\"description\": \"Pre-collected video observations to classify without rendering (deterministic path)\", \"items\": {\"additionalProperties\": false, \"properties\": {\"autoplayBlocked\": {\"description\": \"True if play() was rejected with NotAllowedError\", \"type\": \"boolean\"}, \"currentTimeEnd\": {\"description\": \"currentTime recorded after the observe window\", \"type\": \"number\"}, \"currentTimeStart\": {\"description\": \"currentTime recorded before the play attempt\", \"type\": \"number\"}, \"errorCode\": {\"description\": \"MediaError.code (0=none, 1=aborted, 2=network, 3=decode, 4=src-not-supported)\", \"type\": \"number\"}, \"hasSource\": {\"description\": \"True if currentSrc is non-empty OR the element has a src attribute or <source> child\", \"type\": \"boolean\"}, \"networkState\": {\"description\": \"HTMLMediaElement.networkState (0..3; 3=NETWORK_NO_SOURCE)\", \"type\": \"number\"}, \"paused\": {\"description\": \"True if the element is paused\", \"type\": \"boolean\"}, \"readyState\": {\"description\": \"HTMLMediaElement.readyState (0..4)\", \"type\": \"number\"}, \"selector\": {\"description\": \"CSS selector identifying the video element\", \"type\": \"string\"}}, \"required\": [\"selector\", \"hasSource\", \"readyState\", \"networkState\", \"errorCode\", \"paused\", \"autoplayBlocked\", \"currentTimeStart\", \"currentTimeEnd\"], \"type\": \"object\"}, \"type\": \"array\"}, \"observeMs\": {\"description\": \"Milliseconds to wait between currentTime samples after play() attempt. Default: 1000\", \"type\": \"number\"}, \"url\": {\"description\": \"URL to render and observe (http/https or file://). Requires headless chromium.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"audit_video_playback\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Add\"}, \"description\": \"Add an active decision to the local Decision Graph.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"alternatives_rejected\": {\"description\": \"Alternatives considered and rejected.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"author\": {\"description\": \"Agent or person authoring the decision. Defaults to RAVEN_AGENT_ID or unknown.\", \"type\": [\"string\", \"null\"]}, \"component_ref\": {\"description\": \"Component or surface the decision refers to.\", \"minLength\": 1, \"type\": \"string\"}, \"rationale\": {\"description\": \"Reason for the decision. Omit when no rationale was recorded.\", \"type\": \"string\"}, \"scope\": {\"description\": \"Scope where the decision applies.\", \"minLength\": 1, \"type\": \"string\"}, \"statement\": {\"description\": \"Decision statement.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"statement\", \"scope\", \"component_ref\"], \"type\": \"object\"}, \"name\": \"decision_add\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Evidence\"}, \"description\": \"Attach quantitative or qualitative evidence to an existing decision.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"confidence\": {\"description\": \"Confidence from 0 to 1.\", \"maximum\": 1, \"minimum\": 0, \"type\": \"number\"}, \"confounds\": {\"default\": [], \"description\": \"Known factors that may confound the result.\", \"items\": {\"maxLength\": 500, \"type\": \"string\"}, \"maxItems\": 50, \"type\": \"array\"}, \"decision_id\": {\"description\": \"Existing decision node id.\", \"minLength\": 1, \"type\": \"string\"}, \"result_summary\": {\"description\": \"Concise summary of the evidence result.\", \"maxLength\": 5000, \"minLength\": 1, \"type\": \"string\"}, \"source_ref\": {\"description\": \"URL, experiment name, ticket, or transcript reference.\", \"maxLength\": 2000, \"minLength\": 1, \"type\": \"string\"}, \"type\": {\"description\": \"Evidence type.\", \"enum\": [\"quant\", \"qual\"], \"type\": \"string\"}}, \"required\": [\"decision_id\", \"type\", \"source_ref\", \"result_summary\", \"confidence\"], \"type\": \"object\"}, \"name\": \"decision_evidence\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Draft\"}, \"description\": \"Capture a decision from working context with the why deferred for later confirmation.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"alternatives_rejected\": {\"description\": \"Alternatives considered and rejected.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"component_ref\": {\"description\": \"Component or surface the decision refers to.\", \"minLength\": 1, \"type\": \"string\"}, \"scope\": {\"description\": \"Scope where the decision applies.\", \"minLength\": 1, \"type\": \"string\"}, \"statement\": {\"description\": \"Decision statement.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"statement\", \"scope\", \"component_ref\"], \"type\": \"object\"}, \"name\": \"decision_draft\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Commit\"}, \"description\": \"Commit or confirm the rationale for a draft or extracted decision.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"id\": {\"description\": \"Decision node id to commit.\", \"minLength\": 1, \"type\": \"string\"}, \"rationale\": {\"description\": \"Confirmed rationale for the decision.\", \"minLength\": 1, \"type\": \"string\"}, \"similarity_threshold\": {\"description\": \"Similarity threshold from 0 to 1. Overrides RAVEN_DECISION_SIMILARITY_THRESHOLD for this commit.\", \"maximum\": 1, \"minimum\": 0, \"type\": \"number\"}}, \"required\": [\"id\", \"rationale\"], \"type\": \"object\"}, \"name\": \"decision_commit\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Supersede\"}, \"description\": \"Explicitly supersede one decision with another while preserving both nodes and their lineage.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"new_id\": {\"description\": \"Existing replacement decision id.\", \"minLength\": 1, \"type\": \"string\"}, \"old_id\": {\"description\": \"Existing decision id that is being superseded.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"old_id\", \"new_id\"], \"type\": \"object\"}, \"name\": \"decision_supersede\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Contest\"}, \"description\": \"Contest an active decision: it stops governing immediately, without deleting it or requiring a replacement.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"evidence_ref\": {\"description\": \"Source ref for evidence that contradicts the decision. Attaches an evidence node and a contradicts edge, which raises the gap_scan finding from `contested` to `contested_with_evidence`.\", \"minLength\": 1, \"type\": \"string\"}, \"id\": {\"description\": \"Existing active decision id to contest.\", \"minLength\": 1, \"type\": \"string\"}, \"reason\": {\"description\": \"Why the decision is being contested. This is what an adjudicator reads.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"id\", \"reason\"], \"type\": \"object\"}, \"name\": \"decision_contest\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Scope\"}, \"description\": \"Narrow two decisions to distinct scopes so both can remain active alongside one another.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"id_a\": {\"description\": \"First existing decision id.\", \"minLength\": 1, \"type\": \"string\"}, \"id_b\": {\"description\": \"Second existing decision id.\", \"minLength\": 1, \"type\": \"string\"}, \"scope_a\": {\"description\": \"Narrowed scope for the first decision.\", \"minLength\": 1, \"type\": \"string\"}, \"scope_b\": {\"description\": \"Narrowed scope for the second decision.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"id_a\", \"id_b\", \"scope_a\", \"scope_b\"], \"type\": \"object\"}, \"name\": \"decision_scope\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Decision History\"}, \"description\": \"Return the complete supersession lineage for a decision, ordered oldest to newest.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"id\": {\"description\": \"Existing decision id anywhere in the supersession lineage.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"id\"], \"type\": \"object\"}, \"name\": \"decision_history\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Get\"}, \"description\": \"Get a Decision Graph node and every node connected to it by an edge in either direction.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"id\": {\"description\": \"Decision Graph node id.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"id\"], \"type\": \"object\"}, \"name\": \"decision_get\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision List\"}, \"description\": \"List decisions in the local Decision Graph. Defaults to ACTIVE decisions only — the ones that currently govern. Contesting a decision is what stops it governing, so contested decisions are deliberately excluded from the default: pass status:'contested' to review disputes, or include_contested:true to see both. A decision you cannot find is not the same as a decision that does not exist.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"drafts_only\": {\"description\": \"When true, return active decisions awaiting a rationale or confirmation.\", \"type\": \"boolean\"}, \"include_candidates\": {\"description\": \"When true and status is omitted, include uncommitted imported candidates with active decisions.\", \"type\": \"boolean\"}, \"include_contested\": {\"description\": \"When true and status is omitted, include contested decisions alongside active ones. They do NOT govern — contesting is what removes a decision from force — but they are listed so an open dispute is discoverable rather than silently invisible. Read each decision's status field. Ignored when drafts_only is set: a contested decision is not a draft.\", \"type\": \"boolean\"}, \"status\": {\"description\": \"Decision status to list. Omit to list active decisions.\", \"enum\": [\"candidate\", \"active\", \"superseded\", \"contested\"], \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"decision_list\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Gap Scan\"}, \"description\": \"Scan the local Decision Graph for uncovered components, weak rationales, contested decisions, and derived staleness. Schedulers should call with digest_only:true and treat actionable:false as a no-op.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"digest_only\": {\"description\": \"Hands-off mode. When healthy, return only the quiet actionable:false digest.\", \"type\": \"boolean\"}, \"reference_systems\": {\"description\": \"Pattern or design-system ids from Raven's existing registries. Omit for a small built-in pattern set.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"use_cases\": {\"description\": \"Use-case descriptions whose component terms should be covered by active decisions.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}}, \"type\": \"object\"}, \"name\": \"gap_scan\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Decision Import\"}, \"description\": \"Mine local git history and decision-bearing Markdown into provenance-tagged Decision Graph extraction prompts. Imported history remains review-only until decision_commit.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"doc_globs\": {\"default\": [\"docs/adr/**/*.md\", \"docs/decisions/**/*.md\", \"docs/decision*/*.md\", \"DECISIONS.md\", \"DESIGN.md\", \"figma-comments-archive/**/*.md\"], \"description\": \"Repository-relative Markdown globs. Supports * and **.\", \"items\": {\"minLength\": 1, \"type\": \"string\"}, \"type\": \"array\"}, \"max_chunk_chars\": {\"default\": 24000, \"description\": \"Maximum material characters per extraction chunk. Oversized single items are continuation-split (cap 60000).\", \"maximum\": 60000, \"minimum\": 1, \"type\": \"integer\"}, \"max_commits\": {\"default\": 200, \"description\": \"Maximum git commits to inspect (cap 1000).\", \"maximum\": 1000, \"minimum\": 1, \"type\": \"integer\"}, \"repo_path\": {\"description\": \"Local repository directory to inspect.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"repo_path\"], \"type\": \"object\"}, \"name\": \"decision_import\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Ingest Transcript\"}, \"description\": \"Store a transcript source and return an extraction prompt for the calling agent's model. Raven makes no model or network call.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"source_meta\": {\"additionalProperties\": false, \"description\": \"Metadata identifying the transcript source.\", \"properties\": {\"kind\": {\"description\": \"Source kind. Defaults to meeting.\", \"type\": \"string\"}, \"ref\": {\"description\": \"Source reference, such as a meeting title, URL, or date.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"ref\"], \"type\": \"object\"}, \"text\": {\"description\": \"Transcript text to extract design decisions from.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"text\", \"source_meta\"], \"type\": \"object\"}, \"name\": \"ingest_transcript\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Ingest Transcript Results\"}, \"description\": \"Parse model-produced extraction JSON into reviewable Decision Graph candidates linked to their source. Nothing is auto-confirmed.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"extraction_json\": {\"description\": \"Raw JSON returned by the calling agent's model.\", \"minLength\": 1, \"type\": \"string\"}, \"source_id\": {\"description\": \"Existing transcript Source node id.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"source_id\", \"extraction_json\"], \"type\": \"object\"}, \"name\": \"ingest_transcript_results\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Create Taste Profile\"}, \"description\": \"Create (or overwrite) a named taste profile — a portable design-judgment ruleset + precedent corpus persisted locally under ~/.raven/taste/<name>.json (override dir with RAVEN_TASTE_HOME). Pass explicit rules[] (rule_id, clause_text, category, severity_default block|warn|nit, negative_prompt, owner taste|raven, delegate_to), and/or a DESIGN.md-style markdown doc to ingest (## headings = categories; '- ' bullets = rules; '(block)'/'(warn)'/'(nit)' severity markers; '(raven:<tool>)' delegates a rule to an existing Raven audit tool; '(scope:<surface>)' scopes a rule to one surface; 'Do NOT …' sentences become the rule's negative prompt). Ingest RULES-SHAPED docs only (actionable design constraints under category headings) — brand-story/mythology docs produce noise rules, not judgment. Local-first: nothing leaves the machine. Pass template:'portfolio'|'saas-marketing'|'app' for a cold start — seeds a small starter ruleset (color restraint, typography floor, spacing, voice, tap targets) BEFORE any calibration interview has run; template rules are added first, then any explicit rules/markdown you also pass are merged in on top. Still run get_taste_interview afterward — the template is a floor, not a substitute for calibrating to the actual person's taste.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"corpus\": {\"description\": \"Seed precedent records.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"artifact\": {\"type\": \"string\"}, \"right\": {\"type\": \"string\"}, \"severity\": {\"enum\": [\"block\", \"warn\", \"nit\"], \"type\": \"string\"}, \"verdict\": {\"enum\": [\"accept\", \"revise\", \"reject\"], \"type\": \"string\"}, \"violated_rule\": {\"type\": \"string\"}, \"wrong\": {\"type\": \"string\"}}, \"required\": [\"artifact\", \"verdict\", \"violated_rule\", \"wrong\", \"right\"], \"type\": \"object\"}, \"type\": \"array\"}, \"markdown\": {\"description\": \"DESIGN.md-style markdown to ingest as rules.\", \"type\": \"string\"}, \"name\": {\"description\": \"Profile name (becomes <name>.json; lowercase alnum/dash/underscore).\", \"minLength\": 1, \"type\": \"string\"}, \"rules\": {\"description\": \"Explicit rule objects.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"category\": {\"description\": \"color | typography | layout | spacing | voice | tokens | motion | …\", \"type\": \"string\"}, \"clause_text\": {\"description\": \"The rule stated as a positive clause.\", \"type\": \"string\"}, \"delegate_to\": {\"description\": \"Raven tool that owns the measurement (required when owner is raven).\", \"type\": \"string\"}, \"negative_prompt\": {\"description\": \"'Do NOT …' phrasing. A parenthesized comma-list becomes a deterministic banned-word scan ONLY when its sentence is about vocabulary (use/say/write/words/verbs/phrases…), e.g. 'Do NOT use persuasion verbs (proven, shipped, unlock)'. Descriptive example lists ('project facts (counts, scope)') are ignored.\", \"type\": \"string\"}, \"owner\": {\"description\": \"raven = measured by an existing Raven audit tool named in delegate_to.\", \"enum\": [\"taste\", \"raven\"], \"type\": \"string\"}, \"rule_id\": {\"description\": \"Stable unique id, e.g. COLOR-no-gradient.\", \"type\": \"string\"}, \"scope\": {\"description\": \"Surface this rule applies to (e.g. portfolio-monochrome). Omit or 'global' = applies everywhere. Scoped rules activate when audit_taste is called with a matching surface, are skipped on a non-matching one, and warn (never block) when surface is omitted.\", \"type\": \"string\"}, \"severity_default\": {\"enum\": [\"block\", \"warn\", \"nit\"], \"type\": \"string\"}}, \"required\": [\"rule_id\", \"clause_text\", \"category\", \"severity_default\"], \"type\": \"object\"}, \"type\": \"array\"}, \"template\": {\"description\": \"Seed a small cold-start ruleset for this surface family before any explicit rules/markdown are merged in. Omit for a blank profile.\", \"enum\": [\"portfolio\", \"saas-marketing\", \"app\"], \"type\": \"string\"}}, \"required\": [\"name\"], \"type\": \"object\"}, \"name\": \"create_taste_profile\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Taste Profile\"}, \"description\": \"Load a locally stored taste profile by name — returns its full rule catalog, precedent corpus, and per-project surface bindings. NOT a calibration step: bindings are per-surface and do not transfer — for design work on a project without a binding, call get_taste_interview and ask the user its questions before committing any direction.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"name\": {\"description\": \"Profile name.\", \"minLength\": 1, \"type\": \"string\"}}, \"required\": [\"name\"], \"type\": \"object\"}, \"name\": \"get_taste_profile\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Get Taste Interview\"}, \"description\": \"START HERE on a NEW project: returns a deterministic calibration interview. By default (depth:'first_run') it is COMPRESSED to just 5 core questions — identity, genesis (what already exists for the project — a brand, a design system, brand assets — routing whatever is missing to generation: mood board approval stop, then generate_design_system save:true, then init_design_md), aesthetic, voice, matchers — so a first-time kickoff is fast; every other question (references, the remaining ten design dimensions, any learned dimensions, rule exceptions, and the open-ended special question) is still returned under `more_questions` for the agent to offer as optional deeper calibration. Pass depth:'full' to get everything at once as a single flat `questions` list (the eleven design dimensions — typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries — each grounded in what the profile already enforces and most carrying multiple-choice options; the libraries question names specialty tech in plain outcome language and states the default build target for sites: a Next.js app, unless the user prefers otherwise). The voice question always renders the same message in three registers (formal-technical / warm-conversational / punchy-editorial) so the user picks by ear, not by adjective — asked even when the profile has zero voice rules. Every question carries skippable + priority ('core'|'extended'); only identity is required. A 'references' question (offered in more_questions on first_run) invites example URLs/screenshots/files, each interviewed with follow-ups about what specifically draws the person, folded into the matching design_notes. The full interview closes with an open-ended 'special' question (any texture, signature detail, motif, or easter egg nothing else asked about); once the person has other bound surfaces, it carries `suggestions` — the special touches they chose elsewhere. Ask the user the returned questions conversationally, then persist the answers with bind_taste_surface (dimension answers go in design_notes). Run this BEFORE the first audit_taste on any project that has no binding yet — audit results include a calibration_hint when calibration is missing. When a user dislikes generated/designed output on an ALREADY-calibrated project, re-run with mode:'refine' instead of starting over — dissatisfaction is a calibration signal, not a dead end: it requires an existing binding, then interviews what specifically fell short, offers to keep/tighten/replace each stored design_notes value, re-asks voice, and offers to log a reject precedent via label_finding. mode defaults to 'kickoff'.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"depth\": {\"description\": \"'first_run' (default) returns only the 5 core questions (identity, genesis, aesthetic, voice, matchers) plus a `more_questions` array with everything else for optional deeper calibration. 'full' returns every question flattened into `questions`, as before.\", \"enum\": [\"first_run\", \"full\"], \"type\": \"string\"}, \"mode\": {\"description\": \"'kickoff' (default) calibrates a project with no binding yet. 'refine' re-interviews an ALREADY-bound project after the user rejects generated/designed output — requires an existing binding (throws naming get_taste_interview kickoff otherwise) and asks what fell short, then per-dimension keep/tighten/replace, then voice, then an optional reject precedent.\", \"enum\": [\"kickoff\", \"refine\"], \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile name (see list_taste_profiles).\", \"minLength\": 1, \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier the binding will be saved under, e.g. 'raven-mcp' or 'portfolio'. Include it so the interview can show any existing binding.\", \"type\": \"string\"}}, \"required\": [\"profile\"], \"type\": \"object\"}, \"name\": \"get_taste_interview\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": true, \"readOnlyHint\": false, \"title\": \"Bind Taste Surface\"}, \"description\": \"Persist a project's surface calibration for a taste profile — the answers from get_taste_interview. A binding records: the surface string scoped rules match against (e.g. 'product-site'), URL hosts that identify the project in url-mode audits, per-rule severity overrides (block|warn|nit|off — 'off' silences a rule on this surface), an optional voice/tone note, per-dimension design_notes (typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries, special — the interview's design:* answers), and a first-class `references` array — the example sites the person pointed to. References are NOT lossy prose: each url is captured live and its PageTraits (scheme, luminance, animation/scroll motion, text density) are stored on the binding, then design_notes are consistency-checked against what the references ACTUALLY are. A 'dark, cinematic' color note against two references that both render light comes back as a consistency_warning to surface to the user. Upserts by project name (~/.raven/taste/<profile>.surfaces.json); on a re-bind, omitted references/design_notes/voice_note/overrides/hosts carry forward and are reported in carried_forward, while explicit empty values clear them. When the design_notes name an expensive technique (three.js/WebGL, GSAP scroll choreography, anime.js staggered motion, glassmorphism, a branded loader, lottie, kinetic display type…), the result carries build_hints — a concrete recipe + canonical public example sources per technique, so the builder sees the HOW at kickoff, BEFORE building; an expensive note is not license to drop it. After binding, audit_taste with project:'<name>' or a bound url applies the calibration automatically: matching scoped rules run at full severity, non-matching ones are skipped, overrides re-tune the rest. ENFORCED: a bind whose RESULT has no calibration content (no design_notes/voice_note/references/overrides) is REFUSED — a brand-new surface bound bare (the fingerprint of a skipped kickoff interview) and a re-bind that explicitly clears every calibration field alike; a stored uncalibrated_ack carries forward on re-binds, so only a NEW clear-everything requires a fresh ack. Run get_taste_interview, ask the USER, and bind their answers; the uncalibrated_ack escape hatch exists only for a user who was interviewed and deliberately skipped every dimension.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"design_notes\": {\"additionalProperties\": {\"minLength\": 1, \"type\": \"string\"}, \"description\": \"Per-dimension design preferences from the interview's design:* questions — keys are short dimension names (typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries, special; trimmed + lowercased, must match ^[a-z][a-z0-9_-]{0,31}$ after normalization, no two keys may collide), values are the user's non-empty answers. Echoed as design_notes in every audit so generation is shaped by them, and treated as ACCEPTANCE CRITERIA a build must visibly satisfy.\", \"type\": \"object\"}, \"hosts\": {\"description\": \"URL hostnames that identify this project (e.g. ravenmcp.ai) — matched in url-mode audits, subdomains included.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"overrides\": {\"description\": \"Per-rule re-tuning for this surface (e.g. relax a voice rule to nit on a product site).\", \"items\": {\"additionalProperties\": false, \"properties\": {\"rule_id\": {\"description\": \"Must exist in the profile.\", \"type\": \"string\"}, \"severity\": {\"description\": \"Severity on this surface; off = rule never runs here.\", \"enum\": [\"block\", \"warn\", \"nit\", \"off\"], \"type\": \"string\"}}, \"required\": [\"rule_id\", \"severity\"], \"type\": \"object\"}, \"type\": \"array\"}, \"profile\": {\"description\": \"Taste profile name.\", \"minLength\": 1, \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier, e.g. 'raven-mcp', 'portfolio'.\", \"minLength\": 1, \"type\": \"string\"}, \"references\": {\"description\": \"First-class reference examples the person pointed to. Each url is captured live (traits stored on the binding), and design_notes are consistency-checked against them — contradictions come back as consistency_warnings.\", \"items\": {\"additionalProperties\": false, \"properties\": {\"liked\": {\"description\": \"What specifically the person likes about this reference, mapped to a dimension.\", \"type\": \"string\"}, \"url\": {\"description\": \"Example site URL (http/https), or a local .png screenshot file path for mobile references. URLs are captured live; .png paths are pixel-analyzed (scheme/luminance) — either way traits are stored so they can be consistency-checked against the design_notes.\", \"type\": \"string\"}}, \"required\": [\"url\"], \"type\": \"object\"}, \"type\": \"array\"}, \"surface\": {\"description\": \"What this surface IS, in scope-matchable words: 'monochrome portfolio', 'product-site', 'developer docs'. Scoped rules activate when their scope tokens overlap this string.\", \"minLength\": 1, \"type\": \"string\"}, \"uncalibrated_ack\": {\"description\": \"ESCAPE HATCH — leave unset in the normal flow. Binding a BRAND-NEW surface with no calibration content (no design_notes/voice_note/references/overrides) is REFUSED, because that is the fingerprint of a skipped kickoff interview. Only if the user was genuinely interviewed and chose to skip every optional dimension, set this to a one-line note affirming that (e.g. 'user interviewed 2026-07-04, declined all dimension calibration'). It is recorded on the binding so the deliberate skip is auditable. Never set it to work around asking the user.\", \"type\": \"string\"}, \"voice_note\": {\"description\": \"Short tone guidance for this surface (e.g. 'Product register: benefits may be stated plainly; still no hype verbs'). Echoed as voice_note in audit results.\", \"type\": \"string\"}}, \"required\": [\"profile\", \"project\", \"surface\"], \"type\": \"object\"}, \"name\": \"bind_taste_surface\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Record Taste Decision\"}, \"description\": \"The Taste Engine's learning loop — record a taste, direction, or design decision the MOMENT it is made during real work (an accent chosen, a nav pattern rejected, a name direction picked, a type pairing approved), not just at interview time. Each record carries the project, a short dimension name (a standard one like color/navigation or a new category like iconography/sound), what was chosen in the user's words, the alternatives rejected, why, and a source: 'user-directed' (the user asked for it), 'user-approved' (the user accepted a proposal), or 'user-corrected' (the user overrode a generated choice — the highest-signal record). Recorded decisions evolve every future get_taste_interview kickoff: recurring choices return as suggested defaults on their dimension's question, and decision categories no standard question covers become NEW interview questions. Record liberally — every committed decision is calibration data.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"decision\": {\"description\": \"What was chosen, in the user's words — e.g. 'amber-phosphor accent, period-accurate not decorative'.\", \"minLength\": 1, \"type\": \"string\"}, \"dimension\": {\"description\": \"Short lowercase dimension name — a standard one (typography, spacing, color, layout, motion, imagery, entrance, loading, navigation, aesthetic, libraries) or a new category the standard set doesn't cover (iconography, sound, naming, …). New categories become new interview questions.\", \"minLength\": 1, \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile name (see list_taste_profiles).\", \"minLength\": 1, \"type\": \"string\"}, \"project\": {\"description\": \"Project the decision was made on.\", \"minLength\": 1, \"type\": \"string\"}, \"rejected\": {\"description\": \"Alternatives considered and passed over.\", \"items\": {\"type\": \"string\"}, \"type\": \"array\"}, \"source\": {\"description\": \"How the decision was made — defaults to 'user-directed'. 'user-corrected' (user overrode a generated choice) is the highest-signal record.\", \"enum\": [\"user-directed\", \"user-approved\", \"user-corrected\"], \"type\": \"string\"}, \"why\": {\"description\": \"The stated reason, if the user gave one.\", \"type\": \"string\"}}, \"required\": [\"profile\", \"project\", \"dimension\", \"decision\"], \"type\": \"object\"}, \"name\": \"record_taste_decision\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Taste Decisions\"}, \"description\": \"List the taste/direction/design decisions recorded for a profile (see record_taste_decision), optionally filtered by project or dimension — the ledger that evolves the kickoff interview.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"dimension\": {\"description\": \"Only decisions on this dimension.\", \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile name.\", \"minLength\": 1, \"type\": \"string\"}, \"project\": {\"description\": \"Only decisions made on this project.\", \"type\": \"string\"}}, \"required\": [\"profile\"], \"type\": \"object\"}, \"name\": \"list_taste_decisions\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Generate Taste Portrait\"}, \"description\": \"Render a bound Taste Engine surface as a self-contained designed HTML portrait. Pass project to render one binding, or omit project to render every binding plus a gallery index.html. Portraits are generated from the local taste store and should be verified with audit_taste against their own surface/project before sharing — pass document_kind:'portrait' on that audit: a portrait is a document ABOUT the surface, so design_notes (three.js scenes, branded loaders…) are not acceptance criteria for it; profile rules still bind in full.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"output_dir\": {\"description\": \"Directory where the generated HTML files should be written.\", \"minLength\": 1, \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile name.\", \"minLength\": 1, \"type\": \"string\"}, \"project\": {\"description\": \"Optional bound project name. Omit to render every surface binding in the profile plus a gallery index.\", \"type\": \"string\"}}, \"required\": [\"profile\", \"output_dir\"], \"type\": \"object\"}, \"name\": \"generate_taste_portrait\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Generate Mood Board\"}, \"description\": \"Compose a mood board from what the Taste Engine already holds for a bound project — the binding's design_notes as chips, its captured references, and pattern-library thumbnails captured from those same reference sites — written as one self-contained HTML file (plus a best-effort PNG of the board) under the taste home's moodboards/ directory, or output_dir. Pass image_paths to embed the user's OWN images too — a generated brand pack, product shots, mood images — shown as a 'Your assets' section (they are the user's material, so no third-party credit rides on them). Use it right after the kickoff interview binds a surface ('get a mood board going'), or pass mode:'example' to show a labeled sample board to a user who has never made one, to get their thinking started BEFORE the interview. The board invents nothing: note text stays text (never fabricated color swatches), the ground (light/dark) is measured from the captured references' scheme traits, and every embedded pattern carries its credit. It is an APPROVAL STOP: the result and the board's footer name generate_design_system — the taste engine's core output — as the next step once the user says the direction is right; this tool never runs it. mode:'board' requires an existing surface binding and throws naming get_taste_interview when there is none.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"image_paths\": {\"description\": \"Local file paths to the user's OWN images — a generated brand pack, product shots, mood images — embedded into the board as a 'Your assets' section (png/jpeg/gif/webp, sniffed from the bytes; unusable paths are skipped with a named warning, never silently). Use absolute paths: a relative path resolves against the server process's cwd (usually not your project), and ~ is not expanded. mode:'board' only; ignored with a warning for mode:'example'.\", \"items\": {\"minLength\": 1, \"type\": \"string\"}, \"type\": \"array\"}, \"mode\": {\"description\": \"'board' (default): compose the real board from the project's binding. 'example': write a clearly-labeled sample board that shows what a mood board is — use it to seed the user's thinking before calibration.\", \"enum\": [\"board\", \"example\"], \"type\": \"string\"}, \"output_dir\": {\"description\": \"Directory for the board files. Defaults to <taste home>/moodboards.\", \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile name (see list_taste_profiles).\", \"minLength\": 1, \"type\": \"string\"}, \"project\": {\"description\": \"Bound project name (see get_taste_interview / bind_taste_surface). Required for mode:'board'; ignored for mode:'example'.\", \"type\": \"string\"}}, \"required\": [\"profile\"], \"type\": \"object\"}, \"name\": \"generate_mood_board\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Taste Profiles\"}, \"description\": \"List locally stored taste profiles with rule/corpus counts and last-updated timestamps.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"properties\": {}, \"type\": \"object\"}, \"name\": \"list_taste_profiles\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": false, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Label Finding\"}, \"description\": \"Append a labeled precedent to a taste profile's corpus — the growth loop. Use when a human accepts/revises/rejects an audit_taste finding or labels a new wrong→right example. Append-only: existing records are never rewritten. accept-verdict precedents suppress matching findings in future audit_taste runs.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"artifact\": {\"description\": \"What was judged (path, URL, or short description).\", \"type\": \"string\"}, \"profile\": {\"description\": \"Profile name.\", \"minLength\": 1, \"type\": \"string\"}, \"right\": {\"description\": \"What right looks like.\", \"type\": \"string\"}, \"severity\": {\"description\": \"Severity the human assigns.\", \"enum\": [\"block\", \"warn\", \"nit\"], \"type\": \"string\"}, \"verdict\": {\"description\": \"accept = the flagged pattern is fine (suppresses future matches); revise/reject = confirmed wrong.\", \"enum\": [\"accept\", \"revise\", \"reject\"], \"type\": \"string\"}, \"violated_rule\": {\"description\": \"The rule_id the label concerns ('' if none). Must exist in the profile.\", \"type\": \"string\"}, \"wrong\": {\"description\": \"The wrong pattern — use a verbatim snippet so accept-suppression can match it.\", \"type\": \"string\"}}, \"required\": [\"profile\", \"artifact\", \"verdict\", \"violated_rule\", \"wrong\", \"right\"], \"type\": \"object\"}, \"name\": \"label_finding\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Audit Taste\"}, \"description\": \"Judge a target against a taste profile. Pass html (static page/CSS), text (a copy block), or url (rendered headless; also runs delegated WCAG-contrast/tap-target measurements for owner:raven rules). Pass source_text to deterministically verify that the target's visible text remains verbatim through a content port. owner:taste rules run deterministic detectors — gradients, glow/neon (large-blur colored shadows), second accent hue, banned-word lists from the rule's negative prompt; clauses with no deterministic detector are reported honestly under not_assessed instead of guessed. owner:raven rules route through Raven's existing audit engines (page checks, contrast, tap targets) and fold results in under the delegating rule_id. Every finding cites an existing rule_id + concrete evidence — the engine prefers silence over a speculative nit. accept-verdict corpus precedents suppress previously-approved patterns. When the resolved binding carries design_notes, audit_taste VERIFIES each note against the artifact instead of only echoing it: url mode measures the rendered page's traits (scheme/luminance, canvas+WebGL, animations, scroll effects, text density, fonts, heading scale, loader, backdrop-filter), html mode extracts what it can statically, and every note comes back in note_assessments as present/partial/missing/unverifiable with trait-number evidence — design_notes are ACCEPTANCE CRITERIA for a build, not mood words. Missing notes become fidelity_findings (NOTE-<key>, warn — block when a named library like three.js/gsap/lottie/anime.js or a branded loader is wholly absent), the target is compared against the binding's captured references (REF-* deltas on scheme, density, motion, type scale), and sparse-and-empty pages are flagged (TASTE-restraint-earned: sparseness must be earned by craft density, not achieved by deletion). fidelity_findings count toward the verdict. When a note names an expensive technique (three.js/WebGL, GSAP scroll choreography, anime.js staggered motion, glassmorphism, a branded loader, lottie, kinetic display type…), the result carries build_hints — a concrete recipe + canonical public example sources for that technique, so a failing audit hands the fix ammunition next to the missing finding; an expensive note is never license to drop it. Rules may carry a scope (e.g. portfolio-monochrome); pass surface to say what you're judging — scoped rules run at full severity on a matching surface, are skipped (reported under skipped_out_of_scope) on a non-matching one, and can warn but never block when surface is omitted. Better: pass project (or audit a bound url host) so a saved surface binding supplies the surface, per-rule overrides, and voice note automatically — on a NEW project with no binding, run get_taste_interview first (results carry a calibration_hint when calibration is missing). Verdict: BLOCK (any block finding) / WARN (any warn) / PASS.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"document_kind\": {\"description\": \"'artifact' (default): the target is a build OF the surface — design_notes bind it as acceptance criteria (note_assessments/fidelity_findings run). 'portrait': the target is a document ABOUT the surface (e.g. generate_taste_portrait output) — note-fidelity is skipped and the result announces it in note_fidelity_skipped. Profile rules run in full either way.\", \"enum\": [\"artifact\", \"portrait\"], \"type\": \"string\"}, \"html\": {\"description\": \"Full HTML/CSS of the page to judge.\", \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile name (see list_taste_profiles).\", \"minLength\": 1, \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier — resolves a saved surface binding (see get_taste_interview / bind_taste_surface) that supplies the surface and per-rule overrides automatically. url-mode audits also resolve bindings by hostname.\", \"type\": \"string\"}, \"source_text\": {\"description\": \"Original source copy for a deterministic word-token fidelity diff against the target's visible text.\", \"type\": \"string\"}, \"surface\": {\"description\": \"What surface is being judged (e.g. 'portfolio', 'product-site', 'deck') — activates/skips scope-tagged rules by token match. Omit if unsure: scoped rules then warn instead of block.\", \"type\": \"string\"}, \"text\": {\"description\": \"A copy/text block to judge (voice/banned-word rules).\", \"type\": \"string\"}, \"url\": {\"description\": \"Live URL — rendered headless with scroll-settle; enables delegated contrast/tap-target measurement.\", \"type\": \"string\"}}, \"required\": [\"profile\"], \"type\": \"object\"}, \"name\": \"audit_taste\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Talon Scan\"}, \"description\": \"Run Raven's deterministic detector engine over a page — no LLM, pure measurement. Covers color-system discipline (palette budget, near-duplicate hex, hue diversity), spacing-grid conformance (base-unit, scale count), type-scale/rhythm (size count, body line-height, measure, font-family budget), heading/landmark structure, motion-duration/easing sanity (flashing-animation risk, prefers-reduced-motion coverage), and orphan-stretch/horizontal-overflow geometry. Pass html, url (rendered headless), or pre-measured elements+viewport (the same DevTools-snippet shape audit_layout takes — required for the two geometry rules). Every finding cites the src/data/principles/*.json entry it derives from. Pass project (and profile) to resolve a saved taste surface binding (see bind_taste_surface) — a finding the binding silences via an 'off' override is still returned, flagged waived_by_taste:true, never dropped.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"elements\": {\"description\": \"Pre-measured element rects (DevTools-snippet shape from audit_layout) — enables the geometry rules (orphan-stretch, horizontal-overflow).\", \"items\": {\"additionalProperties\": false, \"properties\": {\"computed\": {\"additionalProperties\": false, \"properties\": {\"background\": {\"type\": \"string\"}, \"color\": {\"type\": \"string\"}, \"fontSize\": {\"type\": \"string\"}, \"gap\": {\"type\": \"string\"}, \"margin\": {\"type\": \"string\"}, \"padding\": {\"type\": \"string\"}}, \"type\": \"object\"}, \"rect\": {\"additionalProperties\": false, \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}, \"x\": {\"type\": \"number\"}, \"y\": {\"type\": \"number\"}}, \"required\": [\"x\", \"y\", \"w\", \"h\"], \"type\": \"object\"}, \"selector\": {\"type\": \"string\"}}, \"required\": [\"selector\", \"rect\"], \"type\": \"object\"}, \"type\": \"array\"}, \"html\": {\"description\": \"Full HTML/CSS of the page to scan.\", \"type\": \"string\"}, \"profile\": {\"description\": \"Taste profile name to resolve project's binding against (see list_taste_profiles). Only used when project or url is also given.\", \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier — resolves a saved surface binding (see bind_taste_surface) whose overrides can waive specific TAL-### rules. Requires profile.\", \"type\": \"string\"}, \"surface\": {\"description\": \"What surface is being scanned — activates/skips scope-tagged rules by token match. Omit if unsure.\", \"type\": \"string\"}, \"url\": {\"description\": \"Live URL — rendered headless with scroll-settle.\", \"type\": \"string\"}, \"viewport\": {\"additionalProperties\": false, \"description\": \"Viewport used for the horizontal-overflow geometry check.\", \"properties\": {\"h\": {\"type\": \"number\"}, \"w\": {\"type\": \"number\"}}, \"required\": [\"w\", \"h\"], \"type\": \"object\"}}, \"type\": \"object\"}, \"name\": \"talon_scan\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Talon Rules\"}, \"description\": \"Enumerate Raven's Talon detector rule corpus — id, category, severity, taste scope, and the src/data/principles/*.json entry each rule cites. No scan required; use this to show a client 'why' before or instead of running talon_scan.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"properties\": {}, \"type\": \"object\"}, \"name\": \"talon_rules\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Design Gauntlet\"}, \"description\": \"Answers 'why does my page look less polished than theirs?' with numbers instead of adjectives. Give it your page and a page you admire (vercel.com, linear.app, anything); both are rendered headless and their LIVE computed CSS is measured — never recalled from memory — across the nine things that decide perceived polish: surfaces, hairlines, text roles, letter spacing, accent, type scale, radii, elevation, rhythm (the first four dominate). You get back both sets of raw measurements, a per-dimension diff flagging where yours is worse, a concrete bar derived from the reference's own values (e.g. 'at most 4 surface colors — yours has 11'), a fix list split into mechanical find-and-replace vs decisions a human has to make, and one boolean, verdict.on_par. That boolean is the exit gate of the loop the response spells out: build, critique with fresh-context critics against renders, re-run this tool, and only call the work done when on_par is true. The reference is a standard, not a source — never copy its copy, marks, imagery or brand color.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"color_scheme\": {\"description\": \"prefers-color-scheme emulated for BOTH pages (sites that theme by system preference measure differently per scheme). Default light; it is reported on each measurement.\", \"enum\": [\"light\", \"dark\"], \"type\": \"string\"}, \"device_scale_factor\": {\"description\": \"Device pixel ratio for BOTH measurements — one value, so the hairline diff is never scale-mismatched. Default 1. Pass 2 to measure a page the way a retina display resolves it — it selects the retina branch of image-set()/srcset and min-resolution media queries, which can change the surfaces and type a page actually renders. It does NOT fix hairlines: border-width is rounded up to 1px by the engine at every scale (border-radius is not), so sub-pixel strokes stay unmeasurable and the borders dimension warns when a 1px entry is ambiguous. Range (0, 4].\", \"exclusiveMinimum\": 0, \"maximum\": 4, \"type\": \"number\"}, \"reference_url\": {\"description\": \"The benchmark page (e.g. https://linear.app) — measured the same way; its values derive the bar.\", \"type\": \"string\"}, \"subject_url\": {\"description\": \"The page being improved — rendered headless and measured live.\", \"type\": \"string\"}, \"viewport\": {\"additionalProperties\": false, \"description\": \"Viewport for both measurements. Default 1440x900.\", \"properties\": {\"height\": {\"type\": \"number\"}, \"width\": {\"type\": \"number\"}}, \"required\": [\"width\", \"height\"], \"type\": \"object\"}}, \"required\": [\"subject_url\", \"reference_url\"], \"type\": \"object\"}, \"name\": \"design_gauntlet\"}, {\"annotations\": {\"destructiveHint\": true, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": false, \"title\": \"Configure Design System Source\"}, \"description\": \"Save which local DESIGN.md file Raven should use for design-system inventory and comparison.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"aliases\": {\"additionalProperties\": {\"type\": \"string\"}, \"description\": \"Project component id to Raven canonical component id aliases\", \"type\": \"object\"}, \"design_file_path\": {\"description\": \"DESIGN.md path relative to the project directory; defaults to DESIGN.md\", \"type\": \"string\"}, \"platform\": {\"description\": \"Target platform: web-pointer, web-touch, ios, or android\", \"enum\": [\"web-pointer\", \"web-touch\", \"ios\", \"android\"], \"type\": \"string\"}, \"project_dir\": {\"description\": \"Project directory where .raven configuration is stored\", \"type\": \"string\"}, \"source_kind\": {\"const\": \"design-file\", \"description\": \"MVP source kind; only design-file is supported\", \"type\": \"string\"}}, \"required\": [\"project_dir\", \"source_kind\"], \"type\": \"object\"}, \"name\": \"configure_design_system_source\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Inventory Design System\"}, \"description\": \"Read component declarations and tokens from a local DESIGN.md file.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"design_file_path\": {\"description\": \"Direct path to DESIGN.md; overrides project configuration\", \"type\": \"string\"}, \"project_dir\": {\"description\": \"Project directory with a configured design-system source\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"inventory_design_system\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"Diff Design System\"}, \"description\": \"Diff a project's declared design system (DESIGN.md) against the Raven canonical baseline: reports missing components, missing interaction/accessibility states, missing variants, and raw-literal token drift, as a scored report with fix priorities.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"baseline\": {\"const\": \"raven-canonical\", \"description\": \"Baseline id; defaults to raven-canonical\", \"type\": \"string\"}, \"design_file_path\": {\"description\": \"Direct path to DESIGN.md; overrides project configuration\", \"type\": \"string\"}, \"platform\": {\"description\": \"Target platform; overrides project configuration\", \"enum\": [\"web-pointer\", \"web-touch\", \"ios\", \"android\"], \"type\": \"string\"}, \"project_dir\": {\"description\": \"Project directory with a configured design-system source\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"diff_design_system\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": false, \"readOnlyHint\": true, \"title\": \"List Design System Components\"}, \"description\": \"List the components and provenance in the Raven canonical baseline.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"baseline\": {\"const\": \"raven-canonical\", \"description\": \"Baseline id; defaults to raven-canonical\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"list_design_system_components\"}, {\"annotations\": {\"destructiveHint\": false, \"idempotentHint\": true, \"openWorldHint\": true, \"readOnlyHint\": true, \"title\": \"Audit\"}, \"description\": \"Run **all applicable** Raven audits for a target. Detects the surface (web page / iOS screen / React Native / code diff / video) and fans out to the right checks — contrast, tap targets, typography, layout, responsive, and taste for web; the iOS or RN set for native; parity/contract for diffs. **Use this instead of choosing individual audit_* tools.** Pass `project` to judge against bound taste.\", \"execution\": {\"taskSupport\": \"forbidden\"}, \"inputSchema\": {\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": {\"diff\": {\"description\": \"Unified diff or patch.\", \"type\": \"string\"}, \"html\": {\"description\": \"Static web HTML.\", \"type\": \"string\"}, \"intent\": {\"description\": \"Optional focus such as accessibility, contrast, content, copy, or pre-ship.\", \"type\": \"string\"}, \"nodes\": {\"description\": \"Pre-collected snapshot data for the applicable audits.\"}, \"profile\": {\"description\": \"Taste profile id for audit_taste.\", \"type\": \"string\"}, \"project\": {\"description\": \"Project identifier for taste binding and project-aware audits.\", \"type\": \"string\"}, \"screenshot\": {\"description\": \"Screenshot input for native/device audits.\", \"type\": \"string\"}, \"source\": {\"description\": \"iOS/SwiftUI or React Native source.\", \"type\": \"string\"}, \"surface\": {\"description\": \"Surface override; otherwise detected from the supplied target.\", \"enum\": [\"web\", \"ios\", \"react-native\", \"diff\", \"video\"], \"type\": \"string\"}, \"url\": {\"description\": \"Web page or video URL.\", \"type\": \"string\"}}, \"type\": \"object\"}, \"name\": \"audit\"}], \"tools_list_hashes\": [\"9d63b0b95914f858bf70c5a1ba96616895309c5a8278331380ea2e99b3f3bed5\"], \"wall_limit_seconds\": 45}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "83052d23955a24bca10090c9fc2bbe675eb5a7c9b89a55113a1443347ffa92e4",
      "argv.json": "9c0c29b9e6e4c1214e6ab74cd9e45574002bafe724754e4f50cbf456a32e330b",
      "complete.json": "e34cea4a6b684dc44f9fe9ae30b6dc64504cd2ebecc04abc449debad500606c4",
      "component-record.json": "bc29efd6fb8df4da7582b706ce98fe8dc1e62f727cb903d13b3a34a3da926e1e",
      "fixture.json": "ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",
      "harness/acquire.py": "67fe8484cb7028040f6b494de3702b02fcd544986a6bf738d14001b8ae2ae9cb",
      "harness/auto_witness.py": "ac7209875f7ad2d666bb58e6d90f9f6fe695eb3c00a40ff861ead8b8febc862d",
      "harness/mcp_driver.py": "b5996ec8e534b797c976dc83e44af0b52f64895fec5e72a4f9b32cb2f63cbbf7",
      "harness/record.py": "d34b444b8f6ccf5f79fae86dd02c2fc223f11e026cffa8090007ac5f9be85c82",
      "harness/runtime_proof.py": "b9f8d2405611de5894c6287631c30ade8e8e5013a547923fbd3034c76b0d2a71",
      "identity.json": "054f49daa8bf3e990386fa816c3870ec3ed13fbaf8485002a332f1bce5821fc9",
      "manifest.json": "7f371d7fb1afea091abc7a4e70726bf9990c3f65c20014733320545c02156a17",
      "mcp/report.json": "53c4c5b6735f7d4d406fe821445181cf05fe9e24315d8f04e1145b996f819821",
      "mcp/stderr.bin": "abf8598e900247486ff73a4406a6ca02b9636d2da7417e91f0109f98cf4597e0",
      "mcp/stdin.bin": "9ced9858b21f60691df654e649f586e91cfcaf60ed887c79c3df92f599166df6",
      "mcp/stdout.bin": "43f074b2b2ba1fad24a5a223f456e8a756cb8a62a09e083810263532fc7f4948",
      "runtime/inspect.json": "8aea5f5e35042b0d837c03d7717dc1780947f3a07317e95ea35612a9e3264f54"
    },
    "claims": [
      {
        "id": "acquired",
        "field": "summary",
        "text": "Acquired raven-mcp@2.6.0; tarball sha256 bb78ef65f4198817ec3106f8c973bcc6e329e41d8f187ed2b26111929f826db0.",
        "sources": [
          "LOCK.json"
        ]
      },
      {
        "id": "started",
        "field": "outcome",
        "text": "The server started offline in an isolated container (runtime/inspect.json).",
        "sources": [
          "runtime/inspect.json",
          "LOCK.json",
          "argv.json",
          "mcp/report.json",
          "mcp/stdout.bin"
        ]
      },
      {
        "id": "listed",
        "field": "rule_results.0",
        "text": "It answered tools/list with 111 tools named [\"get_principles\", \"get_pattern\", \"get_business_strategy\", \"evaluate_design\", \"search_knowledge\", \"get_checklist\", \"get_d4d_framework\", \"list_design_systems\", \"get_design_system\", \"read_design_md\", \"review_diff\", \"polish_diff\", \"init_design_md\", \"update_design_md\", \"start_grab_session\", \"get_grabbed_elements\", \"capture_reference\", \"search_references\", \"forget_references\", \"map_reference_to_tokens\", \"stop_grab_session\", \"get_page_template\", \"set_template_slot\", \"list_templates\", \"get_grab_layers\", \"move_grab_layer\", \"get_grab_operation\", \"compose_system\", \"audit_page\", \"score_page\", \"audit_asset_integrity\", \"audit_device_frame\", \"audit_contract\", \"audit_api_contract\", \"audit_parity\", \"audit_ios_a11y\", \"audit_responsive_visibility\", \"audit_contrast\", \"suggest_contrast_fix\", \"audit_url\", \"audit_content\", \"audit_typography\", \"audit_tap_targets\", \"get_brand_system\", \"generate_design_system\", \"audit_layout\", \"audit_swiftui\", \"audit_screen\", \"audit_ios_screen\", \"audit_ios_privacy\", \"audit_rn\", \"list_content_systems\", \"get_content_system\", \"get_content_principles\", \"get_content_pattern\", \"get_research_method\", \"get_metrics_framework\", \"get_service_pattern\", \"get_service_standard\", \"generate_service_blueprint\", \"get_brand_principles\", \"get_brand_trends\", \"list_creative_models\", \"list_creative_presets\", \"create_brand_profile\", \"get_brand_profile\", \"list_brand_profiles\", \"register_creative_asset\", \"create_character_profile\", \"create_generation_job\", \"get_generation_job\", \"list_generation_jobs\", \"plan_creative_campaign\", \"score_creative\", \"audit_consistency\", \"raven_reflect\", \"raven_register\", \"audit_video_playback\", \"decision_add\", \"decision_evidence\", \"decision_draft\", \"decision_commit\", \"decision_supersede\", \"decision_contest\", \"decision_scope\", \"decision_history\", \"decision_get\", \"decision_list\", \"gap_scan\", \"decision_import\", \"ingest_transcript\", \"ingest_transcript_results\", \"create_taste_profile\", \"get_taste_profile\", \"get_taste_interview\", \"bind_taste_surface\", \"record_taste_decision\", \"list_taste_decisions\", \"generate_taste_portrait\", \"generate_mood_board\", \"list_taste_profiles\", \"label_finding\", \"audit_taste\", \"talon_scan\", \"talon_rules\", \"design_gauntlet\", \"configure_design_system_source\", \"inventory_design_system\", \"diff_design_system\", \"list_design_system_components\", \"audit\"].",
        "sources": [
          "mcp/report.json",
          "mcp/stdout.bin"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-18",
    "reviewed_sha256": "7113804b4c81928aece302995d466b9dd62dc698ff0be06667b4d40d22e20bef",
    "gates": "ef60af482a5c3670f8c5ceff6ba1b8532fce89549c06d42ed96f34dcf69fdca3",
    "codex": "bd2d3ae76e2dc797581ef57e54e784b1a3e3ff3e490aee480fbf6273ca514626",
    "grok": "7a923e826a7accf621fd34a7daddec801b666ac2f833066f09129517f237a2a7",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
