[{"data":1,"prerenderedAt":1506},["ShallowReactive",2],{"docs-navigation":3,"docs:\u002Fdocs\u002Fnuxt\u002Fblob\u002Fquickstart":1032,"\u002Fdocs\u002Fnuxt\u002Fblob\u002Fquickstart:surround":1502},[4],{"title":5,"path":6,"children":7},"Docs","\u002Fdocs",[8,502,767],{"title":9,"path":10,"children":11},"Vite","\u002Fdocs\u002Fvite",[12,30,73,100,131,166,235,260,309,358,388,419,477],{"title":13,"path":14,"description":15,"icon":16,"children":17},"Getting Started","\u002Fdocs\u002Fvite\u002Fgetting-started","Learn the ViteHub package model, pick a starting path, and get to a working feature quickly.","i-lucide-rocket",[18,22,26],{"title":19,"path":20,"description":21},"Choose a Package","\u002Fdocs\u002Fvite\u002Fgetting-started\u002Fchoose-a-package","Pick the right ViteHub feature by the job you need to solve on the server.",{"title":23,"path":24,"description":25},"Entrypoints","\u002Fdocs\u002Fvite\u002Fgetting-started\u002Fentrypoints","Understand what belongs on the package root and what each framework-specific entrypoint owns.",{"title":27,"path":28,"description":29},"Architecture","\u002Fdocs\u002Fvite\u002Fgetting-started\u002Farchitecture","How ViteHub keeps one shared feature bridge across Vite, Nitro, and Nuxt.",{"title":31,"path":32,"description":33,"icon":34,"children":35},"Database","\u002Fdocs\u002Fvite\u002Fdatabase","Set up Drizzle or Prisma with `@vitehub\u002Fdb` and explicit ORM runtime imports.","i-lucide-database",[36,40,44,48,53,57,61,65,69],{"title":37,"path":38,"description":39},"Quickstart","\u002Fdocs\u002Fvite\u002Fdatabase\u002Fquickstart","Set up a first local Drizzle database with SQLite.",{"title":41,"path":42,"description":43},"Runtime API","\u002Fdocs\u002Fvite\u002Fdatabase\u002Fruntime-api","Review the `db` config surface and the explicit ORM runtime imports.",{"title":45,"path":46,"description":47},"When to use Database","\u002Fdocs\u002Fvite\u002Fdatabase\u002Fwhen-to-use","Decide when a relational database is the right primitive compared with KV, Blob, or other storage backends.",{"title":49,"path":50,"description":51,"group":52},"Drizzle","\u002Fdocs\u002Fvite\u002Fdatabase\u002Fdrizzle","Configure Drizzle with `@vitehub\u002Fdb\u002Fdrizzle`, schema discovery, and committed SQL migrations.","Guides",{"title":54,"path":55,"description":56,"group":52},"Prisma","\u002Fdocs\u002Fvite\u002Fdatabase\u002Fprisma","Configure Prisma with `@vitehub\u002Fdb\u002Fprisma`, generated client output, and native Prisma migrations.",{"title":58,"path":59,"description":60,"group":52},"Migrations","\u002Fdocs\u002Fvite\u002Fdatabase\u002Fmigrations","Understand when ViteHub applies committed Drizzle and Prisma migrations during development and build.",{"title":62,"path":63,"description":64,"group":52},"Platform notes","\u002Fdocs\u002Fvite\u002Fdatabase\u002Fplatform-notes","Review driver defaults, hosting behavior, and current runtime limits for Drizzle and Prisma.",{"title":66,"path":67,"description":68},"Troubleshooting","\u002Fdocs\u002Fvite\u002Fdatabase\u002Ftroubleshooting","Diagnose ORM config, runtime-import, and migration issues.",{"title":70,"path":71,"description":72},"Playground","\u002Fdocs\u002Fvite\u002Fdatabase\u002Fplayground","Inspect the existing Database playground app and the files that show the ORM integration flow.",{"title":74,"path":75,"description":76,"icon":77,"children":78},"KV","\u002Fdocs\u002Fvite\u002Fkv","Set up key-value storage with the same provider detection used by NuxtHub.","i-lucide-database-zap",[79,82,85,89,94,97],{"title":37,"path":80,"description":81},"\u002Fdocs\u002Fvite\u002Fkv\u002Fquickstart","Read and write a first key with the local filesystem driver.",{"title":41,"path":83,"description":84},"\u002Fdocs\u002Fvite\u002Fkv\u002Fruntime-api","Reference for the `kv` handle and the common KV config types.",{"title":86,"path":87,"description":88},"When to use KV","\u002Fdocs\u002Fvite\u002Fkv\u002Fwhen-to-use","Decide when KV is the right primitive compared with Cache, Blob, or a relational database.",{"title":90,"path":91,"description":92,"icon":93,"group":52},"Usage","\u002Fdocs\u002Fvite\u002Fkv\u002Fusage","Use the KV SDK to set, get, delete, clear, and list key-value pairs.","i-lucide-code",{"title":66,"path":95,"description":96},"\u002Fdocs\u002Fvite\u002Fkv\u002Ftroubleshooting","Diagnose driver selection and storage-behavior problems across the supported KV backends.",{"title":70,"path":98,"description":99},"\u002Fdocs\u002Fvite\u002Fkv\u002Fplayground","Inspect the existing KV playground app and the files that show the shared storage flow.",{"title":101,"path":102,"description":103,"icon":104,"children":105},"Blob","\u002Fdocs\u002Fvite\u002Fblob","Add blob storage for images, videos, documents, and other files with `@vitehub\u002Fblob`.","i-lucide-shapes",[106,109,112,116,121,125,128],{"title":37,"path":107,"description":108},"\u002Fdocs\u002Fvite\u002Fblob\u002Fquickstart","Store and serve a first file with the local filesystem driver.",{"title":41,"path":110,"description":111},"\u002Fdocs\u002Fvite\u002Fblob\u002Fruntime-api","Reference for `blob`, `ensureBlob()`, and the core Blob types.",{"title":113,"path":114,"description":115},"When to use Blob","\u002Fdocs\u002Fvite\u002Fblob\u002Fwhen-to-use","Decide when Blob is the right primitive compared with KV, Cache, or a custom storage layer.",{"title":117,"path":118,"description":119,"icon":120,"group":52},"Upload","\u002Fdocs\u002Fvite\u002Fblob\u002Fupload","Upload files with validation, simple form handlers, and multipart flows using `@vitehub\u002Fblob`.","i-lucide-upload",{"title":122,"path":123,"description":124,"icon":93,"group":52},"Blob SDK","\u002Fdocs\u002Fvite\u002Fblob\u002Fusage","Store, read, list, validate, serve, and delete files with `@vitehub\u002Fblob`.",{"title":66,"path":126,"description":127},"\u002Fdocs\u002Fvite\u002Fblob\u002Ftroubleshooting","Diagnose driver selection, upload, and file-serving problems.",{"title":70,"path":129,"description":130},"\u002Fdocs\u002Fvite\u002Fblob\u002Fplayground","Inspect the existing Blob playground app and the files that show the end-to-end runtime flow.",{"title":132,"path":133,"description":134,"icon":135,"children":136},"Vector","\u002Fdocs\u002Fvite\u002Fvector","Add provider-agnostic named vector indexes with similarity search.","i-lucide-scan-search",[137,140,143,147,153,158,163],{"title":37,"path":138,"description":139},"\u002Fdocs\u002Fvite\u002Fvector\u002Fquickstart","Set up a first vector index against a pgvector-backed Postgres database.",{"title":41,"path":141,"description":142},"\u002Fdocs\u002Fvite\u002Fvector\u002Fruntime-api","Reference for defineVector, getVector, handle methods, and the core Vector types.",{"title":144,"path":145,"description":146},"When to use Vector","\u002Fdocs\u002Fvite\u002Fvector\u002Fwhen-to-use","Decide when Vector is the right primitive compared with relational queries, keyword search, or other storage backends.",{"title":148,"path":149,"description":150,"icon":151,"group":152},"Cloudflare","\u002Fdocs\u002Fvite\u002Fvector\u002Fcloudflare","Configure @vitehub\u002Fvector against Cloudflare Vectorize.","i-simple-icons-cloudflare","Providers",{"title":154,"path":155,"description":156,"icon":157,"group":152},"Postgres","\u002Fdocs\u002Fvite\u002Fvector\u002Fpostgres","Configure @vitehub\u002Fvector against a pgvector-backed Postgres database.","i-simple-icons-postgresql",{"title":159,"path":160,"description":161,"icon":162,"group":152},"Upstash","\u002Fdocs\u002Fvite\u002Fvector\u002Fupstash","Configure @vitehub\u002Fvector against the Upstash Vector HTTP API.","i-simple-icons-upstash",{"title":66,"path":164,"description":165},"\u002Fdocs\u002Fvite\u002Fvector\u002Ftroubleshooting","Diagnose provider, schema, and query issues across the supported vector backends.",{"title":167,"path":168,"description":169,"icon":170,"children":171},"Queue","\u002Fdocs\u002Fvite\u002Fqueue","Send background jobs through Platformatic, Cloudflare, Vercel, Netlify, Upstash QStash, or Memory.","i-lucide-layers",[172,175,178,182,186,190,194,198,202,207,210,215,220,224,229,232],{"title":37,"path":173,"description":174},"\u002Fdocs\u002Fvite\u002Fqueue\u002Fquickstart","Get a first queue working locally with the memory provider.",{"title":41,"path":176,"description":177},"\u002Fdocs\u002Fvite\u002Fqueue\u002Fruntime-api","Reference for defineQueue, runQueue, deferQueue, getQueue, and the core Queue types.",{"title":179,"path":180,"description":181},"When to use Queue","\u002Fdocs\u002Fvite\u002Fqueue\u002Fwhen-to-use","Decide when Queue is the right primitive compared with Workflow, Cron, or inline request handling.",{"title":183,"path":184,"description":185,"group":52},"Send a job","\u002Fdocs\u002Fvite\u002Fqueue\u002Fguides\u002Fsend-a-job","Enqueue payloads with runQueue and the common delivery patterns.",{"title":187,"path":188,"description":189,"group":52},"Defer after response","\u002Fdocs\u002Fvite\u002Fqueue\u002Fguides\u002Fdefer-after-response","Use deferQueue when the queue send should happen after the current response is committed.",{"title":191,"path":192,"description":193,"group":52},"Validate payloads","\u002Fdocs\u002Fvite\u002Fqueue\u002Fguides\u002Fvalidate-payloads","Validate payloads before enqueueing and before running queue handlers.",{"title":195,"path":196,"description":197,"group":52},"Local development","\u002Fdocs\u002Fvite\u002Fqueue\u002Fguides\u002Flocal-development","Use the memory provider for local development and understand how auto-selection works.",{"title":199,"path":200,"description":201,"group":52},"Native handles","\u002Fdocs\u002Fvite\u002Fqueue\u002Fguides\u002Fnative-handles","Know when to use getQueue and provider-native methods instead of the portable runtime API.",{"title":203,"path":204,"description":205,"icon":206,"group":152},"Platformatic","\u002Fdocs\u002Fvite\u002Fqueue\u002Fproviders\u002Fplatformatic","Configure Platformatic Job Queue with local or self-hosted workers.","i-brand-platformatic",{"title":148,"path":208,"description":209,"icon":151,"group":152},"\u002Fdocs\u002Fvite\u002Fqueue\u002Fproviders\u002Fcloudflare","Configure Cloudflare Queues and process named queues in Workers.",{"title":211,"path":212,"description":213,"icon":214,"group":152},"Vercel","\u002Fdocs\u002Fvite\u002Fqueue\u002Fproviders\u002Fvercel","Configure Vercel Queue and send named jobs through Vercel.","i-simple-icons-vercel",{"title":216,"path":217,"description":218,"icon":219,"group":152},"Netlify","\u002Fdocs\u002Fvite\u002Fqueue\u002Fproviders\u002Fnetlify","Configure Netlify Async Workloads and run named queues on Netlify.","i-simple-icons-netlify",{"title":221,"path":222,"description":223,"icon":162,"group":152},"Upstash QStash","\u002Fdocs\u002Fvite\u002Fqueue\u002Fproviders\u002Fupstash-qstash","Configure Upstash QStash for queues and signed callback delivery.",{"title":225,"path":226,"description":227,"icon":228,"group":152},"Memory","\u002Fdocs\u002Fvite\u002Fqueue\u002Fproviders\u002Fmemory","Process queue jobs in-memory for local development and testing.","i-lucide-memory-stick",{"title":66,"path":230,"description":231},"\u002Fdocs\u002Fvite\u002Fqueue\u002Ftroubleshooting","Diagnose common Queue setup and runtime problems across local and hosted providers.",{"title":70,"path":233,"description":234},"\u002Fdocs\u002Fvite\u002Fqueue\u002Fplayground","Explore the existing Queue playground app and the files that show the end-to-end runtime flow.",{"title":236,"path":237,"description":238,"icon":239,"children":240},"Cache","\u002Fdocs\u002Fvite\u002Fcache","Configure Nitro cache storage for local development, Vercel, and Cloudflare deployments.","i-lucide-timer-reset",[241,244,247,251,254,257],{"title":37,"path":242,"description":243},"\u002Fdocs\u002Fvite\u002Fcache\u002Fquickstart","Cache a first route with the local filesystem driver.",{"title":41,"path":245,"description":246},"\u002Fdocs\u002Fvite\u002Fcache\u002Fruntime-api","Review the Cache config surface and the Nitro runtime APIs it enables.",{"title":248,"path":249,"description":250},"When to use Cache","\u002Fdocs\u002Fvite\u002Fcache\u002Fwhen-to-use","Decide when Cache is the right primitive compared with KV or other durable storage.",{"title":90,"path":252,"description":253,"icon":93,"group":52},"\u002Fdocs\u002Fvite\u002Fcache\u002Fusage","Cache routes and server functions with practical invalidation examples.",{"title":66,"path":255,"description":256},"\u002Fdocs\u002Fvite\u002Fcache\u002Ftroubleshooting","Diagnose driver selection, invalidation, and cache-mount problems.",{"title":70,"path":258,"description":259},"\u002Fdocs\u002Fvite\u002Fcache\u002Fplayground","Inspect the existing Cache playground app and the files that show the cache runtime flow.",{"title":261,"path":262,"description":263,"icon":264,"children":265},"Email","\u002Fdocs\u002Fvite\u002Femail","Render Markdown email files and send them through Resend, SendGrid, or Postmark.","i-lucide-mail",[266,269,272,276,281,286,291,296,301,306],{"title":37,"path":267,"description":268},"\u002Fdocs\u002Fvite\u002Femail\u002Fquickstart","Render and send a first email through the Resend provider.",{"title":41,"path":270,"description":271},"\u002Fdocs\u002Fvite\u002Femail\u002Fruntime-api","Reference for renderEmail, sendEmail, createEmailClient, and the core Email types.",{"title":273,"path":274,"description":275},"When to use Email","\u002Fdocs\u002Fvite\u002Femail\u002Fwhen-to-use","Decide when ViteHub Email is the right primitive compared with provider-native templates or custom delivery code.",{"title":277,"path":278,"description":279,"icon":280,"group":52},"Frontmatter","\u002Fdocs\u002Fvite\u002Femail\u002Ffrontmatter","Define subject lines, recipients, metadata, and delivery defaults directly in the Markdown email file.","i-lucide-file-text",{"title":282,"path":283,"description":284,"icon":285,"group":52},"Input Schemas","\u002Fdocs\u002Fvite\u002Femail\u002Finput-schemas","Add an embedded schema block when you want email input validation and stronger TypeScript inference.","i-brand-standard-schema",{"title":287,"path":288,"description":289,"icon":290,"group":52},"i18n","\u002Fdocs\u002Fvite\u002Femail\u002Fi18n","Localize Markdown emails with locale-specific template files and ICU message formatting.","i-lucide-languages",{"title":292,"path":293,"description":294,"icon":295,"group":152},"Resend","\u002Fdocs\u002Fvite\u002Femail\u002Fresend","Configure Resend for transactional delivery and native batch sending.","i-provider-resend",{"title":297,"path":298,"description":299,"icon":300,"group":152},"SendGrid","\u002Fdocs\u002Fvite\u002Femail\u002Fsendgrid","Configure SendGrid when you need advanced delivery controls and template support.","i-provider-sendgrid",{"title":302,"path":303,"description":304,"icon":305,"group":152},"Postmark","\u002Fdocs\u002Fvite\u002Femail\u002Fpostmark","Configure Postmark for transactional streams and template-first sends.","i-provider-postmark",{"title":66,"path":307,"description":308},"\u002Fdocs\u002Fvite\u002Femail\u002Ftroubleshooting","Diagnose discovery, rendering, validation, and delivery problems across the supported email providers.",{"title":310,"path":311,"description":312,"icon":313,"children":314},"Workflow","\u002Fdocs\u002Fvite\u002Fworkflow","Run durable workflows on Cloudflare, Netlify, Vercel, or OpenWorkflow.","i-lucide-workflow",[315,318,321,325,329,333,336,339,342,345,349,352,355],{"title":37,"path":316,"description":317},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Fquickstart","Get a first workflow running with the Vercel provider.",{"title":41,"path":319,"description":320},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Fruntime-api","Reference for defineWorkflow, createWorkflow, runWorkflow, deferWorkflow, getWorkflowRun, readValidatedPayload, and the core Workflow types.",{"title":322,"path":323,"description":324},"When to use Workflow","\u002Fdocs\u002Fvite\u002Fworkflow\u002Fwhen-to-use","Decide when Workflow is the right primitive compared with Queue, Cron, Sandbox, or inline execution.",{"title":326,"path":327,"description":328,"group":52},"Start a run","\u002Fdocs\u002Fvite\u002Fworkflow\u002Fguides\u002Fstart-a-run","Start a named workflow and return the new run id.",{"title":330,"path":331,"description":332,"group":52},"Check a run","\u002Fdocs\u002Fvite\u002Fworkflow\u002Fguides\u002Fcheck-a-run","Reattach to a workflow run later with getWorkflowRun.",{"title":187,"path":334,"description":335,"group":52},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Fguides\u002Fdefer-after-response","Start workflow work after the current response has already committed.",{"title":191,"path":337,"description":338,"group":52},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Fguides\u002Fvalidate-payloads","Validate and normalize payloads before you start a workflow run.",{"title":148,"path":340,"description":341,"icon":151},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Fproviders\u002Fcloudflare","Configure Cloudflare Workflows and inspect runs from your app.",{"title":211,"path":343,"description":344,"icon":214},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Fproviders\u002Fvercel","Configure Vercel Workflow and run durable workflows on Vercel.",{"title":346,"path":347,"description":348,"icon":313},"OpenWorkflow","\u002Fdocs\u002Fvite\u002Fworkflow\u002Fproviders\u002Fopenworkflow","Connect OpenWorkflow and use your own workflow backend behind the ViteHub API.",{"title":216,"path":350,"description":351,"icon":219},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Fproviders\u002Fnetlify","Configure Netlify Async Workloads and run discovered workflows on Netlify.",{"title":66,"path":353,"description":354},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Ftroubleshooting","Diagnose common Workflow setup and runtime problems across supported providers.",{"title":70,"path":356,"description":357},"\u002Fdocs\u002Fvite\u002Fworkflow\u002Fplayground","Explore the existing Workflow playground app and the files that show the end-to-end runtime flow.",{"title":359,"path":360,"description":361,"icon":362,"children":363},"Cron","\u002Fdocs\u002Fvite\u002Fcron","Schedule crons with Node, Cloudflare, or Vercel.","i-lucide-list-check",[364,367,370,374,379,382,385],{"title":37,"path":365,"description":366},"\u002Fdocs\u002Fvite\u002Fcron\u002Fquickstart","Run a first scheduled cron with the Node provider.",{"title":41,"path":368,"description":369},"\u002Fdocs\u002Fvite\u002Fcron\u002Fruntime-api","Reference for defineCron, createCron, runCron, validation helpers, and scheduler utilities.",{"title":371,"path":372,"description":373},"When to use Cron","\u002Fdocs\u002Fvite\u002Fcron\u002Fwhen-to-use","Decide when Cron is the right primitive compared with Queue, Workflow, or inline execution.",{"title":375,"path":376,"description":377,"icon":378,"group":152},"Node","\u002Fdocs\u002Fvite\u002Fcron\u002Fnode","Configure in-process scheduling for local crons and lightweight cron tasks.","i-simple-icons-nodedotjs",{"title":148,"path":380,"description":381,"icon":151,"group":152},"\u002Fdocs\u002Fvite\u002Fcron\u002Fcloudflare","Configure Cloudflare-triggered schedules for your crons.",{"title":211,"path":383,"description":384,"icon":214,"group":152},"\u002Fdocs\u002Fvite\u002Fcron\u002Fvercel","Generate Vercel cron config from discovered crons.",{"title":66,"path":386,"description":387},"\u002Fdocs\u002Fvite\u002Fcron\u002Ftroubleshooting","Diagnose discovery, schedule, and provider issues across the supported cron backends.",{"title":389,"path":390,"description":391,"icon":392,"children":393},"Browser","\u002Fdocs\u002Fvite\u002Fbrowser","Run named browser automations against Playwright, Browserbase, or Cloudflare Browser Rendering.","i-lucide-monitor-play",[394,397,400,404,407,412,416],{"title":37,"path":395,"description":396},"\u002Fdocs\u002Fvite\u002Fbrowser\u002Fquickstart","Run a first browser automation through the Playwright provider.",{"title":41,"path":398,"description":399},"\u002Fdocs\u002Fvite\u002Fbrowser\u002Fruntime-api","Reference for defineBrowser, createBrowser, runBrowser, getBrowser, and the core Browser types.",{"title":401,"path":402,"description":403},"When to use Browser","\u002Fdocs\u002Fvite\u002Fbrowser\u002Fwhen-to-use","Decide when Browser is the right primitive compared with provider-specific code, Sandbox, or inline automation.",{"title":148,"path":405,"description":406,"icon":151,"group":152},"\u002Fdocs\u002Fvite\u002Fbrowser\u002Fcloudflare","Configure Cloudflare Browser Rendering through the official `cloudflare` package.",{"title":408,"path":409,"description":410,"icon":411,"group":152},"Browserbase","\u002Fdocs\u002Fvite\u002Fbrowser\u002Fbrowserbase","Configure Browserbase for managed CDP sessions and session-aware browser calls.","i-lucide-orbit",{"title":413,"path":414,"description":415,"icon":392,"group":152},"Playwright","\u002Fdocs\u002Fvite\u002Fbrowser\u002Fplaywright","Configure remote Playwright browser sessions over a WebSocket endpoint.",{"title":66,"path":417,"description":418},"\u002Fdocs\u002Fvite\u002Fbrowser\u002Ftroubleshooting","Diagnose discovery, connection, and execution problems across the supported browser providers.",{"title":420,"path":421,"description":422,"icon":423,"children":424},"Sandbox","\u002Fdocs\u002Fvite\u002Fsandbox","Run isolated sandboxes on Cloudflare Durable Objects, Cloudflare Dynamic Workers, Vercel, Deno, Docker, or locally.","i-lucide-box",[425,428,431,435,439,442,446,449,453,456,461,466,471,474],{"title":37,"path":426,"description":427},"\u002Fdocs\u002Fvite\u002Fsandbox\u002Fquickstart","Get a first sandbox working locally with the local provider.",{"title":41,"path":429,"description":430},"\u002Fdocs\u002Fvite\u002Fsandbox\u002Fruntime-api","Reference for defineSandbox, createSandbox, runSandbox, readValidatedPayload, and the core Sandbox types.",{"title":432,"path":433,"description":434},"When to use Sandbox","\u002Fdocs\u002Fvite\u002Fsandbox\u002Fwhen-to-use","Decide when Sandbox is the right primitive compared with Queue, Workflow, or inline execution.",{"title":436,"path":437,"description":438,"group":52},"Run a sandbox","\u002Fdocs\u002Fvite\u002Fsandbox\u002Fguides\u002Frun-a-sandbox","Execute a named sandbox and handle the returned result safely.",{"title":191,"path":440,"description":441,"group":52},"\u002Fdocs\u002Fvite\u002Fsandbox\u002Fguides\u002Fvalidate-payloads","Validate and normalize payloads before you execute a sandbox.",{"title":443,"path":444,"description":445,"group":52},"Reuse a sandbox","\u002Fdocs\u002Fvite\u002Fsandbox\u002Fguides\u002Freuse-a-sandbox","Control sandbox identity with sandboxId when the provider supports sandbox reuse.",{"title":148,"path":447,"description":448,"icon":151},"\u002Fdocs\u002Fvite\u002Fsandbox\u002Fproviders\u002Fcloudflare","Configure Cloudflare Sandbox on top of Durable Objects.",{"title":450,"path":451,"description":452,"icon":151},"Cloudflare Dynamic","\u002Fdocs\u002Fvite\u002Fsandbox\u002Fproviders\u002Fcloudflare-dynamic","Configure Cloudflare Dynamic Workers with the Worker Loader API.",{"title":211,"path":454,"description":455,"icon":214},"\u002Fdocs\u002Fvite\u002Fsandbox\u002Fproviders\u002Fvercel","Configure Vercel Sandbox and run isolated sandboxes on Vercel.",{"title":457,"path":458,"description":459,"icon":460},"Deno","\u002Fdocs\u002Fvite\u002Fsandbox\u002Fproviders\u002Fdeno","Configure Deno Sandbox and run isolated sandboxes on Deno Deploy.","i-simple-icons-deno",{"title":462,"path":463,"description":464,"icon":465},"Docker","\u002Fdocs\u002Fvite\u002Fsandbox\u002Fproviders\u002Fdocker","Configure Docker Sandbox and run isolated sandboxes locally.","i-simple-icons-docker",{"title":467,"path":468,"description":469,"icon":470},"Local","\u002Fdocs\u002Fvite\u002Fsandbox\u002Fproviders\u002Flocal","Run sandboxes locally with OS-level isolation using platform primitives.","i-lucide-monitor",{"title":66,"path":472,"description":473},"\u002Fdocs\u002Fvite\u002Fsandbox\u002Ftroubleshooting","Diagnose common Sandbox setup and runtime problems across local and hosted providers.",{"title":70,"path":475,"description":476},"\u002Fdocs\u002Fvite\u002Fsandbox\u002Fplayground","Explore the existing Sandbox playground app and the files that show the end-to-end runtime flow.",{"title":478,"path":479,"description":480,"icon":481,"children":482},"Analytics","\u002Fdocs\u002Fvite\u002Fanalytics","Integrate explicit analytics backends with a small shared runtime API.","i-lucide-megaphone",[483,486,489,493,496,499],{"title":37,"path":484,"description":485},"\u002Fdocs\u002Fvite\u002Fanalytics\u002Fquickstart","Send a first analytics event through the Vercel provider.",{"title":41,"path":487,"description":488},"\u002Fdocs\u002Fvite\u002Fanalytics\u002Fruntime-api","Reference for defineTrack, track, page, identify, alias, group, reset, and getAnalytics.",{"title":490,"path":491,"description":492},"When to use Analytics","\u002Fdocs\u002Fvite\u002Fanalytics\u002Fwhen-to-use","Decide when Analytics is the right primitive compared with direct SDK calls or app-specific event logging.",{"title":211,"path":494,"description":495,"icon":214,"group":152},"\u002Fdocs\u002Fvite\u002Fanalytics\u002Fvercel","Configure Vercel Analytics through the official SDK and keep a small portable runtime API.",{"title":148,"path":497,"description":498,"icon":151,"group":152},"\u002Fdocs\u002Fvite\u002Fanalytics\u002Fcloudflare","Configure first-party analytics ingestion on Cloudflare and query a semantic event shape on top of Analytics Engine slots.",{"title":66,"path":500,"description":501},"\u002Fdocs\u002Fvite\u002Fanalytics\u002Ftroubleshooting","Diagnose discovery, provider, and ingestion problems across the supported analytics backends.",{"title":503,"path":504,"children":505},"Nitro","\u002Fdocs\u002Fnitro",[506,515,536,551,568,585,620,635,658,687,704,721,752],{"title":13,"path":507,"description":15,"icon":16,"children":508},"\u002Fdocs\u002Fnitro\u002Fgetting-started",[509,511,513],{"title":19,"path":510,"description":21},"\u002Fdocs\u002Fnitro\u002Fgetting-started\u002Fchoose-a-package",{"title":23,"path":512,"description":25},"\u002Fdocs\u002Fnitro\u002Fgetting-started\u002Fentrypoints",{"title":27,"path":514,"description":29},"\u002Fdocs\u002Fnitro\u002Fgetting-started\u002Farchitecture",{"title":31,"path":516,"description":33,"icon":34,"children":517},"\u002Fdocs\u002Fnitro\u002Fdatabase",[518,520,522,524,526,528,530,532,534],{"title":37,"path":519,"description":39},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Fquickstart",{"title":41,"path":521,"description":43},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Fruntime-api",{"title":45,"path":523,"description":47},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Fwhen-to-use",{"title":49,"path":525,"description":51,"group":52},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Fdrizzle",{"title":54,"path":527,"description":56,"group":52},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Fprisma",{"title":58,"path":529,"description":60,"group":52},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Fmigrations",{"title":62,"path":531,"description":64,"group":52},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Fplatform-notes",{"title":66,"path":533,"description":68},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Ftroubleshooting",{"title":70,"path":535,"description":72},"\u002Fdocs\u002Fnitro\u002Fdatabase\u002Fplayground",{"title":74,"path":537,"description":76,"icon":77,"children":538},"\u002Fdocs\u002Fnitro\u002Fkv",[539,541,543,545,547,549],{"title":37,"path":540,"description":81},"\u002Fdocs\u002Fnitro\u002Fkv\u002Fquickstart",{"title":41,"path":542,"description":84},"\u002Fdocs\u002Fnitro\u002Fkv\u002Fruntime-api",{"title":86,"path":544,"description":88},"\u002Fdocs\u002Fnitro\u002Fkv\u002Fwhen-to-use",{"title":90,"path":546,"description":92,"icon":93,"group":52},"\u002Fdocs\u002Fnitro\u002Fkv\u002Fusage",{"title":66,"path":548,"description":96},"\u002Fdocs\u002Fnitro\u002Fkv\u002Ftroubleshooting",{"title":70,"path":550,"description":99},"\u002Fdocs\u002Fnitro\u002Fkv\u002Fplayground",{"title":101,"path":552,"description":103,"icon":104,"children":553},"\u002Fdocs\u002Fnitro\u002Fblob",[554,556,558,560,562,564,566],{"title":37,"path":555,"description":108},"\u002Fdocs\u002Fnitro\u002Fblob\u002Fquickstart",{"title":41,"path":557,"description":111},"\u002Fdocs\u002Fnitro\u002Fblob\u002Fruntime-api",{"title":113,"path":559,"description":115},"\u002Fdocs\u002Fnitro\u002Fblob\u002Fwhen-to-use",{"title":117,"path":561,"description":119,"icon":120,"group":52},"\u002Fdocs\u002Fnitro\u002Fblob\u002Fupload",{"title":122,"path":563,"description":124,"icon":93,"group":52},"\u002Fdocs\u002Fnitro\u002Fblob\u002Fusage",{"title":66,"path":565,"description":127},"\u002Fdocs\u002Fnitro\u002Fblob\u002Ftroubleshooting",{"title":70,"path":567,"description":130},"\u002Fdocs\u002Fnitro\u002Fblob\u002Fplayground",{"title":132,"path":569,"description":134,"icon":135,"children":570},"\u002Fdocs\u002Fnitro\u002Fvector",[571,573,575,577,579,581,583],{"title":37,"path":572,"description":139},"\u002Fdocs\u002Fnitro\u002Fvector\u002Fquickstart",{"title":41,"path":574,"description":142},"\u002Fdocs\u002Fnitro\u002Fvector\u002Fruntime-api",{"title":144,"path":576,"description":146},"\u002Fdocs\u002Fnitro\u002Fvector\u002Fwhen-to-use",{"title":148,"path":578,"description":150,"icon":151,"group":152},"\u002Fdocs\u002Fnitro\u002Fvector\u002Fcloudflare",{"title":154,"path":580,"description":156,"icon":157,"group":152},"\u002Fdocs\u002Fnitro\u002Fvector\u002Fpostgres",{"title":159,"path":582,"description":161,"icon":162,"group":152},"\u002Fdocs\u002Fnitro\u002Fvector\u002Fupstash",{"title":66,"path":584,"description":165},"\u002Fdocs\u002Fnitro\u002Fvector\u002Ftroubleshooting",{"title":167,"path":586,"description":169,"icon":170,"children":587},"\u002Fdocs\u002Fnitro\u002Fqueue",[588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618],{"title":37,"path":589,"description":174},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fquickstart",{"title":41,"path":591,"description":177},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fruntime-api",{"title":179,"path":593,"description":181},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fwhen-to-use",{"title":183,"path":595,"description":185,"group":52},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fguides\u002Fsend-a-job",{"title":187,"path":597,"description":189,"group":52},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fguides\u002Fdefer-after-response",{"title":191,"path":599,"description":193,"group":52},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fguides\u002Fvalidate-payloads",{"title":195,"path":601,"description":197,"group":52},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fguides\u002Flocal-development",{"title":199,"path":603,"description":201,"group":52},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fguides\u002Fnative-handles",{"title":203,"path":605,"description":205,"icon":206,"group":152},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fproviders\u002Fplatformatic",{"title":148,"path":607,"description":209,"icon":151,"group":152},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fproviders\u002Fcloudflare",{"title":211,"path":609,"description":213,"icon":214,"group":152},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fproviders\u002Fvercel",{"title":216,"path":611,"description":218,"icon":219,"group":152},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fproviders\u002Fnetlify",{"title":221,"path":613,"description":223,"icon":162,"group":152},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fproviders\u002Fupstash-qstash",{"title":225,"path":615,"description":227,"icon":228,"group":152},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fproviders\u002Fmemory",{"title":66,"path":617,"description":231},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Ftroubleshooting",{"title":70,"path":619,"description":234},"\u002Fdocs\u002Fnitro\u002Fqueue\u002Fplayground",{"title":236,"path":621,"description":238,"icon":239,"children":622},"\u002Fdocs\u002Fnitro\u002Fcache",[623,625,627,629,631,633],{"title":37,"path":624,"description":243},"\u002Fdocs\u002Fnitro\u002Fcache\u002Fquickstart",{"title":41,"path":626,"description":246},"\u002Fdocs\u002Fnitro\u002Fcache\u002Fruntime-api",{"title":248,"path":628,"description":250},"\u002Fdocs\u002Fnitro\u002Fcache\u002Fwhen-to-use",{"title":90,"path":630,"description":253,"icon":93,"group":52},"\u002Fdocs\u002Fnitro\u002Fcache\u002Fusage",{"title":66,"path":632,"description":256},"\u002Fdocs\u002Fnitro\u002Fcache\u002Ftroubleshooting",{"title":70,"path":634,"description":259},"\u002Fdocs\u002Fnitro\u002Fcache\u002Fplayground",{"title":261,"path":636,"description":263,"icon":264,"children":637},"\u002Fdocs\u002Fnitro\u002Femail",[638,640,642,644,646,648,650,652,654,656],{"title":37,"path":639,"description":268},"\u002Fdocs\u002Fnitro\u002Femail\u002Fquickstart",{"title":41,"path":641,"description":271},"\u002Fdocs\u002Fnitro\u002Femail\u002Fruntime-api",{"title":273,"path":643,"description":275},"\u002Fdocs\u002Fnitro\u002Femail\u002Fwhen-to-use",{"title":277,"path":645,"description":279,"icon":280,"group":52},"\u002Fdocs\u002Fnitro\u002Femail\u002Ffrontmatter",{"title":282,"path":647,"description":284,"icon":285,"group":52},"\u002Fdocs\u002Fnitro\u002Femail\u002Finput-schemas",{"title":287,"path":649,"description":289,"icon":290,"group":52},"\u002Fdocs\u002Fnitro\u002Femail\u002Fi18n",{"title":292,"path":651,"description":294,"icon":295,"group":152},"\u002Fdocs\u002Fnitro\u002Femail\u002Fresend",{"title":297,"path":653,"description":299,"icon":300,"group":152},"\u002Fdocs\u002Fnitro\u002Femail\u002Fsendgrid",{"title":302,"path":655,"description":304,"icon":305,"group":152},"\u002Fdocs\u002Fnitro\u002Femail\u002Fpostmark",{"title":66,"path":657,"description":308},"\u002Fdocs\u002Fnitro\u002Femail\u002Ftroubleshooting",{"title":310,"path":659,"description":312,"icon":313,"children":660},"\u002Fdocs\u002Fnitro\u002Fworkflow",[661,663,665,667,669,671,673,675,677,679,681,683,685],{"title":37,"path":662,"description":317},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fquickstart",{"title":41,"path":664,"description":320},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fruntime-api",{"title":322,"path":666,"description":324},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fwhen-to-use",{"title":326,"path":668,"description":328,"group":52},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fguides\u002Fstart-a-run",{"title":330,"path":670,"description":332,"group":52},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fguides\u002Fcheck-a-run",{"title":187,"path":672,"description":335,"group":52},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fguides\u002Fdefer-after-response",{"title":191,"path":674,"description":338,"group":52},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fguides\u002Fvalidate-payloads",{"title":148,"path":676,"description":341,"icon":151},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fproviders\u002Fcloudflare",{"title":211,"path":678,"description":344,"icon":214},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fproviders\u002Fvercel",{"title":346,"path":680,"description":348,"icon":313},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fproviders\u002Fopenworkflow",{"title":216,"path":682,"description":351,"icon":219},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fproviders\u002Fnetlify",{"title":66,"path":684,"description":354},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Ftroubleshooting",{"title":70,"path":686,"description":357},"\u002Fdocs\u002Fnitro\u002Fworkflow\u002Fplayground",{"title":359,"path":688,"description":361,"icon":362,"children":689},"\u002Fdocs\u002Fnitro\u002Fcron",[690,692,694,696,698,700,702],{"title":37,"path":691,"description":366},"\u002Fdocs\u002Fnitro\u002Fcron\u002Fquickstart",{"title":41,"path":693,"description":369},"\u002Fdocs\u002Fnitro\u002Fcron\u002Fruntime-api",{"title":371,"path":695,"description":373},"\u002Fdocs\u002Fnitro\u002Fcron\u002Fwhen-to-use",{"title":375,"path":697,"description":377,"icon":378,"group":152},"\u002Fdocs\u002Fnitro\u002Fcron\u002Fnode",{"title":148,"path":699,"description":381,"icon":151,"group":152},"\u002Fdocs\u002Fnitro\u002Fcron\u002Fcloudflare",{"title":211,"path":701,"description":384,"icon":214,"group":152},"\u002Fdocs\u002Fnitro\u002Fcron\u002Fvercel",{"title":66,"path":703,"description":387},"\u002Fdocs\u002Fnitro\u002Fcron\u002Ftroubleshooting",{"title":389,"path":705,"description":391,"icon":392,"children":706},"\u002Fdocs\u002Fnitro\u002Fbrowser",[707,709,711,713,715,717,719],{"title":37,"path":708,"description":396},"\u002Fdocs\u002Fnitro\u002Fbrowser\u002Fquickstart",{"title":41,"path":710,"description":399},"\u002Fdocs\u002Fnitro\u002Fbrowser\u002Fruntime-api",{"title":401,"path":712,"description":403},"\u002Fdocs\u002Fnitro\u002Fbrowser\u002Fwhen-to-use",{"title":148,"path":714,"description":406,"icon":151,"group":152},"\u002Fdocs\u002Fnitro\u002Fbrowser\u002Fcloudflare",{"title":408,"path":716,"description":410,"icon":411,"group":152},"\u002Fdocs\u002Fnitro\u002Fbrowser\u002Fbrowserbase",{"title":413,"path":718,"description":415,"icon":392,"group":152},"\u002Fdocs\u002Fnitro\u002Fbrowser\u002Fplaywright",{"title":66,"path":720,"description":418},"\u002Fdocs\u002Fnitro\u002Fbrowser\u002Ftroubleshooting",{"title":420,"path":722,"description":422,"icon":423,"children":723},"\u002Fdocs\u002Fnitro\u002Fsandbox",[724,726,728,730,732,734,736,738,740,742,744,746,748,750],{"title":37,"path":725,"description":427},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fquickstart",{"title":41,"path":727,"description":430},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fruntime-api",{"title":432,"path":729,"description":434},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fwhen-to-use",{"title":436,"path":731,"description":438,"group":52},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fguides\u002Frun-a-sandbox",{"title":191,"path":733,"description":441,"group":52},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fguides\u002Fvalidate-payloads",{"title":443,"path":735,"description":445,"group":52},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fguides\u002Freuse-a-sandbox",{"title":148,"path":737,"description":448,"icon":151},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fproviders\u002Fcloudflare",{"title":450,"path":739,"description":452,"icon":151},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fproviders\u002Fcloudflare-dynamic",{"title":211,"path":741,"description":455,"icon":214},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fproviders\u002Fvercel",{"title":457,"path":743,"description":459,"icon":460},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fproviders\u002Fdeno",{"title":462,"path":745,"description":464,"icon":465},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fproviders\u002Fdocker",{"title":467,"path":747,"description":469,"icon":470},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fproviders\u002Flocal",{"title":66,"path":749,"description":473},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Ftroubleshooting",{"title":70,"path":751,"description":476},"\u002Fdocs\u002Fnitro\u002Fsandbox\u002Fplayground",{"title":478,"path":753,"description":480,"icon":481,"children":754},"\u002Fdocs\u002Fnitro\u002Fanalytics",[755,757,759,761,763,765],{"title":37,"path":756,"description":485},"\u002Fdocs\u002Fnitro\u002Fanalytics\u002Fquickstart",{"title":41,"path":758,"description":488},"\u002Fdocs\u002Fnitro\u002Fanalytics\u002Fruntime-api",{"title":490,"path":760,"description":492},"\u002Fdocs\u002Fnitro\u002Fanalytics\u002Fwhen-to-use",{"title":211,"path":762,"description":495,"icon":214,"group":152},"\u002Fdocs\u002Fnitro\u002Fanalytics\u002Fvercel",{"title":148,"path":764,"description":498,"icon":151,"group":152},"\u002Fdocs\u002Fnitro\u002Fanalytics\u002Fcloudflare",{"title":66,"path":766,"description":501},"\u002Fdocs\u002Fnitro\u002Fanalytics\u002Ftroubleshooting",{"title":768,"path":769,"children":770},"Nuxt","\u002Fdocs\u002Fnuxt",[771,780,801,816,833,850,885,900,923,952,969,986,1017],{"title":13,"path":772,"description":15,"icon":16,"children":773},"\u002Fdocs\u002Fnuxt\u002Fgetting-started",[774,776,778],{"title":19,"path":775,"description":21},"\u002Fdocs\u002Fnuxt\u002Fgetting-started\u002Fchoose-a-package",{"title":23,"path":777,"description":25},"\u002Fdocs\u002Fnuxt\u002Fgetting-started\u002Fentrypoints",{"title":27,"path":779,"description":29},"\u002Fdocs\u002Fnuxt\u002Fgetting-started\u002Farchitecture",{"title":31,"path":781,"description":33,"icon":34,"children":782},"\u002Fdocs\u002Fnuxt\u002Fdatabase",[783,785,787,789,791,793,795,797,799],{"title":37,"path":784,"description":39},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Fquickstart",{"title":41,"path":786,"description":43},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Fruntime-api",{"title":45,"path":788,"description":47},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Fwhen-to-use",{"title":49,"path":790,"description":51,"group":52},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Fdrizzle",{"title":54,"path":792,"description":56,"group":52},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Fprisma",{"title":58,"path":794,"description":60,"group":52},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Fmigrations",{"title":62,"path":796,"description":64,"group":52},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Fplatform-notes",{"title":66,"path":798,"description":68},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Ftroubleshooting",{"title":70,"path":800,"description":72},"\u002Fdocs\u002Fnuxt\u002Fdatabase\u002Fplayground",{"title":74,"path":802,"description":76,"icon":77,"children":803},"\u002Fdocs\u002Fnuxt\u002Fkv",[804,806,808,810,812,814],{"title":37,"path":805,"description":81},"\u002Fdocs\u002Fnuxt\u002Fkv\u002Fquickstart",{"title":41,"path":807,"description":84},"\u002Fdocs\u002Fnuxt\u002Fkv\u002Fruntime-api",{"title":86,"path":809,"description":88},"\u002Fdocs\u002Fnuxt\u002Fkv\u002Fwhen-to-use",{"title":90,"path":811,"description":92,"icon":93,"group":52},"\u002Fdocs\u002Fnuxt\u002Fkv\u002Fusage",{"title":66,"path":813,"description":96},"\u002Fdocs\u002Fnuxt\u002Fkv\u002Ftroubleshooting",{"title":70,"path":815,"description":99},"\u002Fdocs\u002Fnuxt\u002Fkv\u002Fplayground",{"title":101,"path":817,"description":103,"icon":104,"children":818},"\u002Fdocs\u002Fnuxt\u002Fblob",[819,821,823,825,827,829,831],{"title":37,"path":820,"description":108},"\u002Fdocs\u002Fnuxt\u002Fblob\u002Fquickstart",{"title":41,"path":822,"description":111},"\u002Fdocs\u002Fnuxt\u002Fblob\u002Fruntime-api",{"title":113,"path":824,"description":115},"\u002Fdocs\u002Fnuxt\u002Fblob\u002Fwhen-to-use",{"title":117,"path":826,"description":119,"icon":120,"group":52},"\u002Fdocs\u002Fnuxt\u002Fblob\u002Fupload",{"title":122,"path":828,"description":124,"icon":93,"group":52},"\u002Fdocs\u002Fnuxt\u002Fblob\u002Fusage",{"title":66,"path":830,"description":127},"\u002Fdocs\u002Fnuxt\u002Fblob\u002Ftroubleshooting",{"title":70,"path":832,"description":130},"\u002Fdocs\u002Fnuxt\u002Fblob\u002Fplayground",{"title":132,"path":834,"description":134,"icon":135,"children":835},"\u002Fdocs\u002Fnuxt\u002Fvector",[836,838,840,842,844,846,848],{"title":37,"path":837,"description":139},"\u002Fdocs\u002Fnuxt\u002Fvector\u002Fquickstart",{"title":41,"path":839,"description":142},"\u002Fdocs\u002Fnuxt\u002Fvector\u002Fruntime-api",{"title":144,"path":841,"description":146},"\u002Fdocs\u002Fnuxt\u002Fvector\u002Fwhen-to-use",{"title":148,"path":843,"description":150,"icon":151,"group":152},"\u002Fdocs\u002Fnuxt\u002Fvector\u002Fcloudflare",{"title":154,"path":845,"description":156,"icon":157,"group":152},"\u002Fdocs\u002Fnuxt\u002Fvector\u002Fpostgres",{"title":159,"path":847,"description":161,"icon":162,"group":152},"\u002Fdocs\u002Fnuxt\u002Fvector\u002Fupstash",{"title":66,"path":849,"description":165},"\u002Fdocs\u002Fnuxt\u002Fvector\u002Ftroubleshooting",{"title":167,"path":851,"description":169,"icon":170,"children":852},"\u002Fdocs\u002Fnuxt\u002Fqueue",[853,855,857,859,861,863,865,867,869,871,873,875,877,879,881,883],{"title":37,"path":854,"description":174},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fquickstart",{"title":41,"path":856,"description":177},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fruntime-api",{"title":179,"path":858,"description":181},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fwhen-to-use",{"title":183,"path":860,"description":185,"group":52},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fguides\u002Fsend-a-job",{"title":187,"path":862,"description":189,"group":52},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fguides\u002Fdefer-after-response",{"title":191,"path":864,"description":193,"group":52},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fguides\u002Fvalidate-payloads",{"title":195,"path":866,"description":197,"group":52},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fguides\u002Flocal-development",{"title":199,"path":868,"description":201,"group":52},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fguides\u002Fnative-handles",{"title":203,"path":870,"description":205,"icon":206,"group":152},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fproviders\u002Fplatformatic",{"title":148,"path":872,"description":209,"icon":151,"group":152},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fproviders\u002Fcloudflare",{"title":211,"path":874,"description":213,"icon":214,"group":152},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fproviders\u002Fvercel",{"title":216,"path":876,"description":218,"icon":219,"group":152},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fproviders\u002Fnetlify",{"title":221,"path":878,"description":223,"icon":162,"group":152},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fproviders\u002Fupstash-qstash",{"title":225,"path":880,"description":227,"icon":228,"group":152},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fproviders\u002Fmemory",{"title":66,"path":882,"description":231},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Ftroubleshooting",{"title":70,"path":884,"description":234},"\u002Fdocs\u002Fnuxt\u002Fqueue\u002Fplayground",{"title":236,"path":886,"description":238,"icon":239,"children":887},"\u002Fdocs\u002Fnuxt\u002Fcache",[888,890,892,894,896,898],{"title":37,"path":889,"description":243},"\u002Fdocs\u002Fnuxt\u002Fcache\u002Fquickstart",{"title":41,"path":891,"description":246},"\u002Fdocs\u002Fnuxt\u002Fcache\u002Fruntime-api",{"title":248,"path":893,"description":250},"\u002Fdocs\u002Fnuxt\u002Fcache\u002Fwhen-to-use",{"title":90,"path":895,"description":253,"icon":93,"group":52},"\u002Fdocs\u002Fnuxt\u002Fcache\u002Fusage",{"title":66,"path":897,"description":256},"\u002Fdocs\u002Fnuxt\u002Fcache\u002Ftroubleshooting",{"title":70,"path":899,"description":259},"\u002Fdocs\u002Fnuxt\u002Fcache\u002Fplayground",{"title":261,"path":901,"description":263,"icon":264,"children":902},"\u002Fdocs\u002Fnuxt\u002Femail",[903,905,907,909,911,913,915,917,919,921],{"title":37,"path":904,"description":268},"\u002Fdocs\u002Fnuxt\u002Femail\u002Fquickstart",{"title":41,"path":906,"description":271},"\u002Fdocs\u002Fnuxt\u002Femail\u002Fruntime-api",{"title":273,"path":908,"description":275},"\u002Fdocs\u002Fnuxt\u002Femail\u002Fwhen-to-use",{"title":277,"path":910,"description":279,"icon":280,"group":52},"\u002Fdocs\u002Fnuxt\u002Femail\u002Ffrontmatter",{"title":282,"path":912,"description":284,"icon":285,"group":52},"\u002Fdocs\u002Fnuxt\u002Femail\u002Finput-schemas",{"title":287,"path":914,"description":289,"icon":290,"group":52},"\u002Fdocs\u002Fnuxt\u002Femail\u002Fi18n",{"title":292,"path":916,"description":294,"icon":295,"group":152},"\u002Fdocs\u002Fnuxt\u002Femail\u002Fresend",{"title":297,"path":918,"description":299,"icon":300,"group":152},"\u002Fdocs\u002Fnuxt\u002Femail\u002Fsendgrid",{"title":302,"path":920,"description":304,"icon":305,"group":152},"\u002Fdocs\u002Fnuxt\u002Femail\u002Fpostmark",{"title":66,"path":922,"description":308},"\u002Fdocs\u002Fnuxt\u002Femail\u002Ftroubleshooting",{"title":310,"path":924,"description":312,"icon":313,"children":925},"\u002Fdocs\u002Fnuxt\u002Fworkflow",[926,928,930,932,934,936,938,940,942,944,946,948,950],{"title":37,"path":927,"description":317},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fquickstart",{"title":41,"path":929,"description":320},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fruntime-api",{"title":322,"path":931,"description":324},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fwhen-to-use",{"title":326,"path":933,"description":328,"group":52},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fguides\u002Fstart-a-run",{"title":330,"path":935,"description":332,"group":52},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fguides\u002Fcheck-a-run",{"title":187,"path":937,"description":335,"group":52},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fguides\u002Fdefer-after-response",{"title":191,"path":939,"description":338,"group":52},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fguides\u002Fvalidate-payloads",{"title":148,"path":941,"description":341,"icon":151},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fproviders\u002Fcloudflare",{"title":211,"path":943,"description":344,"icon":214},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fproviders\u002Fvercel",{"title":346,"path":945,"description":348,"icon":313},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fproviders\u002Fopenworkflow",{"title":216,"path":947,"description":351,"icon":219},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fproviders\u002Fnetlify",{"title":66,"path":949,"description":354},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Ftroubleshooting",{"title":70,"path":951,"description":357},"\u002Fdocs\u002Fnuxt\u002Fworkflow\u002Fplayground",{"title":359,"path":953,"description":361,"icon":362,"children":954},"\u002Fdocs\u002Fnuxt\u002Fcron",[955,957,959,961,963,965,967],{"title":37,"path":956,"description":366},"\u002Fdocs\u002Fnuxt\u002Fcron\u002Fquickstart",{"title":41,"path":958,"description":369},"\u002Fdocs\u002Fnuxt\u002Fcron\u002Fruntime-api",{"title":371,"path":960,"description":373},"\u002Fdocs\u002Fnuxt\u002Fcron\u002Fwhen-to-use",{"title":375,"path":962,"description":377,"icon":378,"group":152},"\u002Fdocs\u002Fnuxt\u002Fcron\u002Fnode",{"title":148,"path":964,"description":381,"icon":151,"group":152},"\u002Fdocs\u002Fnuxt\u002Fcron\u002Fcloudflare",{"title":211,"path":966,"description":384,"icon":214,"group":152},"\u002Fdocs\u002Fnuxt\u002Fcron\u002Fvercel",{"title":66,"path":968,"description":387},"\u002Fdocs\u002Fnuxt\u002Fcron\u002Ftroubleshooting",{"title":389,"path":970,"description":391,"icon":392,"children":971},"\u002Fdocs\u002Fnuxt\u002Fbrowser",[972,974,976,978,980,982,984],{"title":37,"path":973,"description":396},"\u002Fdocs\u002Fnuxt\u002Fbrowser\u002Fquickstart",{"title":41,"path":975,"description":399},"\u002Fdocs\u002Fnuxt\u002Fbrowser\u002Fruntime-api",{"title":401,"path":977,"description":403},"\u002Fdocs\u002Fnuxt\u002Fbrowser\u002Fwhen-to-use",{"title":148,"path":979,"description":406,"icon":151,"group":152},"\u002Fdocs\u002Fnuxt\u002Fbrowser\u002Fcloudflare",{"title":408,"path":981,"description":410,"icon":411,"group":152},"\u002Fdocs\u002Fnuxt\u002Fbrowser\u002Fbrowserbase",{"title":413,"path":983,"description":415,"icon":392,"group":152},"\u002Fdocs\u002Fnuxt\u002Fbrowser\u002Fplaywright",{"title":66,"path":985,"description":418},"\u002Fdocs\u002Fnuxt\u002Fbrowser\u002Ftroubleshooting",{"title":420,"path":987,"description":422,"icon":423,"children":988},"\u002Fdocs\u002Fnuxt\u002Fsandbox",[989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015],{"title":37,"path":990,"description":427},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fquickstart",{"title":41,"path":992,"description":430},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fruntime-api",{"title":432,"path":994,"description":434},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fwhen-to-use",{"title":436,"path":996,"description":438,"group":52},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fguides\u002Frun-a-sandbox",{"title":191,"path":998,"description":441,"group":52},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fguides\u002Fvalidate-payloads",{"title":443,"path":1000,"description":445,"group":52},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fguides\u002Freuse-a-sandbox",{"title":148,"path":1002,"description":448,"icon":151},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fproviders\u002Fcloudflare",{"title":450,"path":1004,"description":452,"icon":151},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fproviders\u002Fcloudflare-dynamic",{"title":211,"path":1006,"description":455,"icon":214},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fproviders\u002Fvercel",{"title":457,"path":1008,"description":459,"icon":460},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fproviders\u002Fdeno",{"title":462,"path":1010,"description":464,"icon":465},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fproviders\u002Fdocker",{"title":467,"path":1012,"description":469,"icon":470},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fproviders\u002Flocal",{"title":66,"path":1014,"description":473},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Ftroubleshooting",{"title":70,"path":1016,"description":476},"\u002Fdocs\u002Fnuxt\u002Fsandbox\u002Fplayground",{"title":478,"path":1018,"description":480,"icon":481,"children":1019},"\u002Fdocs\u002Fnuxt\u002Fanalytics",[1020,1022,1024,1026,1028,1030],{"title":37,"path":1021,"description":485},"\u002Fdocs\u002Fnuxt\u002Fanalytics\u002Fquickstart",{"title":41,"path":1023,"description":488},"\u002Fdocs\u002Fnuxt\u002Fanalytics\u002Fruntime-api",{"title":490,"path":1025,"description":492},"\u002Fdocs\u002Fnuxt\u002Fanalytics\u002Fwhen-to-use",{"title":211,"path":1027,"description":495,"icon":214,"group":152},"\u002Fdocs\u002Fnuxt\u002Fanalytics\u002Fvercel",{"title":148,"path":1029,"description":498,"icon":151,"group":152},"\u002Fdocs\u002Fnuxt\u002Fanalytics\u002Fcloudflare",{"title":66,"path":1031,"description":501},"\u002Fdocs\u002Fnuxt\u002Fanalytics\u002Ftroubleshooting",{"id":1033,"title":1034,"body":1035,"description":108,"extension":1496,"meta":1497,"navigation":1498,"path":820,"seo":1499,"stem":1500,"__hash__":1501},"docs\u002Fdocs\u002Fnuxt\u002Fblob\u002Fquickstart.md","Blob quickstart",{"type":1036,"value":1037,"toc":1488},"minimark",[1038,1042,1047,1074,1078,1199,1203,1333,1337,1426,1430,1433,1452,1455,1459,1484],[1039,1040,1041],"p",{},"This quickstart uses the local filesystem driver because it gives you the fastest first success in local development.",[1043,1044,1046],"h2",{"id":1045},"install-the-package","Install the package",[1048,1049,1055],"pre",{"className":1050,"code":1051,"filename":1052,"language":1053,"meta":1054,"style":1054},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add https:\u002F\u002Fpkg.pr.new\u002Fvite-hub\u002Fvitehub\u002F@vitehub\u002Fblob@main\n","Terminal","bash","",[1056,1057,1058],"code",{"__ignoreMap":1054},[1059,1060,1063,1067,1071],"span",{"class":1061,"line":1062},"line",1,[1059,1064,1066],{"class":1065},"sBMFI","pnpm",[1059,1068,1070],{"class":1069},"sfazB"," add",[1059,1072,1073],{"class":1069}," https:\u002F\u002Fpkg.pr.new\u002Fvite-hub\u002Fvitehub\u002F@vitehub\u002Fblob@main\n",[1043,1075,1077],{"id":1076},"configure-blob","Configure Blob",[1079,1080,1082],"fw",{"id":1081},"nuxt",[1048,1083,1088],{"className":1084,"code":1085,"filename":1086,"language":1087,"meta":1054,"style":1054},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['@vitehub\u002Fblob\u002Fnuxt'],\n  blob: {\n    driver: 'fs',\n    dir: '.data\u002Fblob',\n  },\n})\n","nuxt.config.ts","ts",[1056,1089,1090,1111,1138,1149,1167,1184,1190],{"__ignoreMap":1054},[1059,1091,1092,1096,1099,1103,1107],{"class":1061,"line":1062},[1059,1093,1095],{"class":1094},"s7zQu","export",[1059,1097,1098],{"class":1094}," default",[1059,1100,1102],{"class":1101},"s2Zo4"," defineNuxtConfig",[1059,1104,1106],{"class":1105},"sTEyZ","(",[1059,1108,1110],{"class":1109},"sMK4o","{\n",[1059,1112,1114,1118,1121,1124,1127,1130,1132,1135],{"class":1061,"line":1113},2,[1059,1115,1117],{"class":1116},"swJcz","  modules",[1059,1119,1120],{"class":1109},":",[1059,1122,1123],{"class":1105}," [",[1059,1125,1126],{"class":1109},"'",[1059,1128,1129],{"class":1069},"@vitehub\u002Fblob\u002Fnuxt",[1059,1131,1126],{"class":1109},[1059,1133,1134],{"class":1105},"]",[1059,1136,1137],{"class":1109},",\n",[1059,1139,1141,1144,1146],{"class":1061,"line":1140},3,[1059,1142,1143],{"class":1116},"  blob",[1059,1145,1120],{"class":1109},[1059,1147,1148],{"class":1109}," {\n",[1059,1150,1152,1155,1157,1160,1163,1165],{"class":1061,"line":1151},4,[1059,1153,1154],{"class":1116},"    driver",[1059,1156,1120],{"class":1109},[1059,1158,1159],{"class":1109}," '",[1059,1161,1162],{"class":1069},"fs",[1059,1164,1126],{"class":1109},[1059,1166,1137],{"class":1109},[1059,1168,1170,1173,1175,1177,1180,1182],{"class":1061,"line":1169},5,[1059,1171,1172],{"class":1116},"    dir",[1059,1174,1120],{"class":1109},[1059,1176,1159],{"class":1109},[1059,1178,1179],{"class":1069},".data\u002Fblob",[1059,1181,1126],{"class":1109},[1059,1183,1137],{"class":1109},[1059,1185,1187],{"class":1061,"line":1186},6,[1059,1188,1189],{"class":1109},"  },\n",[1059,1191,1193,1196],{"class":1061,"line":1192},7,[1059,1194,1195],{"class":1109},"}",[1059,1197,1198],{"class":1105},")\n",[1043,1200,1202],{"id":1201},"store-a-file","Store a file",[1079,1204,1205],{"id":1081},[1048,1206,1209],{"className":1084,"code":1207,"filename":1208,"language":1087,"meta":1054,"style":1054},"import { blob } from '@vitehub\u002Fblob'\n\nexport default defineEventHandler(async () => {\n  return await blob.put('avatars\u002Fuser-1.txt', 'hello blob', {\n    contentType: 'text\u002Fplain',\n  })\n})\n","server\u002Fapi\u002Ffiles.post.ts",[1056,1210,1211,1236,1242,1265,1304,1320,1327],{"__ignoreMap":1054},[1059,1212,1213,1216,1219,1222,1225,1228,1230,1233],{"class":1061,"line":1062},[1059,1214,1215],{"class":1094},"import",[1059,1217,1218],{"class":1109}," {",[1059,1220,1221],{"class":1105}," blob",[1059,1223,1224],{"class":1109}," }",[1059,1226,1227],{"class":1094}," from",[1059,1229,1159],{"class":1109},[1059,1231,1232],{"class":1069},"@vitehub\u002Fblob",[1059,1234,1235],{"class":1109},"'\n",[1059,1237,1238],{"class":1061,"line":1113},[1059,1239,1241],{"emptyLinePlaceholder":1240},true,"\n",[1059,1243,1244,1246,1248,1251,1253,1257,1260,1263],{"class":1061,"line":1140},[1059,1245,1095],{"class":1094},[1059,1247,1098],{"class":1094},[1059,1249,1250],{"class":1101}," defineEventHandler",[1059,1252,1106],{"class":1105},[1059,1254,1256],{"class":1255},"spNyl","async",[1059,1258,1259],{"class":1109}," ()",[1059,1261,1262],{"class":1255}," =>",[1059,1264,1148],{"class":1109},[1059,1266,1267,1270,1273,1275,1278,1281,1283,1285,1288,1290,1293,1295,1298,1300,1302],{"class":1061,"line":1151},[1059,1268,1269],{"class":1094},"  return",[1059,1271,1272],{"class":1094}," await",[1059,1274,1221],{"class":1105},[1059,1276,1277],{"class":1109},".",[1059,1279,1280],{"class":1101},"put",[1059,1282,1106],{"class":1116},[1059,1284,1126],{"class":1109},[1059,1286,1287],{"class":1069},"avatars\u002Fuser-1.txt",[1059,1289,1126],{"class":1109},[1059,1291,1292],{"class":1109},",",[1059,1294,1159],{"class":1109},[1059,1296,1297],{"class":1069},"hello blob",[1059,1299,1126],{"class":1109},[1059,1301,1292],{"class":1109},[1059,1303,1148],{"class":1109},[1059,1305,1306,1309,1311,1313,1316,1318],{"class":1061,"line":1169},[1059,1307,1308],{"class":1116},"    contentType",[1059,1310,1120],{"class":1109},[1059,1312,1159],{"class":1109},[1059,1314,1315],{"class":1069},"text\u002Fplain",[1059,1317,1126],{"class":1109},[1059,1319,1137],{"class":1109},[1059,1321,1322,1325],{"class":1061,"line":1186},[1059,1323,1324],{"class":1109},"  }",[1059,1326,1198],{"class":1116},[1059,1328,1329,1331],{"class":1061,"line":1192},[1059,1330,1195],{"class":1109},[1059,1332,1198],{"class":1105},[1043,1334,1336],{"id":1335},"serve-the-file","Serve the file",[1079,1338,1339],{"id":1081},[1048,1340,1343],{"className":1084,"code":1341,"filename":1342,"language":1087,"meta":1054,"style":1054},"import { blob } from '@vitehub\u002Fblob'\n\nexport default defineEventHandler(async (event) => {\n  return await blob.serve(event, 'avatars\u002Fuser-1.txt')\n})\n","server\u002Froutes\u002Ffiles\u002F[...pathname].get.ts",[1056,1344,1345,1363,1367,1393,1420],{"__ignoreMap":1054},[1059,1346,1347,1349,1351,1353,1355,1357,1359,1361],{"class":1061,"line":1062},[1059,1348,1215],{"class":1094},[1059,1350,1218],{"class":1109},[1059,1352,1221],{"class":1105},[1059,1354,1224],{"class":1109},[1059,1356,1227],{"class":1094},[1059,1358,1159],{"class":1109},[1059,1360,1232],{"class":1069},[1059,1362,1235],{"class":1109},[1059,1364,1365],{"class":1061,"line":1113},[1059,1366,1241],{"emptyLinePlaceholder":1240},[1059,1368,1369,1371,1373,1375,1377,1379,1382,1386,1389,1391],{"class":1061,"line":1140},[1059,1370,1095],{"class":1094},[1059,1372,1098],{"class":1094},[1059,1374,1250],{"class":1101},[1059,1376,1106],{"class":1105},[1059,1378,1256],{"class":1255},[1059,1380,1381],{"class":1109}," (",[1059,1383,1385],{"class":1384},"sHdIc","event",[1059,1387,1388],{"class":1109},")",[1059,1390,1262],{"class":1255},[1059,1392,1148],{"class":1109},[1059,1394,1395,1397,1399,1401,1403,1406,1408,1410,1412,1414,1416,1418],{"class":1061,"line":1151},[1059,1396,1269],{"class":1094},[1059,1398,1272],{"class":1094},[1059,1400,1221],{"class":1105},[1059,1402,1277],{"class":1109},[1059,1404,1405],{"class":1101},"serve",[1059,1407,1106],{"class":1116},[1059,1409,1385],{"class":1105},[1059,1411,1292],{"class":1109},[1059,1413,1159],{"class":1109},[1059,1415,1287],{"class":1069},[1059,1417,1126],{"class":1109},[1059,1419,1198],{"class":1116},[1059,1421,1422,1424],{"class":1061,"line":1169},[1059,1423,1195],{"class":1109},[1059,1425,1198],{"class":1105},[1043,1427,1429],{"id":1428},"verify-that-it-worked","Verify that it worked",[1039,1431,1432],{},"Create the file:",[1048,1434,1436],{"className":1050,"code":1435,"filename":1052,"language":1053,"meta":1054,"style":1054},"curl -X POST http:\u002F\u002Flocalhost:3000\u002Fapi\u002Ffiles\n",[1056,1437,1438],{"__ignoreMap":1054},[1059,1439,1440,1443,1446,1449],{"class":1061,"line":1062},[1059,1441,1442],{"class":1065},"curl",[1059,1444,1445],{"class":1069}," -X",[1059,1447,1448],{"class":1069}," POST",[1059,1450,1451],{"class":1069}," http:\u002F\u002Flocalhost:3000\u002Fapi\u002Ffiles\n",[1039,1453,1454],{},"Then request the served route and confirm it returns the stored content.",[1043,1456,1458],{"id":1457},"next-steps","Next steps",[1460,1461,1462,1471,1478],"ul",{},[1463,1464,1465,1466,1470],"li",{},"Use ",[1467,1468,122],"a",{"href":1469},".\u002Fusage"," for reads, lists, deletes, and other runtime operations.",[1463,1472,1465,1473,1477],{},[1467,1474,1476],{"href":1475},".\u002Fupload","File uploads"," for form and multipart upload flows.",[1463,1479,1465,1480,1483],{},[1467,1481,66],{"href":1482},".\u002Ftroubleshooting"," if driver selection or serving fails.",[1485,1486,1487],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":1054,"searchDepth":1113,"depth":1113,"links":1489},[1490,1491,1492,1493,1494,1495],{"id":1045,"depth":1113,"text":1046},{"id":1076,"depth":1113,"text":1077},{"id":1201,"depth":1113,"text":1202},{"id":1335,"depth":1113,"text":1336},{"id":1428,"depth":1113,"text":1429},{"id":1457,"depth":1113,"text":1458},"md",{},{"title":37},{"title":1034,"description":108},"docs\u002Fnuxt\u002Fblob\u002Fquickstart","vNd_RuhQRvMj7bcIYJ82kqQjoLrF6eg3qsbFMQ46IcY",[1503,1505],{"title":1504,"path":817,"description":103},"Overview",{"title":41,"path":822,"description":111},1775742154663]