[{"data":1,"prerenderedAt":727},["ShallowReactive",2],{"navigation_docs_en":3,"-en-concepts-caching":309,"-en-concepts-caching-surround":722},[4,30,72,112,195,299],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Use Cases","\u002Fen\u002Fgetting-started\u002Fuse-cases","en\u002F1.getting-started\u002F4.use-cases","i-lucide-layers",{"title":26,"path":27,"stem":28,"icon":29},"Concepts","\u002Fen\u002Fgetting-started\u002Fconcepts","en\u002F1.getting-started\u002F5.concepts","i-lucide-book",{"title":26,"path":31,"stem":32,"children":33,"page":6},"\u002Fen\u002Fconcepts","en\u002F2.concepts",[34,38,43,48,53,58,63,68],{"title":35,"path":36,"stem":37,"icon":14},"Organization","\u002Fen\u002Fconcepts\u002Forganization","en\u002F2.concepts\u002F1.organization",{"title":39,"path":40,"stem":41,"icon":42},"Data Model","\u002Fen\u002Fconcepts\u002Fdata-model","en\u002F2.concepts\u002F2.data-model","i-lucide-database",{"title":44,"path":45,"stem":46,"icon":47},"Access Control","\u002Fen\u002Fconcepts\u002Faccess-permissions","en\u002F2.concepts\u002F3.access-permissions","i-lucide-user-key",{"title":49,"path":50,"stem":51,"icon":52},"Audit Logs","\u002Fen\u002Fconcepts\u002Faudit-logs","en\u002F2.concepts\u002F4.audit-logs","i-lucide-scroll-text",{"title":54,"path":55,"stem":56,"icon":57},"Introspection","\u002Fen\u002Fconcepts\u002Fintrospection","en\u002F2.concepts\u002F6.introspection","i-lucide-database-search",{"title":59,"path":60,"stem":61,"icon":62},"Query Engine","\u002Fen\u002Fconcepts\u002Fquery-engine","en\u002F2.concepts\u002F7.query-engine","i-lucide-workflow",{"title":64,"path":65,"stem":66,"icon":67},"AI","\u002Fen\u002Fconcepts\u002Fai","en\u002F2.concepts\u002F8.ai","i-lucide-sparkles",{"title":69,"path":70,"stem":71,"icon":42},"Caching","\u002Fen\u002Fconcepts\u002Fcaching","en\u002F2.concepts\u002F9.caching",{"title":73,"path":74,"stem":75,"children":76,"page":6},"Guides","\u002Fen\u002Fguides","en\u002F4.guides",[77,82,87,92,97,102,107],{"title":78,"path":79,"stem":80,"icon":81},"REST API Quickstart","\u002Fen\u002Fguides\u002Frest-api","en\u002F4.guides\u002F1.rest-api","i-lucide-plug",{"title":83,"path":84,"stem":85,"icon":86},"SDK Quickstart","\u002Fen\u002Fguides\u002Fsdk","en\u002F4.guides\u002F2.sdk","i-lucide-terminal",{"title":88,"path":89,"stem":90,"icon":91},"Configure SSO","\u002Fen\u002Fguides\u002Fconfigure-sso","en\u002F4.guides\u002F3.configure-sso","i-lucide-key-round",{"title":93,"path":94,"stem":95,"icon":96},"Configure MCP","\u002Fen\u002Fguides\u002Fmcp","en\u002F4.guides\u002F4.mcp","i-lucide-brain-cog",{"title":98,"path":99,"stem":100,"icon":101},"Customize Content Space","\u002Fen\u002Fguides\u002Fcustomize-content-space","en\u002F4.guides\u002F5.customize-content-space","i-lucide-columns-3-cog",{"title":103,"path":104,"stem":105,"icon":106},"Build an Application with AI Assistance","\u002Fen\u002Fguides\u002Fbuild-an-application","en\u002F4.guides\u002F6.build-an-application","i-lucide-route",{"title":108,"path":109,"stem":110,"icon":111},"Horizontal Scaling","\u002Fen\u002Fguides\u002Fhorizontal-scaling","en\u002F4.guides\u002F7.horizontal-scaling","i-lucide-network",{"title":113,"path":114,"stem":115,"children":116,"page":6},"Developer","\u002Fen\u002Fdeveloper","en\u002F5.developer",[117,171],{"title":118,"path":119,"stem":120,"children":121,"page":6},"Data Access","\u002Fen\u002Fdeveloper\u002Fapi","en\u002F5.developer\u002F1.api",[122,127,132,137,142,147,152,157,162,166],{"title":123,"path":124,"stem":125,"icon":126},"Overview","\u002Fen\u002Fdeveloper\u002Fapi\u002Foverview","en\u002F5.developer\u002F1.api\u002F1.overview","i-lucide-globe",{"title":128,"path":129,"stem":130,"icon":131},"Errors","\u002Fen\u002Fdeveloper\u002Fapi\u002Ferrors","en\u002F5.developer\u002F1.api\u002F10.errors","i-lucide-alert-triangle",{"title":133,"path":134,"stem":135,"icon":136},"Authentication","\u002Fen\u002Fdeveloper\u002Fapi\u002Fauthentication","en\u002F5.developer\u002F1.api\u002F2.authentication","i-lucide-lock",{"title":138,"path":139,"stem":140,"icon":141},"Reading Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Freading-data","en\u002F5.developer\u002F1.api\u002F3.reading-data","i-lucide-book-open",{"title":143,"path":144,"stem":145,"icon":146},"Writing Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Fwriting-data","en\u002F5.developer\u002F1.api\u002F4.writing-data","i-lucide-pencil",{"title":148,"path":149,"stem":150,"icon":151},"Filtering","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffiltering","en\u002F5.developer\u002F1.api\u002F5.filtering","i-lucide-filter",{"title":153,"path":154,"stem":155,"icon":156},"Field Selection","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffield-selection","en\u002F5.developer\u002F1.api\u002F6.field-selection","i-lucide-list-checks",{"title":158,"path":159,"stem":160,"icon":161},"Sorting & Pagination","\u002Fen\u002Fdeveloper\u002Fapi\u002Fsorting-pagination","en\u002F5.developer\u002F1.api\u002F7.sorting-pagination","i-lucide-arrow-up-down",{"title":163,"path":164,"stem":165,"icon":111},"Relational Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Frelational-data","en\u002F5.developer\u002F1.api\u002F8.relational-data",{"title":167,"path":168,"stem":169,"icon":170},"Files & Assets","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffiles","en\u002F5.developer\u002F1.api\u002F9.files","i-lucide-file-up",{"title":172,"path":173,"stem":174,"children":175,"page":6},"Client SDK","\u002Fen\u002Fdeveloper\u002Fsdk","en\u002F5.developer\u002F2.sdk",[176,180,185,190],{"title":177,"path":178,"stem":179,"icon":19},"Installation","\u002Fen\u002Fdeveloper\u002Fsdk\u002Finstallation","en\u002F5.developer\u002F2.sdk\u002F1.installation",{"title":181,"path":182,"stem":183,"icon":184},"Client Setup","\u002Fen\u002Fdeveloper\u002Fsdk\u002Fclient-setup","en\u002F5.developer\u002F2.sdk\u002F2.client-setup","i-lucide-settings",{"title":186,"path":187,"stem":188,"icon":189},"Type System","\u002Fen\u002Fdeveloper\u002Fsdk\u002Ftype-system","en\u002F5.developer\u002F2.sdk\u002F3.type-system","i-lucide-braces",{"title":191,"path":192,"stem":193,"icon":194},"Advanced","\u002Fen\u002Fdeveloper\u002Fsdk\u002Fadvanced","en\u002F5.developer\u002F2.sdk\u002F5.advanced","i-lucide-puzzle",{"title":196,"path":197,"stem":198,"children":199,"page":6},"Reference","\u002Fen\u002Freference","en\u002F6.reference",[200,204,209,225,229,234,270],{"title":201,"path":202,"stem":203,"icon":184},"Configuration","\u002Fen\u002Freference\u002Fenvironment-variables","en\u002F6.reference\u002F1.environment-variables",{"title":205,"path":206,"stem":207,"icon":208},"System Requirements","\u002Fen\u002Freference\u002Fsystem-requirements","en\u002F6.reference\u002F2.system-requirements","i-lucide-server",{"title":210,"path":211,"stem":212,"children":213,"icon":81},"Connectors","\u002Fen\u002Freference\u002Fconnectors","en\u002F6.reference\u002F3.connectors\u002Findex",[214,215,220],{"title":210,"path":211,"stem":212,"icon":81},{"title":216,"path":217,"stem":218,"icon":219},"PostgreSQL and Supabase","\u002Fen\u002Freference\u002Fconnectors\u002Fpostgresql-supabase","en\u002F6.reference\u002F3.connectors\u002F1.postgresql-supabase","i-simple-icons-postgresql",{"title":221,"path":222,"stem":223,"icon":224},"MySQL and MariaDB","\u002Fen\u002Freference\u002Fconnectors\u002Fmysql-mariadb","en\u002F6.reference\u002F3.connectors\u002F2.mysql-mariadb","i-simple-icons-mysql",{"title":226,"path":227,"stem":228,"icon":189},"Data Types Representation","\u002Fen\u002Freference\u002Fdata-types","en\u002F6.reference\u002F4.data-types",{"title":230,"path":231,"stem":232,"icon":233},"Permissions Reference","\u002Fen\u002Freference\u002Fpermissions","en\u002F6.reference\u002F5.permissions","i-lucide-shield",{"title":235,"path":236,"stem":237,"children":238,"page":6},"API Reference","\u002Fen\u002Freference\u002Fapi-reference","en\u002F6.reference\u002F6.api-reference",[239,243,248],{"title":240,"path":241,"stem":242,"icon":208},"System Endpoints","\u002Fen\u002Freference\u002Fapi-reference\u002Fsystem-endpoints","en\u002F6.reference\u002F6.api-reference\u002F1.system-endpoints",{"title":244,"path":245,"stem":246,"icon":247},"OpenAPI Spec","\u002Fen\u002Freference\u002Fapi-reference\u002Fopenapi-spec","en\u002F6.reference\u002F6.api-reference\u002F2.openapi-spec","i-lucide-file-code",{"title":249,"path":250,"stem":251,"children":252,"icon":254},"Schema Migration","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration","en\u002F6.reference\u002F6.api-reference\u002F3.schema-migration\u002Findex",[253,255,260,265],{"title":249,"path":250,"stem":251,"icon":254},"i-lucide-database-zap",{"title":256,"path":257,"stem":258,"icon":259},"Apply Migrations","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fapply-migrations","en\u002F6.reference\u002F6.api-reference\u002F3.schema-migration\u002F1.apply-migrations","i-lucide-upload",{"title":261,"path":262,"stem":263,"icon":264},"Import Changes","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fimport-changes","en\u002F6.reference\u002F6.api-reference\u002F3.schema-migration\u002F2.import-changes","i-lucide-refresh-cw",{"title":266,"path":267,"stem":268,"icon":269},"Operation Reference","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Foperation-reference","en\u002F6.reference\u002F6.api-reference\u002F3.schema-migration\u002F3.operation-reference","i-lucide-list-tree",{"title":271,"path":272,"stem":273,"children":274,"page":6},"Design Considerations","\u002Fen\u002Freference\u002Fdesign-considerations","en\u002F6.reference\u002F7.design-considerations",[275,279,284,289,294],{"title":123,"path":276,"stem":277,"icon":278},"\u002Fen\u002Freference\u002Fdesign-considerations\u002Foverview","en\u002F6.reference\u002F7.design-considerations\u002F1.overview","i-lucide-compass",{"title":280,"path":281,"stem":282,"icon":283},"Instance Configuration","\u002Fen\u002Freference\u002Fdesign-considerations\u002Finstance-configuration-related-problems","en\u002F6.reference\u002F7.design-considerations\u002F3.instance-configuration-related-problems","i-lucide-wrench",{"title":285,"path":286,"stem":287,"icon":288},"Overly Permissive Public Access","\u002Fen\u002Freference\u002Fdesign-considerations\u002Foverly-permissive","en\u002F6.reference\u002F7.design-considerations\u002F4.overly-permissive","i-lucide-shield-off",{"title":290,"path":291,"stem":292,"icon":293},"No Aggregates","\u002Fen\u002Freference\u002Fdesign-considerations\u002Fno-aggregates","en\u002F6.reference\u002F7.design-considerations\u002F5.no-aggregates","i-lucide-sigma",{"title":295,"path":296,"stem":297,"icon":298},"Cross-Data-Source Referential Integrity","\u002Fen\u002Freference\u002Fdesign-considerations\u002Fcross-data-source-referential-integrity","en\u002F6.reference\u002F7.design-considerations\u002F6.cross-data-source-referential-integrity","i-lucide-unlink",{"title":300,"icon":301,"path":302,"stem":303,"children":304,"page":6},"Release Notes","i-lucide-rocket","\u002Fen\u002Frelease-notes","en\u002F7.release-notes",[305],{"title":306,"path":307,"stem":308,"icon":301},"Changelog","\u002Fen\u002Frelease-notes\u002Fchangelog","en\u002F7.release-notes\u002F1.changelog",{"id":310,"title":69,"body":311,"description":715,"extension":716,"links":717,"meta":718,"navigation":719,"path":70,"seo":720,"stem":71,"__hash__":721},"docs_en\u002Fen\u002F2.concepts\u002F9.caching.md",{"type":312,"value":313,"toc":706},"minimark",[314,318,331,342,346,349,466,474,477,481,494,513,519,523,530,539,542,546,562,566,569,615,621,632,678,682,702],[315,316,123],"h2",{"id":317},"overview",[319,320,321,322,326,327,330],"p",{},"Query result caching runs by default on ",[323,324,325],"code",{},"GET \u002Fapi\u002F{project}\u002Fitems\u002F{collection}"," and ",[323,328,329],{},"GET \u002Fapi\u002F{project}\u002Fitems\u002F{collection}\u002F{id}",". It stores and reuses results. On a cache miss or if Redis becomes unreachable after startup, Monospace queries the connected data source instead.",[319,332,333,334,337,338,341],{},"Cache-relevant events can be diagnosed by including ",[323,335,336],{},"monospace::cache=trace"," in the value of the ",[323,339,340],{},"MONOSPACE_LOG"," environment variable.",[315,343,345],{"id":344},"enable-caching","Enable Caching",[319,347,348],{},"Configure a dedicated Redis or Valkey instance for Monospace:",[350,351,357],"pre",{"className":352,"code":353,"filename":354,"language":355,"meta":356,"style":356},"language-yaml shiki shiki-themes monospace-light monospace-light monospace-dark","redis:\n  url: redis:\u002F\u002Fcache.example.com:6379\n  prefix: \"monospace:\" # default\n\n# defaults:\ncache:\n  enabled: true\n  include_status_header: false\n  ttl: 5m\n  max_entry_size: 8m\n","config.yaml","yaml","",[323,358,359,372,385,400,407,413,421,433,444,455],{"__ignoreMap":356},[360,361,364,368],"span",{"class":362,"line":363},"line",1,[360,365,367],{"class":366},"s3wuB","redis",[360,369,371],{"class":370},"sTMul",":\n",[360,373,375,378,381],{"class":362,"line":374},2,[360,376,377],{"class":366},"  url",[360,379,380],{"class":370},": ",[360,382,384],{"class":383},"suKVh","redis:\u002F\u002Fcache.example.com:6379\n",[360,386,388,391,393,396],{"class":362,"line":387},3,[360,389,390],{"class":366},"  prefix",[360,392,380],{"class":370},[360,394,395],{"class":383},"\"monospace:\"",[360,397,399],{"class":398},"seNfP"," # default\n",[360,401,403],{"class":362,"line":402},4,[360,404,406],{"emptyLinePlaceholder":405},true,"\n",[360,408,410],{"class":362,"line":409},5,[360,411,412],{"class":398},"# defaults:\n",[360,414,416,419],{"class":362,"line":415},6,[360,417,418],{"class":366},"cache",[360,420,371],{"class":370},[360,422,424,427,429],{"class":362,"line":423},7,[360,425,426],{"class":366},"  enabled",[360,428,380],{"class":370},[360,430,432],{"class":431},"ssBNi","true\n",[360,434,436,439,441],{"class":362,"line":435},8,[360,437,438],{"class":366},"  include_status_header",[360,440,380],{"class":370},[360,442,443],{"class":431},"false\n",[360,445,447,450,452],{"class":362,"line":446},9,[360,448,449],{"class":366},"  ttl",[360,451,380],{"class":370},[360,453,454],{"class":383},"5m\n",[360,456,458,461,463],{"class":362,"line":457},10,[360,459,460],{"class":366},"  max_entry_size",[360,462,380],{"class":370},[360,464,465],{"class":383},"8m\n",[319,467,468,469,473],{},"Unless caching is disabled, Monospace requires Redis-compatible storage for cache. See ",[470,471,201],"a",{"href":472},"\u002Freference\u002Fenvironment-variables#cache-and-redis-compatible-storage",".",[319,475,476],{},"Cache is invalidated by mutations on any of the fields read by a query. Schema changes also invalidate cache.",[315,478,480],{"id":479},"inspect-cache-status","Inspect Cache Status",[319,482,483,484,493],{},"Enable the ",[470,485,489,492],{"href":486,"rel":487},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9211.html",[488],"nofollow",[323,490,491],{},"Cache-Status"," response header"," to identify cache hits, misses, bypasses, and successful stores:",[350,495,497],{"className":352,"code":496,"filename":354,"language":355,"meta":356,"style":356},"cache:\n  include_status_header: true\n",[323,498,499,505],{"__ignoreMap":356},[360,500,501,503],{"class":362,"line":363},[360,502,418],{"class":366},[360,504,371],{"class":370},[360,506,507,509,511],{"class":362,"line":374},[360,508,438],{"class":366},[360,510,380],{"class":370},[360,512,432],{"class":431},[319,514,515,516,518],{},"This setting is disabled by default because it exposes information about cache operation. When CORS is enabled, Monospace automatically exposes ",[323,517,491],{}," to cross-origin browser clients.",[315,520,522],{"id":521},"bypass-caching","Bypass Caching",[319,524,525,526,529],{},"Send one ",[323,527,528],{},"Cache-Control"," header with one of these exact values:",[350,531,537],{"className":532,"code":534,"filename":535,"language":536,"meta":356},[533],"language-text","Cache-Control: no-cache, no-store\nCache-Control: no-store, no-cache\nCache-Control: no-cache\nCache-Control: no-store\n","request headers","text",[323,538,534],{"__ignoreMap":356},[319,540,541],{},"Use one header with the exact lowercase spelling and spacing shown above. Each value bypasses both cache lookup and storage.",[315,543,545],{"id":544},"limitations","Limitations",[547,548,549,553,556,559],"ul",{},[550,551,552],"li",{},"Monospace cannot detect writes made directly to a connected data source. Ordinary reads can remain stale until expiry, while a bypassed request reads live data.",[550,554,555],{},"Connecting the same physical data source to multiple projects can similarly produce stale results. A mutation through one project does not currently invalidate cached results owned by another project.",[550,557,558],{},"If a replica stops unexpectedly after committing a mutation but before invalidation completes, affected results can remain stale until expiry, eviction, or clearing. A bypassed request still reads live data.",[550,560,561],{},"If caching is disabled then re-enabled, old results are not automatically invalidated. Before re-enabling caching, clear the old cache or configure a new Redis key prefix.",[315,563,565],{"id":564},"configure-redis-memory","Configure Redis Memory",[319,567,568],{},"For a dedicated cache instance, Monospace can apply Redis memory settings on the operator's behalf:",[350,570,572],{"className":352,"code":571,"filename":354,"language":355,"meta":356,"style":356},"redis:\n  url: redis:\u002F\u002Fcache.example.com:6379\n  config_set:\n    maxmemory: 100mb\n    maxmemory-policy: volatile-lru\n",[323,573,574,580,588,595,605],{"__ignoreMap":356},[360,575,576,578],{"class":362,"line":363},[360,577,367],{"class":366},[360,579,371],{"class":370},[360,581,582,584,586],{"class":362,"line":374},[360,583,377],{"class":366},[360,585,380],{"class":370},[360,587,384],{"class":383},[360,589,590,593],{"class":362,"line":387},[360,591,592],{"class":366},"  config_set",[360,594,371],{"class":370},[360,596,597,600,602],{"class":362,"line":402},[360,598,599],{"class":366},"    maxmemory",[360,601,380],{"class":370},[360,603,604],{"class":383},"100mb\n",[360,606,607,610,612],{"class":362,"line":409},[360,608,609],{"class":366},"    maxmemory-policy",[360,611,380],{"class":370},[360,613,614],{"class":383},"volatile-lru\n",[319,616,617,620],{},[323,618,619],{},"config_set"," applies server-wide settings. Configure memory and eviction outside Monospace when Redis is shared with other applications.",[319,622,623,624,627,628,631],{},"The ",[323,625,626],{},"volatile-lru"," example allows Redis to evict expiring cached results when it reaches ",[323,629,630],{},"maxmemory",". Choose limits and an eviction policy that fit your deployment.",[633,634,635,648],"table",{},[636,637,638],"thead",{},[639,640,641,645],"tr",{},[642,643,644],"th",{},"Setting",[642,646,647],{},"Zero value behavior",[649,650,651,665],"tbody",{},[639,652,653,659],{},[654,655,656],"td",{},[323,657,658],{},"cache.ttl",[654,660,661,664],{},[323,662,663],{},"0s"," uses an effective TTL of 365 days; it does not retain results indefinitely",[639,666,667,672],{},[654,668,669],{},[323,670,671],{},"cache.max_entry_size",[654,673,674,677],{},[323,675,676],{},"0"," removes the Monospace encoded-result limit; Redis limits still apply",[315,679,681],{"id":680},"see-also","See Also",[547,683,684,690,696],{},[550,685,686,689],{},[470,687,138],{"href":688},"\u002Fdeveloper\u002Fapi\u002Freading-data"," -- read item lists and individual items",[550,691,692,695],{},[470,693,59],{"href":694},"\u002Fconcepts\u002Fquery-engine"," -- understand query planning and execution",[550,697,698,701],{},[470,699,201],{"href":700},"\u002Freference\u002Fenvironment-variables"," -- configure Redis, cache limits, and TLS",[703,704,705],"style",{},"html pre.shiki code .s3wuB, html code.shiki .s3wuB{--shiki-light:#22863A;--shiki-default:#22863A;--shiki-dark:#22863A}html pre.shiki code .sTMul, html code.shiki .sTMul{--shiki-light:#1F2937;--shiki-default:#1F2937;--shiki-dark:#94A3B8}html pre.shiki code .suKVh, html code.shiki .suKVh{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#F8FAFC}html pre.shiki code .seNfP, html code.shiki .seNfP{--shiki-light:#64748B;--shiki-default:#64748B;--shiki-dark:#94A3B8}html pre.shiki code .ssBNi, html code.shiki .ssBNi{--shiki-light:#1659E9;--shiki-default:#1659E9;--shiki-dark:#94B3F5}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);}",{"title":356,"searchDepth":374,"depth":374,"links":707},[708,709,710,711,712,713,714],{"id":317,"depth":374,"text":123},{"id":344,"depth":374,"text":345},{"id":479,"depth":374,"text":480},{"id":521,"depth":374,"text":522},{"id":544,"depth":374,"text":545},{"id":564,"depth":374,"text":565},{"id":680,"depth":374,"text":681},"Configure query-result caching, freshness, bypass requests, and Redis memory limits.","md",null,{},{"icon":42},{"title":69,"description":715},"f7LOsMxk51zRw4WX4PazdoaEnhBMeK2X_7okUFw4AMY",[723,725],{"title":64,"path":65,"stem":66,"description":724,"icon":67,"children":-1},"How Monospace's AI works — the embedded assistant and the MCP server, and the tools and permissions they share.",{"title":78,"path":79,"stem":80,"description":726,"icon":81,"children":-1},"Read, create, filter, update, and delete data through the Monospace REST API.",1790103694081]