10 serverID: signer.id,
11 signer,
12 transport: new ClientTransport({ url: "https://paul_lecam-enkakuauthenticatedapi.web.val.run" }),
13});
14
15// Client can access restricted API
16const entries = await client.request("kv:list").toValue();
17console.log("Entries", entries);
10 serverID: Deno.env.get("ENKAKU_SERVER_ID")!,
11 signer,
12 transport: new ClientTransport({ url: "https://paul_lecam-enkakuauthenticatedapi.web.val.run" }),
13});
14
23console.log("Value", value);
24
25// The following API access is restricted, only the signer matching the server ID can call it
26const entries = await client.request("kv:list").toValue();
27console.log("Entries", entries);
7export async function loadPageContent(url: string, options: LoadPageContentOptions = { textContent: false }) {
8 const browser = await puppeteer.connect({
9 browserWSEndpoint: `wss://connect.browserbase.com?apiKey=${Deno.env.get("BROWSERBASE_API_KEY")}`,
10 });
11
35export async function screenshotPage(url: string, options: ScreenshotPageOptions = { fullPage: true }) {
36 const browser = await puppeteer.connect({
37 browserWSEndpoint: `wss://connect.browserbase.com?apiKey=${Deno.env.get("BROWSERBASE_API_KEY")}`,
38 });
39
2import Steel from "npm:steel-sdk";
3
4const STEEL_API_KEY = process.env.STEEL_API_KEY;
5// Initialize Steel client with the API key from environment variables
6const client = new Steel({
7 steelAPIKey: STEEL_API_KEY,
8});
9
37 // Connect Puppeteer to the Steel session
38 browser = await puppeteer.connect({
39 browserWSEndpoint: `wss://connect.steel.dev?apiKey=${STEEL_API_KEY}&sessionId=${session.id}`,
40 });
41
115 <meta name="viewport" content="width=device-width, initial-scale=1.0">
116 <title>52 Startups Coder</title>
117 <link rel="preconnect" href="https://fonts.googleapis.com" />
118 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
119 <link
120 href="https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap"
121 rel="stylesheet"
122 />
131 <meta property="og:description" content="Turn your startup ideas into fully functional apps in less than a second – powered by AI innovation.">
132 <meta property="og:type" content="website">
133 <meta property="og:image" content="https://stevekrouse-blob_admin.web.val.run/api/public/52StartupsCoder.jpg">
134
135 <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css">
6
71. Sign up for [Cerebras](https://cloud.cerebras.ai/)
82. Get a Cerebras API Key
93. Save it in a [Val Town environment variable](https://www.val.town/settings/environment-variables) called `CEREBRAS_API_KEY`
10
11# Todos
42
43 // Mock exchange rates to USD for testing.
44 // In a real scenario, these would come from an external API or database.
45 const mockRatesToUSD: Record<string, number> = {
46 USD: 1,
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
27 <head>
28 <title>SQLite Explorer</title>
29 <link rel="preconnect" href="https://fonts.googleapis.com" />
30
31 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
32 <link
33 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"
34 rel="stylesheet"
35 />
6
71. Sign up for [Cerebras](https://cloud.cerebras.ai/)
82. Get a Cerebras API Key
93. Save it in a [Val Town environment variable](https://www.val.town/settings/environment-variables) called `CEREBRAS_API_KEY`
10
11# Todos