Val Town Code SearchReturn to Val Town

API Access

You can access search results via JSON API by adding format=json to your query:

https://codesearch.val.run/$%7Bsuccess?q=api&page=927&format=json

For typeahead suggestions, use the /typeahead endpoint:

https://codesearch.val.run/typeahead?q=api

Returns an array of strings in format "username" or "username/projectName"

Found 18993 results for "api"(4896ms)

cerebras_coderindex.html3 matches

@arshaffieโ€ขUpdated 1 month ago
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>CerebrasCoder</title>
7 <link rel="preconnect" href="https://fonts.googleapis.com" />
8 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9 <link
10 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"
11 rel="stylesheet"
12 />
21 <meta property="og:description" content="Turn your ideas into fully functional apps in less than a second โ€“ powered by Llama3.3-70b on Cerebras's super-fast wafer chips. Code is 100% open-source, hosted on Val Town."">
22 <meta property="og:type" content="website">
23 <meta property="og:image" content="https://stevekrouse-blob_admin.web.val.run/api/public/CerebrasCoderOG.jpg">
24
25

cerebras_codergenerate-code.ts1 match

@arshaffieโ€ขUpdated 1 month ago
16 };
17 } else {
18 const client = new Cerebras({ apiKey: Deno.env.get("CEREBRAS_API_KEY") });
19 const completion = await client.chat.completions.create({
20 messages: [

therundownmain.tsx16 matches

@dcm31โ€ขUpdated 1 month ago
157 isDirect = false;
158 } else if (marketConfig.provider === "manifold") {
159 fetchUrl = `https://api.manifold.markets/v0/slug/${marketConfig.slug}`;
160 isDirect = true;
161 } else { return { ...marketConfig, q: "Unknown", prob: null }; }
325 <span
326 className="text-xs sm:text-sm text-stone-500 mt-1"
327 title="30d change not available from this API endpoint"
328 >
329 30d N/A
425}
426
427/*โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ API HELPER FUNCTIONS โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€*/
428// (extractProbability remains same as v12)
429function extractProbability(provider: string, jsonData: any): number | null {
499 }
500 const slug = decodeURIComponent(parts[3]);
501 const targetUrl = `https://gamma-api.polymarket.com/markets?slug=${slug}`;
502 const headers: HeadersInit = { "Accept": "application/json", "User-Agent": "ValTownDashboardProxy/1.1" };
503 try {
504 const apiResponse = await fetch(targetUrl, { headers: headers });
505 if (!apiResponse.ok) {
506 let errorBody = `Upstream API Error ${apiResponse.status}`;
507 let responseText = "";
508 try {
509 responseText = await apiResponse.clone().text();
510 errorBody = responseText || errorBody;
511 } catch (e) {}
515 if (!structuredError.error) structuredError.error = responseText;
516 } catch (_) {}
517 console.error(`Proxy error Polymarket/${slug}: ${apiResponse.status}`, structuredError);
518 return new Response(JSON.stringify(structuredError), {
519 status: apiResponse.status,
520 headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*" },
521 });
522 }
523 const contentType = apiResponse.headers.get("content-type");
524 if (!contentType || !contentType.includes("application/json")) {
525 let responseText = "";
526 try {
527 responseText = await apiResponse.text();
528 } catch (e) {}
529 console.warn(`Unexpected Content-Type '${contentType}' from Polymarket. Body:`, responseText);
530 return new Response(JSON.stringify({ error: `Unexpected Content-Type from upstream API: ${contentType}` }), {
531 status: 502,
532 headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*" },
533 });
534 }
535 return new Response(apiResponse.body, {
536 status: apiResponse.status,
537 headers: {
538 "Content-Type": "application/json",
553 const moduleUrl = selfUrl.toString();
554 const html =
555 `<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Market Dashboard</title><meta name="description" content="Customizable live prediction market odds"><link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>๐Ÿ“Š</text></svg>"><script src="https://cdn.tailwindcss.com"></script><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;700&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap" rel="stylesheet"><style>html, body, #root { height: 100%; margin: 0; } body { background-color: #171717; color: #e5e5e5; font-family: 'Inter', sans-serif; } #root { display: flex; flex-direction: column; } .font-percentage { font-family: "Bebas Neue", sans-serif; } .font-serif { font-family: 'Playfair Display', serif; } *:focus-visible { outline: 2px solid #6ee7b7; outline-offset: 2px; }</style></head><body><div id="root"><noscript><div style="padding: 20px; text-align: center; color: #e5e5e5;">JavaScript is required.</div></noscript></div><script type="module" src="${moduleUrl}"></script></body></html>`;
556 return new Response(html, { status: 200, headers: { "Content-Type": "text/html", "Cache-Control": "no-cache" } });
557}

willikinssendDailyBrief.ts8 matches

@dev88โ€ขUpdated 1 month ago
97
98export async function sendDailyBriefing(chatId?: string, today?: DateTime) {
99 // Get API keys from environment
100 const apiKey = Deno.env.get("ANTHROPIC_API_KEY");
101 const telegramToken = Deno.env.get("TELEGRAM_TOKEN");
102
106 }
107
108 if (!apiKey) {
109 console.error("Anthropic API key is not configured.");
110 return;
111 }
122
123 // Initialize Anthropic client
124 const anthropic = new Anthropic({ apiKey });
125
126 // Initialize Telegram bot
162
163 // disabled title for now, it seemes unnecessary...
164 // await bot.api.sendMessage(chatId, `*${title}*`, { parse_mode: "Markdown" });
165
166 // Then send the main content
169
170 if (content.length <= MAX_LENGTH) {
171 await bot.api.sendMessage(chatId, content, { parse_mode: "Markdown" });
172 // Store the briefing in chat history
173 await storeChatMessage(
198 // Send each chunk as a separate message and store in chat history
199 for (const chunk of chunks) {
200 await bot.api.sendMessage(chatId, chunk, { parse_mode: "Markdown" });
201 // Store each chunk in chat history
202 await storeChatMessage(

willikinsREADME.md1 match

@dev88โ€ขUpdated 1 month ago
53You'll need to set up some environment variables to make it run.
54
55- `ANTHROPIC_API_KEY` for LLM calls
56- You'll need to follow [these instructions](https://docs.val.town/integrations/telegram/) to make a telegram bot, and set `TELEGRAM_TOKEN`. You'll also need to get a `TELEGRAM_CHAT_ID` in order to have the bot remember chat contents.
57- For the Google Calendar integration you'll need `GOOGLE_CALENDAR_ACCOUNT_ID` and `GOOGLE_CALENDAR_CALENDAR_ID`. See [these instuctions](https://www.val.town/v/stevekrouse/pipedream) for details.

willikinsREADME.md5 matches

@dev88โ€ขUpdated 1 month ago
8## Hono
9
10This app uses [Hono](https://hono.dev/) as the API framework. You can think of Hono as a replacement for [ExpressJS](https://expressjs.com/) that works in serverless environments like Val Town or Cloudflare Workers. If you come from Python or Ruby, Hono is also a lot like [Flask](https://github.com/pallets/flask) or [Sinatra](https://github.com/sinatra/sinatra), respectively.
11
12## Serving assets to the frontend
20### `index.html`
21
22The most complicated part of this backend API is serving index.html. In this app (like most apps) we serve it at the root, ie `GET /`.
23
24We *bootstrap* `index.html` with some initial data from the server, so that it gets dynamically injected JSON data without having to make another round-trip request to the server to get that data on the frontend. This is a common pattern for client-side rendered apps.
25
26## CRUD API Routes
27
28This app has two CRUD API routes: for reading and inserting into the messages table. They both speak JSON, which is standard. They import their functions from `/backend/database/queries.ts`. These routes are called from the React app to refresh and update data.
29
30## Errors
31
32Hono and other API frameworks have a habit of swallowing up Errors. We turn off this default behavior by re-throwing errors, because we think most of the time you'll want to see the full stack trace instead of merely "Internal Server Error". You can customize how you want errors to appear.

willikinsNotebookView.tsx5 matches

@dev88โ€ขUpdated 1 month ago
8import { type Memory } from "../../shared/types.ts";
9
10const API_BASE = "/api/memories";
11const MEMORIES_PER_PAGE = 20;
12
71 setError(null);
72 try {
73 const response = await fetch(API_BASE);
74 if (!response.ok) {
75 throw new Error(`HTTP error! status: ${response.status}`);
100
101 try {
102 const response = await fetch(API_BASE, {
103 method: "POST",
104 headers: { "Content-Type": "application/json" },
123
124 try {
125 const response = await fetch(`${API_BASE}/${id}`, {
126 method: "DELETE",
127 });
155
156 try {
157 const response = await fetch(`${API_BASE}/${editingMemory.id}`, {
158 method: "PUT",
159 headers: { "Content-Type": "application/json" },

willikinsindex.ts11 matches

@dev88โ€ขUpdated 1 month ago
18});
19
20// --- API Routes for Memories ---
21
22// GET /api/memories - Retrieve all memories
23app.get("/api/memories", async (c) => {
24 const memories = await getAllMemories();
25 return c.json(memories);
26});
27
28// POST /api/memories - Create a new memory
29app.post("/api/memories", async (c) => {
30 const body = await c.req.json<Omit<Memory, "id">>();
31 if (!body.text) {
36});
37
38// PUT /api/memories/:id - Update an existing memory
39app.put("/api/memories/:id", async (c) => {
40 const id = c.req.param("id");
41 const body = await c.req.json<Partial<Omit<Memory, "id">>>();
58});
59
60// DELETE /api/memories/:id - Delete a memory
61app.delete("/api/memories/:id", async (c) => {
62 const id = c.req.param("id");
63 try {
75// --- Blob Image Serving Routes ---
76
77// GET /api/images/:filename - Serve images from blob storage
78app.get("/api/images/:filename", async (c) => {
79 const filename = c.req.param("filename");
80

willikinsindex.html2 matches

@dev88โ€ขUpdated 1 month ago
12 type="image/svg+xml"
13 />
14 <link rel="preconnect" href="https://fonts.googleapis.com" />
15 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
16 <link
17 href="https://fonts.googleapis.com/css2?family=Pixelify+Sans:wght@400..700&display=swap"
18 rel="stylesheet"
19 />

willikinshandleUSPSEmail.ts5 matches

@dev88โ€ขUpdated 1 month ago
85 console.log(e.text);
86
87 // Get Anthropic API key from environment
88 const apiKey = Deno.env.get("ANTHROPIC_API_KEY");
89 if (!apiKey) {
90 console.error("Anthropic API key is not configured for this val.");
91 return;
92 }
93
94 // Initialize Anthropic client
95 const anthropic = new Anthropic({ apiKey });
96
97 // Process each image attachment serially

readback-api

@tr3ntgโ€ขUpdated 9 hours ago
API for readback.
Plantfo

Plantfo8 file matches

@Lladโ€ขUpdated 14 hours ago
API for AI plant info
apiry
snartapi