13## Authentication
14
15Login to your SQLite Explorer with [password authentication](https://www.val.town/v/pomdtr/password_auth) with your [Val Town API Token](https://www.val.town/settings/api) as the password.
16
17## Todos / Plans
26 <head>
27 <title>SQLite Explorer</title>
28 <link rel="preconnect" href="https://fonts.googleapis.com" />
29
30 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
31 <link
32 href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap"
33 rel="stylesheet"
34 />
25Todos:
26
27- this should filter the twitter API call to only tweets since the last run.
28- some kind of caching to avoid rate limiting
29- would be nice to use the user's feed instead of a username list... but not sure how easy that is
1export const oceanTheme = {
2 fontLink: `<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap" rel="stylesheet">`,
3 styles: `
4 /* General styles */
1Migrated from folder: browserbase/httpApiScreenshotPageExample
2
3const browser = await puppeteer.connect({
4 browserWSEndpoint: `wss://connect.browserbase.com?apiKey=${Deno.env.get("BROWSERBASE_API_KEY")}`,
5});
6
13}));
14
15openai.apiKey = Deno.env.get("OPENAI_API_KEY");
16
17class SemanticSearch {
56
57 const val = await fetchJSON(
58 `https://api.val.town/v1/vals`,
59 {
60 method: "POST",
2import { generateValCode } from "https://esm.town/v/yawnxyz/generateValCode";
3
4export let generateValCodeAPI = (description: string) =>
5 generateValCode(
6 process.env.OPENAI_API_KEY,
7 description,
8 );
1Migrated from folder: Archive/generateValCodeAPI