Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <link rel="icon" href="data:," /> | |
| <title>TeaQL Browser SQLite</title> | |
| <script type="module" crossorigin src="/assets/index-DTZ5iA72.js"></script> | |
| <link rel="stylesheet" crossorigin href="/assets/index-inj2slTy.css"> | |
| </head> | |
| <body> | |
| <main> | |
| <p class="eyebrow">TEAQL TYPESCRIPT RUNTIME</p> | |
| <h1>Browser-local Data Service</h1> | |
| <p>Write the same generated Q API used by an application. Peggy parses it into a controlled AST; no arbitrary JavaScript is evaluated.</p> | |
| <p><strong>Everything runs in this browser.</strong> There is no application backend and no server-side business database.</p> | |
| <div class="controls"> | |
| <label><input id="persist" type="checkbox" /> Persist locally with OPFS <span id="opfs-note"></span></label> | |
| <button id="reset">Reset demo data</button> | |
| </div> | |
| <p id="status">Starting SQLite/WASM…</p> | |
| <section class="query-panel"> | |
| <div class="query-toolbar"> | |
| <label for="preset">Example</label> | |
| <select id="preset"> | |
| <option value="facet">Rows + relation facet</option> | |
| <option value="filter">String filter</option> | |
| <option value="all">Bounded list</option> | |
| </select> | |
| <button id="run" class="run">Run query</button> | |
| </div> | |
| <textarea id="query" spellcheck="false" aria-label="TeaQL query"></textarea> | |
| <p class="hint">Accepted input is the generated TypeScript Q API. Execution, imports, assignments, and browser APIs are not part of the grammar.</p> | |
| </section> | |
| <section class="response-panel"> | |
| <div class="response-heading"> | |
| <h2>Web Response</h2> | |
| <span>data · metadata · facets</span> | |
| </div> | |
| <pre id="result"></pre> | |
| </section> | |
| </main> | |
| </body> | |
| </html> | |