1// This cron emails Hacker News stories from its API every 3 days.
2
3import { email } from "https://esm.town/v/std/email";
1// This cron emails Hacker News stories from its API every 3 days.
2
3import { email } from "https://esm.town/v/std/email";
261 <style>${css}</style>
262 <meta name="viewport" content="width=device-width, initial-scale=1.0">
263 <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
264 </head>
265 <body>
243 <style>${css}</style>
244 <meta name="viewport" content="width=device-width, initial-scale=1.0">
245 <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
246 </head>
247 <body>
344 <style>${css}</style>
345 <meta name="viewport" content="width=device-width, initial-scale=1.0">
346 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet">
347 </head>
348 <body>
381 `;
382
383 const response = await fetch("https://api.github.com/graphql", {
384 method: "POST",
385 headers: {
1* Fork this val to your own profile.
2* Create a [Val Town API token](https://www.val.town/settings/api), open the browser preview of this val, and use the API token as the password to log in.
3
38 model: openai("gpt-4o", {
39 baseURL: "https://std-openaiproxy.web.val.run/v1",
40 apiKey: Deno.env.get("valtown"),
41 } as any),
42 messages: [
1import { authenticate, getCoreApiBaseEndpoint, jwtVerify } from "jsr:@commercelayer/js-auth";
2
3const auth = await authenticate("client_credentials", {
12if ("organization" in decodedJWT.payload) {
13 console.log("organization slug is", decodedJWT.payload.organization.slug);
14 console.log("base endpoint is", getCoreApiBaseEndpoint(auth.accessToken));
15}
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 />