[{"data":1,"prerenderedAt":1020},["ShallowReactive",2],{"docs-nav:en":3,"docs:\u002Fdocs\u002Fschema\u002Fstandard-schema":134},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,16,20,24,42,63,92,113],{"title":10,"path":6,"stem":11},"What is Fougere","docs\u002Findex",{"title":13,"path":14,"stem":15},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F01.getting-started",{"title":17,"path":18,"stem":19},"Existing Nuxt app","\u002Fdocs\u002Fexisting-app","docs\u002F02.existing-app",{"title":21,"path":22,"stem":23},"The CLI","\u002Fdocs\u002Fcli","docs\u002F03.cli",{"title":25,"path":26,"stem":27,"children":28,"page":41},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002F2.concepts",[29,33,37],{"title":30,"path":31,"stem":32},"Philosophy","\u002Fdocs\u002Fconcepts\u002Fphilosophy","docs\u002F2.concepts\u002F1.philosophy",{"title":34,"path":35,"stem":36},"The Frond","\u002Fdocs\u002Fconcepts\u002Ffrond","docs\u002F2.concepts\u002F2.frond",{"title":38,"path":39,"stem":40},"The shortest path","\u002Fdocs\u002Fconcepts\u002Fshortest-path","docs\u002F2.concepts\u002F3.shortest-path",false,{"title":43,"path":44,"stem":45,"children":46,"page":41},"Schema","\u002Fdocs\u002Fschema","docs\u002F3.schema",[47,51,55,59],{"title":48,"path":49,"stem":50},"Entities","\u002Fdocs\u002Fschema\u002Fentities","docs\u002F3.schema\u002F1.entities",{"title":52,"path":53,"stem":54},"Views","\u002Fdocs\u002Fschema\u002Fviews","docs\u002F3.schema\u002F2.views",{"title":56,"path":57,"stem":58},"The identity card","\u002Fdocs\u002Fschema\u002Fcard","docs\u002F3.schema\u002F3.card",{"title":60,"path":61,"stem":62},"Standard Schema","\u002Fdocs\u002Fschema\u002Fstandard-schema","docs\u002F3.schema\u002F4.standard-schema",{"title":64,"path":65,"stem":66,"children":67,"page":41},"Business","\u002Fdocs\u002Fbusiness","docs\u002F4.business",[68,72,76,80,84,88],{"title":69,"path":70,"stem":71},"Handlers","\u002Fdocs\u002Fbusiness\u002Fhandlers","docs\u002F4.business\u002F1.handlers",{"title":73,"path":74,"stem":75},"Presenters","\u002Fdocs\u002Fbusiness\u002Fpresenters","docs\u002F4.business\u002F2.presenters",{"title":77,"path":78,"stem":79},"Collectors","\u002Fdocs\u002Fbusiness\u002Fcollectors","docs\u002F4.business\u002F3.collectors",{"title":81,"path":82,"stem":83},"Errors","\u002Fdocs\u002Fbusiness\u002Ferrors","docs\u002F4.business\u002F4.errors",{"title":85,"path":86,"stem":87},"Seeds","\u002Fdocs\u002Fbusiness\u002Fseeds","docs\u002F4.business\u002F5.seeds",{"title":89,"path":90,"stem":91},"Facts","\u002Fdocs\u002Fbusiness\u002Ffacts","docs\u002F4.business\u002F6.facts",{"title":93,"path":94,"stem":95,"children":96,"page":41},"Client","\u002Fdocs\u002Fclient","docs\u002F5.client",[97,101,105,109],{"title":98,"path":99,"stem":100},"Queries & commands","\u002Fdocs\u002Fclient\u002Fqueries-commands","docs\u002F5.client\u002F1.queries-commands",{"title":102,"path":103,"stem":104},"Forms","\u002Fdocs\u002Fclient\u002Fforms","docs\u002F5.client\u002F2.forms",{"title":106,"path":107,"stem":108},"Session","\u002Fdocs\u002Fclient\u002Fsession","docs\u002F5.client\u002F3.session",{"title":110,"path":111,"stem":112},"invoke","\u002Fdocs\u002Fclient\u002Finvoke","docs\u002F5.client\u002F4.invoke",{"title":114,"path":115,"stem":116,"children":117,"page":41},"Infrastructure","\u002Fdocs\u002Finfra","docs\u002F6.infra",[118,122,126,130],{"title":119,"path":120,"stem":121},"The gradient","\u002Fdocs\u002Finfra\u002Fgradient","docs\u002F6.infra\u002F1.gradient",{"title":123,"path":124,"stem":125},"Surfaces — REST & GraphQL","\u002Fdocs\u002Finfra\u002Fsurfaces","docs\u002F6.infra\u002F2.surfaces",{"title":127,"path":128,"stem":129},"Deployment","\u002Fdocs\u002Finfra\u002Fdeployment","docs\u002F6.infra\u002F3.deployment",{"title":131,"path":132,"stem":133},"Hosts","\u002Fdocs\u002Finfra\u002Fhosts","docs\u002F6.infra\u002F4.hosts",{"id":135,"title":60,"body":136,"description":1015,"extension":1016,"meta":1017,"navigation":222,"path":61,"seo":1018,"stem":62,"__hash__":1019},"docs_en\u002Fdocs\u002F3.schema\u002F4.standard-schema.md",{"type":137,"value":138,"toc":1009},"minimark",[139,143,154,382,391,396,411,414,538,552,556,564,728,748,770,774,777,860,874,881,885,896,978,985,999,1005],[140,141,60],"h1",{"id":142},"standard-schema",[144,145,146,147,153],"p",{},"An entity is a ",[148,149,60],"a",{"href":150,"rel":151},"https:\u002F\u002Fstandardschema.dev\u002F",[152],"nofollow",". It is the smallest way to\nuse Fougere: one package, one class, inside the framework you already have.",[155,156,161],"pre",{"className":157,"code":158,"language":159,"meta":160,"style":160},"language-ts shiki shiki-themes material-theme-lighter github-light github-dark","import { entity, primary, text, bool } from '@fougere\u002Fschema';\n\nexport default class Post extends entity({\n  id: primary(),\n  title: text({ min: 1, max: 200 }),\n  draft: bool({ default: false }),\n}) {}\n\nPost['~standard'];\n\u002F\u002F → { version: 1, vendor: 'fougere', validate }\n","ts","",[162,163,164,217,224,253,271,312,340,352,357,375],"code",{"__ignoreMap":160},[165,166,169,173,177,181,184,187,189,192,194,197,200,203,207,211,214],"span",{"class":167,"line":168},"line",1,[165,170,172],{"class":171},"sVHd0","import",[165,174,176],{"class":175},"sP7_E"," {",[165,178,180],{"class":179},"su5hD"," entity",[165,182,183],{"class":175},",",[165,185,186],{"class":179}," primary",[165,188,183],{"class":175},[165,190,191],{"class":179}," text",[165,193,183],{"class":175},[165,195,196],{"class":179}," bool",[165,198,199],{"class":175}," }",[165,201,202],{"class":171}," from",[165,204,206],{"class":205},"sjJ54"," '",[165,208,210],{"class":209},"s_sjI","@fougere\u002Fschema",[165,212,213],{"class":205},"'",[165,215,216],{"class":175},";\n",[165,218,220],{"class":167,"line":219},2,[165,221,223],{"emptyLinePlaceholder":222},true,"\n",[165,225,227,230,233,237,241,244,247,250],{"class":167,"line":226},3,[165,228,229],{"class":171},"export",[165,231,232],{"class":171}," default",[165,234,236],{"class":235},"sbsja"," class",[165,238,240],{"class":239},"sbgvK"," Post",[165,242,243],{"class":235}," extends",[165,245,180],{"class":246},"sGLFI",[165,248,249],{"class":179},"(",[165,251,252],{"class":175},"{\n",[165,254,256,260,263,265,268],{"class":167,"line":255},4,[165,257,259],{"class":258},"skxfh","  id",[165,261,262],{"class":175},":",[165,264,186],{"class":246},[165,266,267],{"class":179},"()",[165,269,270],{"class":175},",\n",[165,272,274,277,279,281,283,286,289,291,295,297,300,302,305,307,310],{"class":167,"line":273},5,[165,275,276],{"class":258},"  title",[165,278,262],{"class":175},[165,280,191],{"class":246},[165,282,249],{"class":179},[165,284,285],{"class":175},"{",[165,287,288],{"class":258}," min",[165,290,262],{"class":175},[165,292,294],{"class":293},"srdBf"," 1",[165,296,183],{"class":175},[165,298,299],{"class":258}," max",[165,301,262],{"class":175},[165,303,304],{"class":293}," 200",[165,306,199],{"class":175},[165,308,309],{"class":179},")",[165,311,270],{"class":175},[165,313,315,318,320,322,324,326,328,330,334,336,338],{"class":167,"line":314},6,[165,316,317],{"class":258},"  draft",[165,319,262],{"class":175},[165,321,196],{"class":246},[165,323,249],{"class":179},[165,325,285],{"class":175},[165,327,232],{"class":258},[165,329,262],{"class":175},[165,331,333],{"class":332},"syTEX"," false",[165,335,199],{"class":175},[165,337,309],{"class":179},[165,339,270],{"class":175},[165,341,343,346,349],{"class":167,"line":342},7,[165,344,345],{"class":175},"}",[165,347,348],{"class":179},") ",[165,350,351],{"class":175},"{}\n",[165,353,355],{"class":167,"line":354},8,[165,356,223],{"emptyLinePlaceholder":222},[165,358,360,363,365,368,370,373],{"class":167,"line":359},9,[165,361,362],{"class":179},"Post[",[165,364,213],{"class":205},[165,366,367],{"class":209},"~standard",[165,369,213],{"class":205},[165,371,372],{"class":179},"]",[165,374,216],{"class":175},[165,376,378],{"class":167,"line":377},10,[165,379,381],{"class":380},"sutJx","\u002F\u002F → { version: 1, vendor: 'fougere', validate }\n",[144,383,384,386,387,390],{},[162,385,367],{}," is a static getter on the class, so ",[162,388,389],{},"Post"," itself is the schema — there is\nnothing to wrap and no adapter package to install.",[392,393,395],"h2",{"id":394},"where-it-is-accepted","Where it is accepted",[144,397,398,399,402,403,406,407,410],{},"Any library that reads the spec takes an entity directly: tRPC, Hono, TanStack Form, and\n— announced for NestJS 12 — a Standard Schema in ",[162,400,401],{},"@Body",", ",[162,404,405],{},"@Query"," and ",[162,408,409],{},"@Param",", as the\nsuccessor to class-validator.",[144,412,413],{},"Derivations carry the interface too, which is what makes it useful at a route boundary —\nthe shape a caller may propose is rarely the whole row:",[155,415,417],{"className":157,"code":416,"language":159,"meta":160,"style":160},"export class PostDraft extends Post.pick('title') {}\nexport class PostPatch extends Post.omit('id').partial() {}\n\nPostDraft['~standard'].validate({ title: 'Hello' });  \u002F\u002F → { value: { title: 'Hello' } }\n",[162,418,419,451,490,494],{"__ignoreMap":160},[165,420,421,423,425,428,430,432,435,438,440,442,445,447,449],{"class":167,"line":168},[165,422,229],{"class":171},[165,424,236],{"class":235},[165,426,427],{"class":239}," PostDraft",[165,429,243],{"class":235},[165,431,240],{"class":179},[165,433,434],{"class":175},".",[165,436,437],{"class":246},"pick",[165,439,249],{"class":179},[165,441,213],{"class":205},[165,443,444],{"class":209},"title",[165,446,213],{"class":205},[165,448,348],{"class":179},[165,450,351],{"class":175},[165,452,453,455,457,460,462,464,466,469,471,473,476,478,480,482,485,488],{"class":167,"line":219},[165,454,229],{"class":171},[165,456,236],{"class":235},[165,458,459],{"class":239}," PostPatch",[165,461,243],{"class":235},[165,463,240],{"class":179},[165,465,434],{"class":175},[165,467,468],{"class":246},"omit",[165,470,249],{"class":179},[165,472,213],{"class":205},[165,474,475],{"class":209},"id",[165,477,213],{"class":205},[165,479,309],{"class":179},[165,481,434],{"class":175},[165,483,484],{"class":246},"partial",[165,486,487],{"class":179},"() ",[165,489,351],{"class":175},[165,491,492],{"class":167,"line":226},[165,493,223],{"emptyLinePlaceholder":222},[165,495,496,499,501,503,505,507,509,512,514,516,519,521,523,526,528,530,532,535],{"class":167,"line":255},[165,497,498],{"class":179},"PostDraft[",[165,500,213],{"class":205},[165,502,367],{"class":209},[165,504,213],{"class":205},[165,506,372],{"class":179},[165,508,434],{"class":175},[165,510,511],{"class":246},"validate",[165,513,249],{"class":179},[165,515,285],{"class":175},[165,517,518],{"class":258}," title",[165,520,262],{"class":175},[165,522,206],{"class":205},[165,524,525],{"class":209},"Hello",[165,527,213],{"class":205},[165,529,199],{"class":175},[165,531,309],{"class":179},[165,533,534],{"class":175},";",[165,536,537],{"class":380},"  \u002F\u002F → { value: { title: 'Hello' } }\n",[144,539,540,402,542,402,544,406,546,549,550,434],{},[162,541,437],{},[162,543,468],{},[162,545,484],{},[162,547,548],{},"extend"," all produce a class that is itself a Standard\nSchema. See ",[148,551,52],{"href":53},[392,553,555],{"id":554},"the-result-shape","The result shape",[144,557,558,559,563],{},"Validation is ",[560,561,562],"strong",{},"synchronous"," — the spec allows a promise, this vendor never returns one.",[155,565,567],{"className":157,"code":566,"language":159,"meta":160,"style":160},"const result = Post['~standard'].validate({ id: 'abc', title: '' });\n\nif (result.issues) {\n  result.issues[0].message;  \u002F\u002F 'String is too short (0 \u003C 1).'\n  result.issues[0].path;     \u002F\u002F [{ key: 'title' }]\n} else {\n  result.value;              \u002F\u002F the judged, decoded row\n}\n",[162,568,569,628,632,647,675,699,709,723],{"__ignoreMap":160},[165,570,571,574,578,582,585,587,589,591,593,595,597,599,601,604,606,608,611,613,615,617,619,622,624,626],{"class":167,"line":168},[165,572,573],{"class":235},"const",[165,575,577],{"class":576},"s_hVV"," result",[165,579,581],{"class":580},"smGrS"," =",[165,583,584],{"class":179}," Post[",[165,586,213],{"class":205},[165,588,367],{"class":209},[165,590,213],{"class":205},[165,592,372],{"class":179},[165,594,434],{"class":175},[165,596,511],{"class":246},[165,598,249],{"class":179},[165,600,285],{"class":175},[165,602,603],{"class":258}," id",[165,605,262],{"class":175},[165,607,206],{"class":205},[165,609,610],{"class":209},"abc",[165,612,213],{"class":205},[165,614,183],{"class":175},[165,616,518],{"class":258},[165,618,262],{"class":175},[165,620,621],{"class":205}," ''",[165,623,199],{"class":175},[165,625,309],{"class":179},[165,627,216],{"class":175},[165,629,630],{"class":167,"line":219},[165,631,223],{"emptyLinePlaceholder":222},[165,633,634,637,640,642,645],{"class":167,"line":226},[165,635,636],{"class":171},"if",[165,638,639],{"class":179}," (result",[165,641,434],{"class":175},[165,643,644],{"class":179},"issues) ",[165,646,252],{"class":175},[165,648,649,652,654,657,660,663,665,667,670,672],{"class":167,"line":255},[165,650,651],{"class":179},"  result",[165,653,434],{"class":175},[165,655,656],{"class":179},"issues",[165,658,659],{"class":258},"[",[165,661,662],{"class":293},"0",[165,664,372],{"class":258},[165,666,434],{"class":175},[165,668,669],{"class":179},"message",[165,671,534],{"class":175},[165,673,674],{"class":380},"  \u002F\u002F 'String is too short (0 \u003C 1).'\n",[165,676,677,679,681,683,685,687,689,691,694,696],{"class":167,"line":273},[165,678,651],{"class":179},[165,680,434],{"class":175},[165,682,656],{"class":179},[165,684,659],{"class":258},[165,686,662],{"class":293},[165,688,372],{"class":258},[165,690,434],{"class":175},[165,692,693],{"class":179},"path",[165,695,534],{"class":175},[165,697,698],{"class":380},"     \u002F\u002F [{ key: 'title' }]\n",[165,700,701,703,706],{"class":167,"line":314},[165,702,345],{"class":175},[165,704,705],{"class":171}," else",[165,707,708],{"class":175}," {\n",[165,710,711,713,715,718,720],{"class":167,"line":342},[165,712,651],{"class":179},[165,714,434],{"class":175},[165,716,717],{"class":179},"value",[165,719,534],{"class":175},[165,721,722],{"class":380},"              \u002F\u002F the judged, decoded row\n",[165,724,725],{"class":167,"line":354},[165,726,727],{"class":175},"}\n",[144,729,730,732,733,736,737,740,741,744,745,747],{},[162,731,693],{}," is a list of ",[162,734,735],{},"{ key }"," segments, per the spec. An error about the input as a whole\n— a ",[162,738,739],{},"null",", a non-object — carries ",[560,742,743],{},"no"," ",[162,746,693],{}," at all, rather than an empty one.",[144,749,750,751,753,754,758,759,762,763,765,766,769],{},"The ",[162,752,717],{}," is the ",[755,756,757],"em",{},"decoded"," row, not the raw input: a field declaring a ",[162,760,761],{},"Date"," comes\nback as a ",[162,764,761],{},", because the ",[148,767,768],{"href":49},"boundary axis"," runs its inbound\nconversion as part of the judgement.",[392,771,773],{"id":772},"defaults-are-not-filled","Defaults are not filled",[144,775,776],{},"One behaviour differs from most vendors, and it is the doctrine rather than an omission.",[155,778,780],{"className":157,"code":779,"language":159,"meta":160,"style":160},"const { value } = Post['~standard'].validate({ id: 'abc', title: 'Hello' });\n'draft' in value;  \u002F\u002F false — even though draft declares { default: false }\n",[162,781,782,841],{"__ignoreMap":160},[165,783,784,786,788,791,793,795,797,799,801,803,805,807,809,811,813,815,817,819,821,823,825,827,829,831,833,835,837,839],{"class":167,"line":168},[165,785,573],{"class":235},[165,787,176],{"class":175},[165,789,790],{"class":576}," value",[165,792,199],{"class":175},[165,794,581],{"class":580},[165,796,584],{"class":179},[165,798,213],{"class":205},[165,800,367],{"class":209},[165,802,213],{"class":205},[165,804,372],{"class":179},[165,806,434],{"class":175},[165,808,511],{"class":246},[165,810,249],{"class":179},[165,812,285],{"class":175},[165,814,603],{"class":258},[165,816,262],{"class":175},[165,818,206],{"class":205},[165,820,610],{"class":209},[165,822,213],{"class":205},[165,824,183],{"class":175},[165,826,518],{"class":258},[165,828,262],{"class":175},[165,830,206],{"class":205},[165,832,525],{"class":209},[165,834,213],{"class":205},[165,836,199],{"class":175},[165,838,309],{"class":179},[165,840,216],{"class":175},[165,842,843,845,848,850,853,855,857],{"class":167,"line":219},[165,844,213],{"class":205},[165,846,847],{"class":209},"draft",[165,849,213],{"class":205},[165,851,852],{"class":580}," in",[165,854,790],{"class":179},[165,856,534],{"class":175},[165,858,859],{"class":380},"  \u002F\u002F false — even though draft declares { default: false }\n",[144,861,862,863,865,866,869,870,873],{},"The judge decides whether an absent ",[162,864,847],{}," is ",[755,867,868],{},"legal",". It is, so the input passes. But\n",[560,871,872],{},"filling"," the hole belongs to the storage, at the point of persistence — a value that\nwould appear from nowhere during validation is a value the caller never sent and cannot\nbe held to. Judge and realize stay separate, so the same input judged twice never gains a\nfield on the way through.",[144,875,876,877,880],{},"If you are replacing a Zod schema whose ",[162,878,879],{},".default()"," you relied on at the route, that\nline has to move to wherever the row is written.",[392,882,884],{"id":883},"what-does-not-cross","What does not cross",[144,886,887,888,891,892,895],{},"Standard Schema is one function: ",[162,889,890],{},"validate(value) → value | issues",". It carries the\n",[560,893,894],{},"shape"," axis and nothing else.",[897,898,899,916],"table",{},[900,901,902],"thead",{},[903,904,905,908,913],"tr",{},[906,907],"th",{},[906,909,910,911],{},"crosses ",[162,912,367],{},[906,914,915],{},"stays home",[917,918,919,932,945,958],"tbody",{},[903,920,921,927,930],{},[922,923,924,926],"td",{},[162,925,894],{}," — the JSON Schema keywords",[922,928,929],{},"✅",[922,931],{},[903,933,934,940,942],{},[922,935,936,939],{},[162,937,938],{},"role"," — primary, relations, unique",[922,941],{},[922,943,944],{},"the DDL, the GraphQL type",[903,946,947,953,955],{},[922,948,949,952],{},[162,950,951],{},"lifecycle"," — who writes, and when",[922,954],{},[922,956,957],{},"the ORM that stamps it",[903,959,960,966,969],{},[922,961,962,965],{},[162,963,964],{},"boundary"," — direction, conversions",[922,967,968],{},"partly — inbound decode runs",[922,970,971,974,975],{},[162,972,973],{},"inputFields"," \u002F ",[162,976,977],{},"outputFields",[144,979,980,981,984],{},"So a consumer outside Fougere gets the judge, in the browser or on its server, with the\nsame rules the façade applies. It does not get the table, the surfaces or the form\ncontract — those read ",[162,982,983],{},"Post.getFields()",", which is a Fougere call.",[144,986,987,988,991,992,995,996,434],{},"For the serializable form of the same declaration — the one that crosses a ",[755,989,990],{},"process"," or\na ",[755,993,994],{},"language"," rather than a library boundary — see ",[148,997,998],{"href":57},"the identity card",[144,1000,1001,1002,1004],{},"Next: ",[148,1003,69],{"href":70}," — operations, binding rules, output scoping.",[1006,1007,1008],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}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 .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":160,"searchDepth":219,"depth":219,"links":1010},[1011,1012,1013,1014],{"id":394,"depth":219,"text":395},{"id":554,"depth":219,"text":555},{"id":772,"depth":219,"text":773},{"id":883,"depth":219,"text":884},"Every entity implements Standard Schema v1, so it is accepted outside Fougere with no adapter.","md",{},{"title":60,"description":1015},"9mpLD49U66xV6r4j6pOjcxhzP0P_8QEHgZrnaZnkI7U",1786637819120]