[{"data":1,"prerenderedAt":667},["ShallowReactive",2],{"fougere:post.list:{}":3,"reference:\u002Freference\u002Finterfaces":6,"reference-pages":455},{"items":4,"hasMore":5},[],false,{"id":7,"title":8,"body":9,"description":446,"extension":447,"file":448,"meta":449,"navigation":450,"path":451,"seo":452,"stem":453,"__hash__":454},"reference\u002Freference\u002F10.interfaces.md","Interfaces to extend",{"type":10,"value":11,"toc":430},"minimark",[12,16,25,32,39,71,77,81,111,117,122,146,152,161,164,170,176,179,185,189,223,229,235,246,252,258,261,267,271,303,309,313,384,390,394],[13,14,8],"h1",{"id":15},"interfaces-to-extend",[17,18,19,20,24],"p",{},"Each one is empty in the package that declares it. A package adds its line with ",[21,22,23],"code",{},"declare module"," — that is how an adapter makes a word exist for the editor.",[26,27,29],"h3",{"id":28},"fougereentityadapters",[21,30,31],{},"FougereEntityAdapters",[17,33,34,35,38],{},"Declared by ",[21,36,37],{},"@fougere\u002Fschema",".",[40,41,42,55],"table",{},[43,44,45],"thead",{},[46,47,48,52],"tr",{},[49,50,51],"th",{},"augmented by",[49,53,54],{},"keys",[56,57,58],"tbody",{},[46,59,60,66],{},[61,62,63],"td",{},[21,64,65],{},"@fougere\u002Fadapter-sql",[61,67,68],{},[21,69,70],{},"sql",[26,72,74],{"id":73},"fougerefieldaxes",[21,75,76],{},"FougereFieldAxes",[17,78,34,79,38],{},[21,80,37],{},[40,82,83,91],{},[43,84,85],{},[46,86,87,89],{},[49,88,51],{},[49,90,54],{},[56,92,93],{},[46,94,95,99],{},[61,96,97],{},[21,98,37],{},[61,100,101,104,105,104,108],{},[21,102,103],{},"boundary",", ",[21,106,107],{},"lifecycle",[21,109,110],{},"role",[26,112,114],{"id":113},"fougerefrondprotocols",[21,115,116],{},"FougereFrondProtocols",[17,118,34,119,38],{},[21,120,121],{},"@fougere\u002Fcore",[40,123,124,132],{},[43,125,126],{},[46,127,128,130],{},[49,129,51],{},[49,131,54],{},[56,133,134],{},[46,135,136,141],{},[61,137,138],{},[21,139,140],{},"@fougere\u002Fadapter-rest",[61,142,143],{},[21,144,145],{},"rest",[26,147,149],{"id":148},"fougerehandlers",[21,150,151],{},"FougereHandlers",[17,153,34,154,156,157,160],{},[21,155,121],{},". Written by the scan into ",[21,158,159],{},".fougere\u002F",", never by hand.",[17,162,163],{},"The handler behind each address, as the scan writes it.",[26,165,167],{"id":166},"fougerenames",[21,168,169],{},"FougereNames",[17,171,34,172,156,174,160],{},[21,173,121],{},[21,175,159],{},[17,177,178],{},"The names the scan found, per kind. Augmented from the generated file, empty otherwise.",[26,180,182],{"id":181},"fougereoperationprotocols",[21,183,184],{},"FougereOperationProtocols",[17,186,34,187,38],{},[21,188,121],{},[40,190,191,199],{},[43,192,193],{},[46,194,195,197],{},[49,196,51],{},[49,198,54],{},[56,200,201,213],{},[46,202,203,208],{},[61,204,205],{},[21,206,207],{},"@fougere\u002Fadapter-graphql",[61,209,210],{},[21,211,212],{},"graphql",[46,214,215,219],{},[61,216,217],{},[21,218,140],{},[61,220,221],{},[21,222,145],{},[26,224,226],{"id":225},"fougereoperations",[21,227,228],{},"FougereOperations",[17,230,34,231,156,233,160],{},[21,232,121],{},[21,234,159],{},[17,236,237,238,241,242,245],{},"What one facade answers for, keyed ",[21,239,240],{},"address.op"," — ",[21,243,244],{},"surface:address.op"," for a named surface.",[26,247,249],{"id":248},"fougereports",[21,250,251],{},"FougerePorts",[17,253,34,254,156,256,160],{},[21,255,121],{},[21,257,159],{},[17,259,260],{},"Each port, and the classes that extend it.",[26,262,264],{"id":263},"fougereprotocols",[21,265,266],{},"FougereProtocols",[17,268,34,269,38],{},[21,270,121],{},[40,272,273,281],{},[43,274,275],{},[46,276,277,279],{},[49,278,51],{},[49,280,54],{},[56,282,283,293],{},[46,284,285,289],{},[61,286,287],{},[21,288,207],{},[61,290,291],{},[21,292,212],{},[46,294,295,299],{},[61,296,297],{},[21,298,140],{},[61,300,301],{},[21,302,145],{},[26,304,306],{"id":305},"fougeresources",[21,307,308],{},"FougereSources",[17,310,34,311,38],{},[21,312,121],{},[40,314,315,323],{},[43,316,317],{},[46,318,319,321],{},[49,320,51],{},[49,322,54],{},[56,324,325,337,349,361],{},[46,326,327,332],{},[61,328,329],{},[21,330,331],{},"@fougere\u002Fadapter-env",[61,333,334],{},[21,335,336],{},"env",[46,338,339,344],{},[61,340,341],{},[21,342,343],{},"@fougere\u002Fadapter-file",[61,345,346],{},[21,347,348],{},"file",[46,350,351,356],{},[61,352,353],{},[21,354,355],{},"@fougere\u002Fadapter-memory",[61,357,358],{},[21,359,360],{},"memory",[46,362,363,367],{},[61,364,365],{},[21,366,65],{},[61,368,369,104,372,104,375,104,378,104,381],{},[21,370,371],{},"sqlite",[21,373,374],{},"pg",[21,376,377],{},"mysql",[21,379,380],{},"mssql",[21,382,383],{},"d1",[26,385,387],{"id":386},"fougerestates",[21,388,389],{},"FougereStates",[17,391,34,392,38],{},[21,393,121],{},[40,395,396,404],{},[43,397,398],{},[46,399,400,402],{},[49,401,51],{},[49,403,54],{},[56,405,406,418],{},[46,407,408,413],{},[61,409,410],{},[21,411,412],{},"@fougere\u002Fstate-cookie",[61,414,415],{},[21,416,417],{},"cookie",[46,419,420,425],{},[61,421,422],{},[21,423,424],{},"@fougere\u002Fstate-session",[61,426,427],{},[21,428,429],{},"session",{"title":431,"searchDepth":432,"depth":432,"links":433},"",2,[434,436,437,438,439,440,441,442,443,444,445],{"id":28,"depth":435,"text":31},3,{"id":73,"depth":435,"text":76},{"id":113,"depth":435,"text":116},{"id":148,"depth":435,"text":151},{"id":166,"depth":435,"text":169},{"id":181,"depth":435,"text":184},{"id":225,"depth":435,"text":228},{"id":248,"depth":435,"text":251},{"id":263,"depth":435,"text":266},{"id":305,"depth":435,"text":308},{"id":386,"depth":435,"text":389},"The empty interfaces a package augments with declare module, and who augments each.","md",null,{},true,"\u002Freference\u002Finterfaces",{"title":8,"description":446},"reference\u002F10.interfaces","hYs_r2QIqHvpgAQCvv0aEFYvUNXtwA-8EZRrBJrh9es",[456,461,466,471,476,481,486,491,496,501,502,507,512,516,520,524,528,532,536,541,546,551,556,561,566,571,575,580,585,590,595,600,605,610,615,620,625,630,634,638,642,647,652,657,662],{"path":457,"title":458,"description":459,"stem":460},"\u002Freference\u002Fcli","CLI","fougere new, serve, call, sync, graph — composing a workspace, hosting one frond, invoking an operation from a shell.","reference\u002F01.cli",{"path":462,"title":463,"description":464,"stem":465},"\u002Freference\u002Ferrors","Error codes","Every code an operation can refuse with, and its HTTP status.","reference\u002F02.errors",{"path":467,"title":468,"description":469,"stem":470},"\u002Freference\u002Fconfig","fougere.config.ts","Every key the app config admits, and which package answers each one.","reference\u002F03.config",{"path":472,"title":473,"description":474,"stem":475},"\u002Freference\u002Ffrond-config","frond.config.ts","Every key a frond's own config admits.","reference\u002F04.frond-config",{"path":477,"title":478,"description":479,"stem":480},"\u002Freference\u002Fsources","Source types","Every type an entry of sources: may name, and the keys it admits.","reference\u002F05.sources",{"path":482,"title":483,"description":484,"stem":485},"\u002Freference\u002Fprotocols","Protocols","What protocols: may serve, and what each admits.","reference\u002F06.protocols",{"path":487,"title":488,"description":489,"stem":490},"\u002Freference\u002Fstates","State keepers","How state: may keep a caller's values.","reference\u002F07.states",{"path":492,"title":493,"description":494,"stem":495},"\u002Freference\u002Fforms","Forms","The types a frond is written with — each one read by the scan.","reference\u002F08.forms",{"path":497,"title":498,"description":499,"stem":500},"\u002Freference\u002Fports","Ports Fougere opens","The classes you stand in front of, or extend, to change what the framework does.","reference\u002F09.ports",{"path":451,"title":8,"description":446,"stem":453},{"path":503,"title":504,"description":505,"stem":506},"\u002Freference\u002Fdiagnostics","Boot and check diagnostics","Every code a boot, the scan or fougere check can raise, and what it says.","reference\u002F11.diagnostics",{"path":508,"title":509,"description":510,"stem":511},"\u002Freference\u002Fpackages\u002Fadapter-duckdb","@fougere\u002Fadapter-duckdb","Read across an app's sources — one SQL query over what DuckDB can attach.","reference\u002Fpackages\u002Fadapter-duckdb",{"path":513,"title":331,"description":514,"stem":515},"\u002Freference\u002Fpackages\u002Fadapter-env","The process environment as a source — MEILI_URL read as Meili's url, judged at boot.","reference\u002Fpackages\u002Fadapter-env",{"path":517,"title":343,"description":518,"stem":519},"\u002Freference\u002Fpackages\u002Fadapter-file","Rows as files — one JSON or YAML file per row, in a directory per entity.","reference\u002Fpackages\u002Fadapter-file",{"path":521,"title":207,"description":522,"stem":523},"\u002Freference\u002Fpackages\u002Fadapter-graphql","Entity → GraphQL types, inputs and CRUD, through Pothos.","reference\u002Fpackages\u002Fadapter-graphql",{"path":525,"title":355,"description":526,"stem":527},"\u002Freference\u002Fpackages\u002Fadapter-memory","Rows in a Map — the source a first run meets, and the one that ships no driver.","reference\u002Fpackages\u002Fadapter-memory",{"path":529,"title":140,"description":530,"stem":531},"\u002Freference\u002Fpackages\u002Fadapter-rest","Entity → REST routes.","reference\u002Fpackages\u002Fadapter-rest",{"path":533,"title":65,"description":534,"stem":535},"\u002Freference\u002Fpackages\u002Fadapter-sql","Entity → SQL tables through Kysely (SQLite, PostgreSQL, MySQL, SQL Server).","reference\u002Fpackages\u002Fadapter-sql",{"path":537,"title":538,"description":539,"stem":540},"\u002Freference\u002Fpackages\u002Fadmin","@fougere\u002Fadmin","A back-office derived from what the app already says it hosts — a react-admin DataProvider over the Fougere wire.","reference\u002Fpackages\u002Fadmin",{"path":542,"title":543,"description":544,"stem":545},"\u002Freference\u002Fpackages\u002Fapp","@fougere\u002Fapp","The host-independent half of a Fougere app: boot, call envelope, REST table, form contract.","reference\u002Fpackages\u002Fapp",{"path":547,"title":548,"description":549,"stem":550},"\u002Freference\u002Fpackages\u002Fauth-better","@fougere\u002Fauth-better","Fougere's auth — a translation layer onto better-auth.","reference\u002Fpackages\u002Fauth-better",{"path":552,"title":553,"description":554,"stem":555},"\u002Freference\u002Fpackages\u002Fcalls","@fougere\u002Fcalls","Optional call log for Fougere: a bounded ring of every dispatch, served as an rpc operation. Read it with `fougere devtools`.","reference\u002Fpackages\u002Fcalls",{"path":557,"title":558,"description":559,"stem":560},"\u002Freference\u002Fpackages\u002Fcli","@fougere\u002Fcli","The Fougere CLI — compose a workspace, serve a frond, call an operation.","reference\u002Fpackages\u002Fcli",{"path":562,"title":563,"description":564,"stem":565},"\u002Freference\u002Fpackages\u002Fcompiler","@fougere\u002Fcompiler","The scan: Fougere reading a project's source to produce the descriptors core boots from. Needs a filesystem and a TypeScript program.","reference\u002Fpackages\u002Fcompiler",{"path":567,"title":568,"description":569,"stem":570},"\u002Freference\u002Fpackages\u002Fcontainer","@fougere\u002Fcontainer","Fougere's DI container: resolution by type, wired from the AST scan. Zero dependencies.","reference\u002Fpackages\u002Fcontainer",{"path":572,"title":121,"description":573,"stem":574},"\u002Freference\u002Fpackages\u002Fcore","The core — scan, call contract, façades, remote stand-ins.","reference\u002Fpackages\u002Fcore",{"path":576,"title":577,"description":578,"stem":579},"\u002Freference\u002Fpackages\u002Fdecorators","@fougere\u002Fdecorators","Configuration sugar (@config) — declarative, never hidden runtime.","reference\u002Fpackages\u002Fdecorators",{"path":581,"title":582,"description":583,"stem":584},"\u002Freference\u002Fpackages\u002Fdefaults","@fougere\u002Fdefaults","The conventional boot of a Fougere app — the one place storage is wired.","reference\u002Fpackages\u002Fdefaults",{"path":586,"title":587,"description":588,"stem":589},"\u002Freference\u002Fpackages\u002Fgraph","@fougere\u002Fgraph","Fougere's graph: a labelled directed multigraph, and the four questions asked of it — order, cycles, components, reach. Zero dependencies.","reference\u002Fpackages\u002Fgraph",{"path":591,"title":592,"description":593,"stem":594},"\u002Freference\u002Fpackages\u002Fhttp","@fougere\u002Fhttp","The words every HTTP door speaks — a method, an answer, the headers a state travels in.","reference\u002Fpackages\u002Fhttp",{"path":596,"title":597,"description":598,"stem":599},"\u002Freference\u002Fpackages\u002Flog","@fougere\u002Flog","Logging for Fougere: two lines for every call, in every process, and a file destination for the lines.","reference\u002Fpackages\u002Flog",{"path":601,"title":602,"description":603,"stem":604},"\u002Freference\u002Fpackages\u002Fnext","@fougere\u002Fnext","The Next.js adapter: mounting, and the one import that is genuinely Next.","reference\u002Fpackages\u002Fnext",{"path":606,"title":607,"description":608,"stem":609},"\u002Freference\u002Fpackages\u002Fnuxt","@fougere\u002Fnuxt","The Nuxt module: Fougere's client primitives and server surface.","reference\u002Fpackages\u002Fnuxt",{"path":611,"title":612,"description":613,"stem":614},"\u002Freference\u002Fpackages\u002Fobservability","@fougere\u002Fobservability","Optional observability for Fougere: one span per operation, W3C Trace Context across any transport.","reference\u002Fpackages\u002Fobservability",{"path":616,"title":617,"description":618,"stem":619},"\u002Freference\u002Fpackages\u002Foclif","@fougere\u002Foclif","A frond's operations, as a terminal: topics, flags and help derived from what it declares.","reference\u002Fpackages\u002Foclif",{"path":621,"title":622,"description":623,"stem":624},"\u002Freference\u002Fpackages\u002Freact","@fougere\u002Freact","Fougere's four primitives as React hooks — host-independent.","reference\u002Fpackages\u002Freact",{"path":626,"title":627,"description":628,"stem":629},"\u002Freference\u002Fpackages\u002Fregistry","@fougere\u002Fregistry","Fougere's registry: one answer per name, refused when a second one arrives, and a reload that says it replaces. Zero dependencies.","reference\u002Fpackages\u002Fregistry",{"path":631,"title":37,"description":632,"stem":633},"\u002Freference\u002Fpackages\u002Fschema","The entity and its 4 axes — shape, role, lifecycle, boundary. Subject-owned judgments, edge-safe.","reference\u002Fpackages\u002Fschema",{"path":635,"title":412,"description":636,"stem":637},"\u002Freference\u002Fpackages\u002Fstate-cookie","A caller's state kept in a cookie — what `state: { cart: { cookie: {} } }` names, signed by core, carried by every HTTP door.","reference\u002Fpackages\u002Fstate-cookie",{"path":639,"title":424,"description":640,"stem":641},"\u002Freference\u002Fpackages\u002Fstate-session","A caller's state kept in a session — what `state: { cart: { session: {} } }` names: one cookie holds a reference, the values a row in a source.","reference\u002Fpackages\u002Fstate-session",{"path":643,"title":644,"description":645,"stem":646},"\u002Freference\u002Fpackages\u002Fsvelte","@fougere\u002Fsvelte","Fougere's four primitives as Svelte stores — host-independent.","reference\u002Fpackages\u002Fsvelte",{"path":648,"title":649,"description":650,"stem":651},"\u002Freference\u002Fpackages\u002Ftesting","@fougere\u002Ftesting","Tests derived from the declaration — cases, stubs and a gradient of realities.","reference\u002Fpackages\u002Ftesting",{"path":653,"title":654,"description":655,"stem":656},"\u002Freference\u002Fpackages\u002Ftransport-http","@fougere\u002Ftransport-http","The call contract on the wire, in JSON-RPC 2.0 (server + client).","reference\u002Fpackages\u002Ftransport-http",{"path":658,"title":659,"description":660,"stem":661},"\u002Freference\u002Fpackages\u002Fvite","@fougere\u002Fvite","The Vite plugin: what any Vite-built host must know to run a Fougere app.","reference\u002Fpackages\u002Fvite",{"path":663,"title":664,"description":665,"stem":666},"\u002Freference\u002Fpackages\u002Fworkflow","@fougere\u002Fworkflow","A release that goes to the end: the journal is three entities, the sweep is an operation, and a shared journal is one line of remotes:.","reference\u002Fpackages\u002Fworkflow",1794396612354]