[{"data":1,"prerenderedAt":337},["ShallowReactive",2],{"fougere:post.list:{}":3,"reference:\u002Freference\u002Fpackages\u002Fdecorators":6,"reference-pages":115},{"items":4,"hasMore":5},[],false,{"id":7,"title":8,"body":9,"description":19,"extension":107,"file":108,"meta":109,"navigation":110,"path":111,"seo":112,"stem":113,"__hash__":114},"reference\u002Freference\u002Fpackages\u002Fdecorators.md","@fougere\u002Fdecorators",{"type":10,"value":11,"toc":102},"minimark",[12,16,20,26,31],[13,14,8],"h1",{"id":15},"fougeredecorators",[17,18,19],"p",{},"Configuration sugar (@config) — declarative, never hidden runtime.",[17,21,22,23],{},"Entries: ",[24,25,8],"code",{},[27,28,30],"h2",{"id":29},"what-you-import","What you import",[32,33,34,46],"table",{},[35,36,37],"thead",{},[38,39,40,44],"tr",{},[41,42,43],"th",{},"name",[41,45],{},[47,48,49,59,67,75,89],"tbody",{},[38,50,51,57],{},[52,53,54],"td",{},[24,55,56],{},"expose",[52,58],{},[38,60,61,65],{},[52,62,63],{},[24,64,56],{},[52,66],{},[38,68,69,73],{},[52,70,71],{},[24,72,56],{},[52,74],{},[38,76,77,82],{},[52,78,79],{},[24,80,81],{},"isExposed",[52,83,84,85,88],{},"Check whether a class has been marked with ",[24,86,87],{},"@expose",".",[38,90,91,96],{},[52,92,93],{},[24,94,95],{},"getExposedMethods",[52,97,98,99,101],{},"Get method names marked with ",[24,100,87],{}," on a class. Requires one instantiation to populate.",{"title":103,"searchDepth":104,"depth":104,"links":105},"",2,[106],{"id":29,"depth":104,"text":30},"md",null,{},true,"\u002Freference\u002Fpackages\u002Fdecorators",{"title":8,"description":19},"reference\u002Fpackages\u002Fdecorators","SiK7M7kke6KVA1e3qt546mAlbCbZXIWA2bd11CloSbE",[116,121,126,131,136,141,146,151,156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246,247,252,257,262,267,272,277,282,287,292,297,302,307,312,317,322,327,332],{"path":117,"title":118,"description":119,"stem":120},"\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":122,"title":123,"description":124,"stem":125},"\u002Freference\u002Ferrors","Error codes","Every code an operation can refuse with, and its HTTP status.","reference\u002F02.errors",{"path":127,"title":128,"description":129,"stem":130},"\u002Freference\u002Fconfig","fougere.config.ts","Every key the app config admits, and which package answers each one.","reference\u002F03.config",{"path":132,"title":133,"description":134,"stem":135},"\u002Freference\u002Ffrond-config","frond.config.ts","Every key a frond's own config admits.","reference\u002F04.frond-config",{"path":137,"title":138,"description":139,"stem":140},"\u002Freference\u002Fsources","Source types","Every type an entry of sources: may name, and the keys it admits.","reference\u002F05.sources",{"path":142,"title":143,"description":144,"stem":145},"\u002Freference\u002Fprotocols","Protocols","What protocols: may serve, and what each admits.","reference\u002F06.protocols",{"path":147,"title":148,"description":149,"stem":150},"\u002Freference\u002Fstates","State keepers","How state: may keep a caller's values.","reference\u002F07.states",{"path":152,"title":153,"description":154,"stem":155},"\u002Freference\u002Fforms","Forms","The types a frond is written with — each one read by the scan.","reference\u002F08.forms",{"path":157,"title":158,"description":159,"stem":160},"\u002Freference\u002Fports","Ports Fougere opens","The classes you stand in front of, or extend, to change what the framework does.","reference\u002F09.ports",{"path":162,"title":163,"description":164,"stem":165},"\u002Freference\u002Finterfaces","Interfaces to extend","The empty interfaces a package augments with declare module, and who augments each.","reference\u002F10.interfaces",{"path":167,"title":168,"description":169,"stem":170},"\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":172,"title":173,"description":174,"stem":175},"\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":177,"title":178,"description":179,"stem":180},"\u002Freference\u002Fpackages\u002Fadapter-env","@fougere\u002Fadapter-env","The process environment as a source — MEILI_URL read as Meili's url, judged at boot.","reference\u002Fpackages\u002Fadapter-env",{"path":182,"title":183,"description":184,"stem":185},"\u002Freference\u002Fpackages\u002Fadapter-file","@fougere\u002Fadapter-file","Rows as files — one JSON or YAML file per row, in a directory per entity.","reference\u002Fpackages\u002Fadapter-file",{"path":187,"title":188,"description":189,"stem":190},"\u002Freference\u002Fpackages\u002Fadapter-graphql","@fougere\u002Fadapter-graphql","Entity → GraphQL types, inputs and CRUD, through Pothos.","reference\u002Fpackages\u002Fadapter-graphql",{"path":192,"title":193,"description":194,"stem":195},"\u002Freference\u002Fpackages\u002Fadapter-memory","@fougere\u002Fadapter-memory","Rows in a Map — the source a first run meets, and the one that ships no driver.","reference\u002Fpackages\u002Fadapter-memory",{"path":197,"title":198,"description":199,"stem":200},"\u002Freference\u002Fpackages\u002Fadapter-rest","@fougere\u002Fadapter-rest","Entity → REST routes.","reference\u002Fpackages\u002Fadapter-rest",{"path":202,"title":203,"description":204,"stem":205},"\u002Freference\u002Fpackages\u002Fadapter-sql","@fougere\u002Fadapter-sql","Entity → SQL tables through Kysely (SQLite, PostgreSQL, MySQL, SQL Server).","reference\u002Fpackages\u002Fadapter-sql",{"path":207,"title":208,"description":209,"stem":210},"\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":212,"title":213,"description":214,"stem":215},"\u002Freference\u002Fpackages\u002Fapp","@fougere\u002Fapp","The host-independent half of a Fougere app: boot, call envelope, REST table, form contract.","reference\u002Fpackages\u002Fapp",{"path":217,"title":218,"description":219,"stem":220},"\u002Freference\u002Fpackages\u002Fauth-better","@fougere\u002Fauth-better","Fougere's auth — a translation layer onto better-auth.","reference\u002Fpackages\u002Fauth-better",{"path":222,"title":223,"description":224,"stem":225},"\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":227,"title":228,"description":229,"stem":230},"\u002Freference\u002Fpackages\u002Fcli","@fougere\u002Fcli","The Fougere CLI — compose a workspace, serve a frond, call an operation.","reference\u002Fpackages\u002Fcli",{"path":232,"title":233,"description":234,"stem":235},"\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":237,"title":238,"description":239,"stem":240},"\u002Freference\u002Fpackages\u002Fcontainer","@fougere\u002Fcontainer","Fougere's DI container: resolution by type, wired from the AST scan. Zero dependencies.","reference\u002Fpackages\u002Fcontainer",{"path":242,"title":243,"description":244,"stem":245},"\u002Freference\u002Fpackages\u002Fcore","@fougere\u002Fcore","The core — scan, call contract, façades, remote stand-ins.","reference\u002Fpackages\u002Fcore",{"path":111,"title":8,"description":19,"stem":113},{"path":248,"title":249,"description":250,"stem":251},"\u002Freference\u002Fpackages\u002Fdefaults","@fougere\u002Fdefaults","The conventional boot of a Fougere app — the one place storage is wired.","reference\u002Fpackages\u002Fdefaults",{"path":253,"title":254,"description":255,"stem":256},"\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":258,"title":259,"description":260,"stem":261},"\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":263,"title":264,"description":265,"stem":266},"\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":268,"title":269,"description":270,"stem":271},"\u002Freference\u002Fpackages\u002Fnext","@fougere\u002Fnext","The Next.js adapter: mounting, and the one import that is genuinely Next.","reference\u002Fpackages\u002Fnext",{"path":273,"title":274,"description":275,"stem":276},"\u002Freference\u002Fpackages\u002Fnuxt","@fougere\u002Fnuxt","The Nuxt module: Fougere's client primitives and server surface.","reference\u002Fpackages\u002Fnuxt",{"path":278,"title":279,"description":280,"stem":281},"\u002Freference\u002Fpackages\u002Fobservability","@fougere\u002Fobservability","Optional observability for Fougere: one span per operation, W3C Trace Context across any transport.","reference\u002Fpackages\u002Fobservability",{"path":283,"title":284,"description":285,"stem":286},"\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":288,"title":289,"description":290,"stem":291},"\u002Freference\u002Fpackages\u002Freact","@fougere\u002Freact","Fougere's four primitives as React hooks — host-independent.","reference\u002Fpackages\u002Freact",{"path":293,"title":294,"description":295,"stem":296},"\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":298,"title":299,"description":300,"stem":301},"\u002Freference\u002Fpackages\u002Fschema","@fougere\u002Fschema","The entity and its 4 axes — shape, role, lifecycle, boundary. Subject-owned judgments, edge-safe.","reference\u002Fpackages\u002Fschema",{"path":303,"title":304,"description":305,"stem":306},"\u002Freference\u002Fpackages\u002Fstate-cookie","@fougere\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":308,"title":309,"description":310,"stem":311},"\u002Freference\u002Fpackages\u002Fstate-session","@fougere\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":313,"title":314,"description":315,"stem":316},"\u002Freference\u002Fpackages\u002Fsvelte","@fougere\u002Fsvelte","Fougere's four primitives as Svelte stores — host-independent.","reference\u002Fpackages\u002Fsvelte",{"path":318,"title":319,"description":320,"stem":321},"\u002Freference\u002Fpackages\u002Ftesting","@fougere\u002Ftesting","Tests derived from the declaration — cases, stubs and a gradient of realities.","reference\u002Fpackages\u002Ftesting",{"path":323,"title":324,"description":325,"stem":326},"\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":328,"title":329,"description":330,"stem":331},"\u002Freference\u002Fpackages\u002Fvite","@fougere\u002Fvite","The Vite plugin: what any Vite-built host must know to run a Fougere app.","reference\u002Fpackages\u002Fvite",{"path":333,"title":334,"description":335,"stem":336},"\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",1794396612944]