[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-tanstack-ai-memory-mem0":3,"mdc-qbi5y1-key":50,"related-org-tanstack-tanstack-ai-memory-mem0":596,"related-repo-tanstack-tanstack-ai-memory-mem0":740},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":45,"sourceUrl":48,"mdContent":49},"tanstack-ai-memory-mem0","wire TanStack AI mem0 memory adapter","Use when wiring mem0() from @tanstack\u002Fai-memory\u002Fmem0 — a hosted memory adapter that talks to a mem0 server over plain HTTP (no SDK peer). Requires a running mem0 server.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"tanstack","TanStack","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftanstack.png",[12,16,19],{"name":13,"slug":14,"type":15},"Memory","memory","tag",{"name":17,"slug":18,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},2884,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Fai","2026-07-26T06:08:54.144614",null,269,[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,8,41,42,43,44],"ai","ai-agents","ai-sdk","anthropic","chatbot","function-calling","gemini","generative-ai","llm","multimodal","openai","react","solidjs","streaming","svelte","tool-calling","typescript","typescript-sdk","vue",{"repoUrl":21,"stars":20,"forks":24,"topics":46,"description":47},[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,8,41,42,43,44],"🤖 Type-safe, provider-agnostic TypeScript AI SDK for streaming chat, tool calling, agents, and multimodal apps across OpenAI, Anthropic, Gemini, React, Vue, Svelte, and Solid.","https:\u002F\u002Fgithub.com\u002FTanStack\u002Fai\u002Ftree\u002FHEAD\u002Fpackages\u002Fai-memory\u002Fskills\u002Ftanstack-ai-memory-mem0","---\nname: tanstack-ai-memory-mem0\ndescription: Use when wiring mem0() from @tanstack\u002Fai-memory\u002Fmem0 — a hosted memory adapter that talks to a mem0 server over plain HTTP (no SDK peer). Requires a running mem0 server.\n---\n\n# mem0 Memory Adapter\n\nHosted `recall`\u002F`save` adapter backed by a mem0 server. mem0 owns extraction and ranking\nserver-side. Talks to the server over plain HTTP — **no SDK peer dependency**.\n\n## Setup\n\n```ts\nimport { memoryMiddleware } from '@tanstack\u002Fai-memory'\nimport { mem0 } from '@tanstack\u002Fai-memory\u002Fmem0'\n\nconst memory = mem0({ user: currentUserId }) \u002F\u002F baseUrl defaults to MEM0_URL\n\nmemoryMiddleware({ adapter: memory, scope })\n```\n\nRequires a running mem0 server (self-hosted or hosted). Point it via `baseUrl` (or\n`MEM0_URL`); pass `apiKey` (or `MEM0_ADMIN_API_KEY`) when secured.\n\n## Options\n\n- `user` — mem0 `user_id` (falls back to `scope.userId`, then `'demo-user'`).\n- `baseUrl` — mem0 server URL (default `MEM0_URL` or `http:\u002F\u002Flocalhost:8000`).\n- `apiKey` — bearer token (default `MEM0_ADMIN_API_KEY`).\n- `rerank` (default `true`), `threshold` (default `0.1`) — search tuning.\n\n**Scope fields:** requests send `user_id` and `run_id` (`scope.threadId`). `tenantId`\nand `namespace` are not sent — encode multi-tenant isolation into `user` if needed.\n\n`save` posts the `{ user, assistant }` turn to `\u002Fmemories`; `recall` queries `\u002Fsearch`\nand renders the results into the system prompt. mem0 exposes no LLM tools.\n",{"data":51,"body":52},{"name":4,"description":6},{"type":53,"children":54},"root",[55,64,95,102,336,373,379,493,549,590],{"type":56,"tag":57,"props":58,"children":60},"element","h1",{"id":59},"mem0-memory-adapter",[61],{"type":62,"value":63},"text","mem0 Memory Adapter",{"type":56,"tag":65,"props":66,"children":67},"p",{},[68,70,77,79,85,87,93],{"type":62,"value":69},"Hosted ",{"type":56,"tag":71,"props":72,"children":74},"code",{"className":73},[],[75],{"type":62,"value":76},"recall",{"type":62,"value":78},"\u002F",{"type":56,"tag":71,"props":80,"children":82},{"className":81},[],[83],{"type":62,"value":84},"save",{"type":62,"value":86}," adapter backed by a mem0 server. mem0 owns extraction and ranking\nserver-side. Talks to the server over plain HTTP — ",{"type":56,"tag":88,"props":89,"children":90},"strong",{},[91],{"type":62,"value":92},"no SDK peer dependency",{"type":62,"value":94},".",{"type":56,"tag":96,"props":97,"children":99},"h2",{"id":98},"setup",[100],{"type":62,"value":101},"Setup",{"type":56,"tag":103,"props":104,"children":109},"pre",{"className":105,"code":106,"language":107,"meta":108,"style":108},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { memoryMiddleware } from '@tanstack\u002Fai-memory'\nimport { mem0 } from '@tanstack\u002Fai-memory\u002Fmem0'\n\nconst memory = mem0({ user: currentUserId }) \u002F\u002F baseUrl defaults to MEM0_URL\n\nmemoryMiddleware({ adapter: memory, scope })\n","ts","",[110],{"type":56,"tag":71,"props":111,"children":112},{"__ignoreMap":108},[113,163,201,211,278,286],{"type":56,"tag":114,"props":115,"children":118},"span",{"class":116,"line":117},"line",1,[119,125,131,137,142,147,152,158],{"type":56,"tag":114,"props":120,"children":122},{"style":121},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[123],{"type":62,"value":124},"import",{"type":56,"tag":114,"props":126,"children":128},{"style":127},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[129],{"type":62,"value":130}," {",{"type":56,"tag":114,"props":132,"children":134},{"style":133},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[135],{"type":62,"value":136}," memoryMiddleware",{"type":56,"tag":114,"props":138,"children":139},{"style":127},[140],{"type":62,"value":141}," }",{"type":56,"tag":114,"props":143,"children":144},{"style":121},[145],{"type":62,"value":146}," from",{"type":56,"tag":114,"props":148,"children":149},{"style":127},[150],{"type":62,"value":151}," '",{"type":56,"tag":114,"props":153,"children":155},{"style":154},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[156],{"type":62,"value":157},"@tanstack\u002Fai-memory",{"type":56,"tag":114,"props":159,"children":160},{"style":127},[161],{"type":62,"value":162},"'\n",{"type":56,"tag":114,"props":164,"children":166},{"class":116,"line":165},2,[167,171,175,180,184,188,192,197],{"type":56,"tag":114,"props":168,"children":169},{"style":121},[170],{"type":62,"value":124},{"type":56,"tag":114,"props":172,"children":173},{"style":127},[174],{"type":62,"value":130},{"type":56,"tag":114,"props":176,"children":177},{"style":133},[178],{"type":62,"value":179}," mem0",{"type":56,"tag":114,"props":181,"children":182},{"style":127},[183],{"type":62,"value":141},{"type":56,"tag":114,"props":185,"children":186},{"style":121},[187],{"type":62,"value":146},{"type":56,"tag":114,"props":189,"children":190},{"style":127},[191],{"type":62,"value":151},{"type":56,"tag":114,"props":193,"children":194},{"style":154},[195],{"type":62,"value":196},"@tanstack\u002Fai-memory\u002Fmem0",{"type":56,"tag":114,"props":198,"children":199},{"style":127},[200],{"type":62,"value":162},{"type":56,"tag":114,"props":202,"children":204},{"class":116,"line":203},3,[205],{"type":56,"tag":114,"props":206,"children":208},{"emptyLinePlaceholder":207},true,[209],{"type":62,"value":210},"\n",{"type":56,"tag":114,"props":212,"children":214},{"class":116,"line":213},4,[215,221,226,231,236,241,246,252,257,262,267,272],{"type":56,"tag":114,"props":216,"children":218},{"style":217},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[219],{"type":62,"value":220},"const",{"type":56,"tag":114,"props":222,"children":223},{"style":133},[224],{"type":62,"value":225}," memory ",{"type":56,"tag":114,"props":227,"children":228},{"style":127},[229],{"type":62,"value":230},"=",{"type":56,"tag":114,"props":232,"children":234},{"style":233},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[235],{"type":62,"value":179},{"type":56,"tag":114,"props":237,"children":238},{"style":133},[239],{"type":62,"value":240},"(",{"type":56,"tag":114,"props":242,"children":243},{"style":127},[244],{"type":62,"value":245},"{",{"type":56,"tag":114,"props":247,"children":249},{"style":248},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[250],{"type":62,"value":251}," user",{"type":56,"tag":114,"props":253,"children":254},{"style":127},[255],{"type":62,"value":256},":",{"type":56,"tag":114,"props":258,"children":259},{"style":133},[260],{"type":62,"value":261}," currentUserId ",{"type":56,"tag":114,"props":263,"children":264},{"style":127},[265],{"type":62,"value":266},"}",{"type":56,"tag":114,"props":268,"children":269},{"style":133},[270],{"type":62,"value":271},") ",{"type":56,"tag":114,"props":273,"children":275},{"style":274},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[276],{"type":62,"value":277},"\u002F\u002F baseUrl defaults to MEM0_URL\n",{"type":56,"tag":114,"props":279,"children":281},{"class":116,"line":280},5,[282],{"type":56,"tag":114,"props":283,"children":284},{"emptyLinePlaceholder":207},[285],{"type":62,"value":210},{"type":56,"tag":114,"props":287,"children":289},{"class":116,"line":288},6,[290,295,299,303,308,312,317,322,327,331],{"type":56,"tag":114,"props":291,"children":292},{"style":233},[293],{"type":62,"value":294},"memoryMiddleware",{"type":56,"tag":114,"props":296,"children":297},{"style":133},[298],{"type":62,"value":240},{"type":56,"tag":114,"props":300,"children":301},{"style":127},[302],{"type":62,"value":245},{"type":56,"tag":114,"props":304,"children":305},{"style":248},[306],{"type":62,"value":307}," adapter",{"type":56,"tag":114,"props":309,"children":310},{"style":127},[311],{"type":62,"value":256},{"type":56,"tag":114,"props":313,"children":314},{"style":133},[315],{"type":62,"value":316}," memory",{"type":56,"tag":114,"props":318,"children":319},{"style":127},[320],{"type":62,"value":321},",",{"type":56,"tag":114,"props":323,"children":324},{"style":133},[325],{"type":62,"value":326}," scope ",{"type":56,"tag":114,"props":328,"children":329},{"style":127},[330],{"type":62,"value":266},{"type":56,"tag":114,"props":332,"children":333},{"style":133},[334],{"type":62,"value":335},")\n",{"type":56,"tag":65,"props":337,"children":338},{},[339,341,347,349,355,357,363,365,371],{"type":62,"value":340},"Requires a running mem0 server (self-hosted or hosted). Point it via ",{"type":56,"tag":71,"props":342,"children":344},{"className":343},[],[345],{"type":62,"value":346},"baseUrl",{"type":62,"value":348}," (or\n",{"type":56,"tag":71,"props":350,"children":352},{"className":351},[],[353],{"type":62,"value":354},"MEM0_URL",{"type":62,"value":356},"); pass ",{"type":56,"tag":71,"props":358,"children":360},{"className":359},[],[361],{"type":62,"value":362},"apiKey",{"type":62,"value":364}," (or ",{"type":56,"tag":71,"props":366,"children":368},{"className":367},[],[369],{"type":62,"value":370},"MEM0_ADMIN_API_KEY",{"type":62,"value":372},") when secured.",{"type":56,"tag":96,"props":374,"children":376},{"id":375},"options",[377],{"type":62,"value":378},"Options",{"type":56,"tag":380,"props":381,"children":382},"ul",{},[383,419,443,459],{"type":56,"tag":384,"props":385,"children":386},"li",{},[387,393,395,401,403,409,411,417],{"type":56,"tag":71,"props":388,"children":390},{"className":389},[],[391],{"type":62,"value":392},"user",{"type":62,"value":394}," — mem0 ",{"type":56,"tag":71,"props":396,"children":398},{"className":397},[],[399],{"type":62,"value":400},"user_id",{"type":62,"value":402}," (falls back to ",{"type":56,"tag":71,"props":404,"children":406},{"className":405},[],[407],{"type":62,"value":408},"scope.userId",{"type":62,"value":410},", then ",{"type":56,"tag":71,"props":412,"children":414},{"className":413},[],[415],{"type":62,"value":416},"'demo-user'",{"type":62,"value":418},").",{"type":56,"tag":384,"props":420,"children":421},{},[422,427,429,434,436,442],{"type":56,"tag":71,"props":423,"children":425},{"className":424},[],[426],{"type":62,"value":346},{"type":62,"value":428}," — mem0 server URL (default ",{"type":56,"tag":71,"props":430,"children":432},{"className":431},[],[433],{"type":62,"value":354},{"type":62,"value":435}," or ",{"type":56,"tag":71,"props":437,"children":439},{"className":438},[],[440],{"type":62,"value":441},"http:\u002F\u002Flocalhost:8000",{"type":62,"value":418},{"type":56,"tag":384,"props":444,"children":445},{},[446,451,453,458],{"type":56,"tag":71,"props":447,"children":449},{"className":448},[],[450],{"type":62,"value":362},{"type":62,"value":452}," — bearer token (default ",{"type":56,"tag":71,"props":454,"children":456},{"className":455},[],[457],{"type":62,"value":370},{"type":62,"value":418},{"type":56,"tag":384,"props":460,"children":461},{},[462,468,470,476,478,484,485,491],{"type":56,"tag":71,"props":463,"children":465},{"className":464},[],[466],{"type":62,"value":467},"rerank",{"type":62,"value":469}," (default ",{"type":56,"tag":71,"props":471,"children":473},{"className":472},[],[474],{"type":62,"value":475},"true",{"type":62,"value":477},"), ",{"type":56,"tag":71,"props":479,"children":481},{"className":480},[],[482],{"type":62,"value":483},"threshold",{"type":62,"value":469},{"type":56,"tag":71,"props":486,"children":488},{"className":487},[],[489],{"type":62,"value":490},"0.1",{"type":62,"value":492},") — search tuning.",{"type":56,"tag":65,"props":494,"children":495},{},[496,501,503,508,510,516,518,524,526,532,534,540,542,547],{"type":56,"tag":88,"props":497,"children":498},{},[499],{"type":62,"value":500},"Scope fields:",{"type":62,"value":502}," requests send ",{"type":56,"tag":71,"props":504,"children":506},{"className":505},[],[507],{"type":62,"value":400},{"type":62,"value":509}," and ",{"type":56,"tag":71,"props":511,"children":513},{"className":512},[],[514],{"type":62,"value":515},"run_id",{"type":62,"value":517}," (",{"type":56,"tag":71,"props":519,"children":521},{"className":520},[],[522],{"type":62,"value":523},"scope.threadId",{"type":62,"value":525},"). ",{"type":56,"tag":71,"props":527,"children":529},{"className":528},[],[530],{"type":62,"value":531},"tenantId",{"type":62,"value":533},"\nand ",{"type":56,"tag":71,"props":535,"children":537},{"className":536},[],[538],{"type":62,"value":539},"namespace",{"type":62,"value":541}," are not sent — encode multi-tenant isolation into ",{"type":56,"tag":71,"props":543,"children":545},{"className":544},[],[546],{"type":62,"value":392},{"type":62,"value":548}," if needed.",{"type":56,"tag":65,"props":550,"children":551},{},[552,557,559,565,567,573,575,580,582,588],{"type":56,"tag":71,"props":553,"children":555},{"className":554},[],[556],{"type":62,"value":84},{"type":62,"value":558}," posts the ",{"type":56,"tag":71,"props":560,"children":562},{"className":561},[],[563],{"type":62,"value":564},"{ user, assistant }",{"type":62,"value":566}," turn to ",{"type":56,"tag":71,"props":568,"children":570},{"className":569},[],[571],{"type":62,"value":572},"\u002Fmemories",{"type":62,"value":574},"; ",{"type":56,"tag":71,"props":576,"children":578},{"className":577},[],[579],{"type":62,"value":76},{"type":62,"value":581}," queries ",{"type":56,"tag":71,"props":583,"children":585},{"className":584},[],[586],{"type":62,"value":587},"\u002Fsearch",{"type":62,"value":589},"\nand renders the results into the system prompt. mem0 exposes no LLM tools.",{"type":56,"tag":591,"props":592,"children":593},"style",{},[594],{"type":62,"value":595},"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);}",{"items":597,"total":739},[598,614,626,638,653,665,675,685,698,708,719,729],{"slug":599,"name":599,"fn":600,"description":601,"org":602,"tags":603,"stars":611,"repoUrl":612,"updatedAt":613},"aggregation","perform data aggregation in TanStack Table","Aggregate TanStack Table columns independently of grouping, including grand totals, caller-selected row totals, multiple keyed aggregations, custom context-based definitions, grouped merges, manual values, and worker constraints.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[604,607,610],{"name":605,"slug":606,"type":15},"Data Analysis","data-analysis",{"name":608,"slug":609,"type":15},"Frontend","frontend",{"name":9,"slug":8,"type":15},28175,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable","2026-07-30T05:25:59.429787",{"slug":615,"name":615,"fn":616,"description":617,"org":618,"tags":619,"stars":611,"repoUrl":612,"updatedAt":625},"api-not-found","diagnose TanStack Table API errors","Diagnose missing TanStack Table v9 exports, options, state slices, and instance methods. Load before inventing an API when code sees a type error, undefined feature method, absent object key, adapter mismatch, or v8-shaped example.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[620,623,624],{"name":621,"slug":622,"type":15},"Debugging","debugging",{"name":608,"slug":609,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:26:05.418735",{"slug":627,"name":627,"fn":628,"description":629,"org":630,"tags":631,"stars":611,"repoUrl":612,"updatedAt":637},"cell-selection","select rectangular cell ranges in tables","Select rectangular cell ranges with cellSelectionFeature: two-corner range state keyed by row and column id, mousedown\u002Fmouseenter handlers, selection edges, render-order resolution under pinning, and autoResetCellSelection. Load when ranges widen unexpectedly after sorting or column reordering, when a drag re-renders the whole table, or when building copy-to-clipboard from a selection.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[632,633,634],{"name":605,"slug":606,"type":15},{"name":9,"slug":8,"type":15},{"name":635,"slug":636,"type":15},"UI Components","ui-components","2026-07-30T05:25:38.403427",{"slug":639,"name":639,"fn":640,"description":641,"org":642,"tags":643,"stars":611,"repoUrl":612,"updatedAt":652},"client-vs-server","manage TanStack Table data pipelines","Choose client or server ownership for filtering, grouping, sorting, expanding, and pagination in TanStack Table v9. Load for manual* flags, mixed pipelines, server counts, or deciding which dataset each row-model stage receives.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[644,647,648,651],{"name":645,"slug":646,"type":15},"Data Pipeline","data-pipeline",{"name":608,"slug":609,"type":15},{"name":649,"slug":650,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-07-30T05:25:45.400104",{"slug":654,"name":654,"fn":655,"description":656,"org":657,"tags":658,"stars":611,"repoUrl":612,"updatedAt":664},"column-faceting","build faceted filter UIs","Build faceted filter UIs with columnFacetingFeature, facetedRowModel, facetedUniqueValues, and facetedMinMaxValues. Load for facet counts, numeric ranges, own-filter exclusion, or server-page facet completeness.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[659,662,663],{"name":660,"slug":661,"type":15},"Data Visualization","data-visualization",{"name":608,"slug":609,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:41.397257",{"slug":666,"name":666,"fn":667,"description":668,"org":669,"tags":670,"stars":611,"repoUrl":612,"updatedAt":674},"column-filtering","implement column filtering in TanStack Table","Filter columns with columnFilteringFeature, filteredRowModel, filterFns, filterMeta, nested-row direction, and manualFiltering. Load for accessor compatibility, controlled filter updaters, fuzzy metadata, or client\u002Fserver ownership.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[671,672,673],{"name":605,"slug":606,"type":15},{"name":608,"slug":609,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:53.391632",{"slug":676,"name":676,"fn":677,"description":678,"org":679,"tags":680,"stars":611,"repoUrl":612,"updatedAt":684},"column-ordering","manage TanStack Table column ordering","Control TanStack Table v9 leaf columnOrder with stable IDs while accounting for pinning regions, visibility, and groupedColumnMode precedence. Load for drag-and-drop columns or rendered order that differs from state.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[681,682,683],{"name":608,"slug":609,"type":15},{"name":9,"slug":8,"type":15},{"name":635,"slug":636,"type":15},"2026-07-30T05:26:03.37801",{"slug":686,"name":686,"fn":687,"description":688,"org":689,"tags":690,"stars":611,"repoUrl":612,"updatedAt":697},"column-pinning","configure column pinning in TanStack Table","Pin columns into logical start, center, and end regions with columnPinningFeature and renderer-owned sticky CSS. Load for RTL offsets, z-index, backgrounds, overflow, widths, gaps, or overlaps.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[691,694,695,696],{"name":692,"slug":693,"type":15},"CSS","css",{"name":608,"slug":609,"type":15},{"name":9,"slug":8,"type":15},{"name":635,"slug":636,"type":15},"2026-07-30T05:25:55.377366",{"slug":699,"name":699,"fn":700,"description":701,"org":702,"tags":703,"stars":611,"repoUrl":612,"updatedAt":707},"column-resizing","implement column resizing in TanStack Table","Wire columnResizingFeature, header.getResizeHandler, resize mode and direction, pointer or touch events, and performant CSS-variable updates. Load when resize state changes but widths do not, or large tables resize slowly.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[704,705,706],{"name":608,"slug":609,"type":15},{"name":9,"slug":8,"type":15},{"name":635,"slug":636,"type":15},"2026-07-30T05:25:51.400011",{"slug":709,"name":709,"fn":710,"description":711,"org":712,"tags":713,"stars":611,"repoUrl":612,"updatedAt":718},"column-sizing","configure column sizing in TanStack Table","Use columnSizingFeature numeric size, minSize, maxSize, getSize, getStart, getAfter, and total-size APIs in table, grid, or flex CSS. Load for auto or percentage misconceptions and sizing\u002Fpinning layout mismatch.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[714,715,716,717],{"name":692,"slug":693,"type":15},{"name":608,"slug":609,"type":15},{"name":9,"slug":8,"type":15},{"name":635,"slug":636,"type":15},"2026-07-30T05:25:48.703799",{"slug":720,"name":720,"fn":721,"description":722,"org":723,"tags":724,"stars":611,"repoUrl":612,"updatedAt":728},"column-visibility","manage column visibility in TanStack Table","Hide columns with columnVisibilityFeature while rendering visibility-aware header, column, and cell collections. Load when hidden columns remain in the DOM, false-versus-absent state is confused, or enableHiding is misunderstood.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[725,726,727],{"name":608,"slug":609,"type":15},{"name":9,"slug":8,"type":15},{"name":635,"slug":636,"type":15},"2026-07-30T05:25:47.367943",{"slug":730,"name":730,"fn":731,"description":732,"org":733,"tags":734,"stars":611,"repoUrl":612,"updatedAt":738},"core","build data grids with TanStack Table","Use TanStack Table v9 as a headless data-grid state and row-processing engine. Load for first-table architecture, stable data and columns, row numbering with getDisplayIndex, semantic rendering, framework adapter choice, or deciding what Table owns versus the renderer.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[735,736,737],{"name":605,"slug":606,"type":15},{"name":608,"slug":609,"type":15},{"name":635,"slug":636,"type":15},"2026-07-30T05:25:52.366295",125,{"items":741,"total":841},[742,760,773,788,801,813,827],{"slug":743,"name":743,"fn":744,"description":745,"org":746,"tags":747,"stars":20,"repoUrl":21,"updatedAt":759},"ai-code-mode","execute sandboxed TypeScript code with LLMs","LLM-generated TypeScript execution in sandboxed environments: createCodeModeTool() with isolate drivers (createNodeIsolateDriver, createQuickJSIsolateDriver, createCloudflareIsolateDriver), codeModeWithSkills() for persistent skill libraries, trust strategies, skill storage (FileSystem, LocalStorage, InMemory, Mongo), client-side execution progress via code_mode:* custom events in useChat.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[748,750,753,756,757],{"name":749,"slug":28,"type":15},"AI SDK",{"name":751,"slug":752,"type":15},"Code Execution","code-execution",{"name":754,"slug":755,"type":15},"Sandboxing","sandboxing",{"name":9,"slug":8,"type":15},{"name":758,"slug":42,"type":15},"TypeScript","2026-07-16T06:04:13.597905",{"slug":761,"name":761,"fn":762,"description":763,"org":764,"tags":765,"stars":20,"repoUrl":21,"updatedAt":772},"ai-core","configure TanStack AI agent features","Entry point for TanStack AI skills. Routes to chat-experience, tool-calling, media-generation, structured-outputs, adapter-configuration, ag-ui-protocol, middleware, locks, custom-backend-integration, and debug-logging, plus the skills shipped by companion packages (@tanstack\u002Fai-persistence, @tanstack\u002Fai-code-mode). Use chat() not streamText(), openaiText() not createOpenAI(), toServerSentEventsResponse() not manual SSE, middleware hooks not onEnd callbacks.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[766,767,769],{"name":17,"slug":18,"type":15},{"name":768,"slug":26,"type":15},"AI",{"name":770,"slug":771,"type":15},"Middleware","middleware","2026-07-30T05:26:10.404565",{"slug":774,"name":775,"fn":776,"description":777,"org":778,"tags":779,"stars":20,"repoUrl":21,"updatedAt":787},"ai-coreadapter-configuration","ai-core\u002Fadapter-configuration","configure AI provider adapters","Provider adapter selection and configuration: openaiText, anthropicText, geminiText, ollamaText, grokText, groqText, openRouterText, bedrockText, openaiCompatible. Per-model type safety with modelOptions, reasoning\u002Fthinking configuration, runtime adapter switching, extendAdapter() for custom models, createModel(). Generic OpenAI-compatible providers (DeepSeek, Together, Fireworks, etc.) via openaiCompatible({ baseURL, apiKey, models }) from @tanstack\u002Fai-openai\u002Fcompatible. API key env vars: OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY\u002FGEMINI_API_KEY, XAI_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY, OLLAMA_HOST, BEDROCK_API_KEY (or AWS_BEARER_TOKEN_BEDROCK).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[780,781,784,786],{"name":749,"slug":28,"type":15},{"name":782,"slug":783,"type":15},"Configuration","configuration",{"name":785,"slug":34,"type":15},"LLM",{"name":9,"slug":8,"type":15},"2026-07-16T06:04:17.82075",{"slug":789,"name":790,"fn":791,"description":792,"org":793,"tags":794,"stars":20,"repoUrl":21,"updatedAt":800},"ai-coreag-ui-protocol","ai-core\u002Fag-ui-protocol","implement TanStack AI streaming protocol","Server-side AG-UI streaming protocol implementation: StreamChunk event types (RUN_STARTED, TEXT_MESSAGE_START\u002FCONTENT\u002FEND, TOOL_CALL_START\u002FARGS\u002FEND, RUN_FINISHED, RUN_ERROR, STEP_STARTED\u002FSTEP_FINISHED, STATE_SNAPSHOT\u002FDELTA, CUSTOM), toServerSentEventsStream() for SSE format, toHttpStream() for NDJSON format. For backends serving AG-UI events without client packages.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[795,798,799],{"name":796,"slug":797,"type":15},"API Development","api-development",{"name":785,"slug":34,"type":15},{"name":9,"slug":8,"type":15},"2026-07-16T06:04:10.093367",{"slug":802,"name":803,"fn":804,"description":805,"org":806,"tags":807,"stars":20,"repoUrl":21,"updatedAt":812},"ai-corechat-experience","ai-core\u002Fchat-experience","implement chat experiences with TanStack AI","End-to-end chat implementation: server endpoint with chat() and toServerSentEventsResponse(), client-side useChat hook with fetchServerSentEvents(), message rendering with UIMessage parts, multimodal content, thinking\u002Freasoning display. Covers streaming states, connection adapters, and message format conversions. NOT Vercel AI SDK — uses chat() not streamText().\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[808,809,810,811],{"name":796,"slug":797,"type":15},{"name":608,"slug":609,"type":15},{"name":785,"slug":34,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:26:11.505241",{"slug":814,"name":815,"fn":816,"description":817,"org":818,"tags":819,"stars":20,"repoUrl":21,"updatedAt":826},"ai-coreclient-persistence","ai-core\u002Fclient-persistence","implement browser chat persistence for TanStack AI","Browser chat persistence on useChat \u002F ChatClient: localStoragePersistence, sessionStoragePersistence, indexedDBPersistence. Client-authoritative (adapter, full transcript) vs server-authoritative (persistence: true, no client cache). Reload restore, pending interrupts, mid-stream rejoin with delivery durability. Use for SPA reload durability — NOT server history alone. No extra package: the adapters ship in the framework packages.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[820,821,822,825],{"name":768,"slug":26,"type":15},{"name":608,"slug":609,"type":15},{"name":823,"slug":824,"type":15},"Persistence","persistence",{"name":9,"slug":8,"type":15},"2026-07-30T05:53:35.503176",{"slug":828,"name":829,"fn":830,"description":831,"org":832,"tags":833,"stars":20,"repoUrl":21,"updatedAt":840},"ai-corecustom-backend-integration","ai-core\u002Fcustom-backend-integration","integrate custom backends with TanStack AI","Connect useChat to a non-TanStack-AI backend through custom connection adapters. ConnectConnectionAdapter (single async iterable) vs SubscribeConnectionAdapter (separate subscribe\u002Fsend). Customize fetchServerSentEvents() and fetchHttpStream() with auth headers, custom URLs, and request options. Import from framework package, not @tanstack\u002Fai-client.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[834,835,836,839],{"name":768,"slug":26,"type":15},{"name":796,"slug":797,"type":15},{"name":837,"slug":838,"type":15},"Backend","backend",{"name":9,"slug":8,"type":15},"2026-07-17T06:06:39.855351",27]