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/image-url.jpg%20%22Optional%20title%22?q=api&page=1786&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 21963 results for "api"(4654ms)

1
2 export default function handler(req) {
3 return new Response(`"\n <!DOCTYPE html>\n <html>\n <head>\n <title>Claude Chat Conversation</title>\n <meta charset=\"UTF-8\">\n <style>\n body {\n font-family: system-ui, -apple-system, sans-serif;\n line-height: 1.5;\n max-width: 800px;\n margin: 0 auto;\n padding: 20px;\n background: #f9fafb;\n }\n .message {\n margin: 20px 0;\n padding: 15px;\n border-radius: 8px;\n }\n .human {\n background: #e5e7eb;\n }\n .assistant {\n background: #dbeafe;\n }\n .role {\n font-weight: bold;\n margin-bottom: 8px;\n }\n </style>\n </head>\n <body>\n \n <div class=\"message human\">\n <div class=\"role\">Human</div>\n <div class=\"content\">I want to build a Chrome extension that automatically cleans up my Chrome tabs in the background. Is it possible with the Chrome extension API? Can it look for all the tabs? Can it combine them? Can it close them? Can it do things like these?</div>\n </div>\n \n <div class=\"message assistant\">\n <div class=\"role\">Claude</div>\n <div class=\"content\">Yes, it's absolutely possible to build a Chrome extension that manages your tabs! The Chrome Extensions API provides robust capabilities for tab management. Let me break down what's possible and show you a basic extension structure.Tab Manager Chrome ExtensionClick to open codeI've created a basic Chrome extension that demonstrates the key tab management capabilities you asked about. Here's what the extension can do:\n\nLook for all tabs: Yes, using chrome.tabs.query({}), you can get all open tabs across all windows.\nCombine/close tabs: Yes, you can:\n\nClose tabs using chrome.tabs.remove(tabId)\nGroup similar tabs by domain\nClose duplicate tabs\nClose inactive tabs\n\n\nBackground operations: Yes, using a service worker (background.js), the extension can:\n\nRun periodic cleanup tasks using chrome.alarms\nMonitor tab activity\nPerform automated management\n\n\n\nThe example extension I've provided includes:\n\nmanifest.json: Declares the necessary permissions and structure\nbackground.js: Handles background tab management\n\nRuns every 30 minutes\nGroups tabs by domain\nCloses duplicates\nCloses inactive tabs (older than 7 days)\n\n\npopup.html/js: Provides a simple user interface\n\nTo make this extension more powerful, you could add features like:\n\nCustom rules for tab management\nWhitelist for tabs to never close\nTab grouping by topic using URL patterns\nAuto-bookmarking before closing\nTab suspension for inactive tabs\nTab search and organization\n\nWould you like me to expand on any of these features or show you how to implement a specific functionality?</div>\n </div>\n \n <div class=\"message human\">\n <div class=\"role\">Human</div>\n <div class=\"content\">I want to have a way to check these tabs - what information do I get about a tab? I want to essentially build an OpenAI thingy on top, like an AI-based thing where I like every few seconds I send a API call to AI and ask it to do something.\nSo I want to know what information do I have about these tabs? Do I know how much I read them? Do I know the description? The web page? I don't know what I do know.</div>\n </div>\n \n <div class=\"message assistant\">\n <div class=\"role\">Claude</div>\n <div class=\"content\">I'll help you understand what tab information is available and then show you how we could integrate this with OpenAI's API for intelligent tab management.Tab Information Analyzer with AI IntegrationClick to open codeHere's what information you can get about tabs and how you can integrate it with AI:\n\nBasic Tab Information (Available directly from chrome.tabs API):\n\n\nid: Unique identifier\nurl: Complete URL\ntitle: Page title\nfavIconUrl: Favicon URL\nstatus: Loading status\nactive: Whether it's the current active tab\npinned: If the tab is pinned\nindex: Position in the window\nwindowId: Which window it belongs to\nopenerTabId: Which tab opened this one\nlastAccessed: When it was last accessed\n\n\nPage Content (Available through content scripts):\n\n\nMeta description\nMain content text\nHeadings\nLinks\nImages\nForms\nAny DOM element\n\n\nUser Interaction Data (Can be tracked):\n\n\nTime spent on the tab\nScroll position\nClick interactions\nKeyboard activity\nForm inputs\nCopy/paste actions\nMouse movements\n\n\nCustom Tracking (You can implement):\n\n\nReading progress (scroll depth)\nForm completion status\nVideo watching progress\nComment/interaction status\nCustom tags or categories\n\nFor AI integration, you can:\n\nPeriodic Analysis:\n\n\nSend tab data to OpenAI every few minutes\nGet recommendations for tab management\nAnalyze content relationships between tabs\nIdentify priority or stale tabs\n\n\nSmart Features:\n\n\nGroup related tabs based on content similarity\nIdentify duplicate or similar content\nSummarize tab content\nPrioritize tabs based on content and usage\nGenerate tab descriptions\nCreate smart bookmarks with AI-generated tags\n\n\nUser Behavior Analysis:\n\n\nTrack reading patterns\nIdentify important tabs based on interaction\nPredict which tabs might be needed soon\nSuggest tab cleanup based on usage patterns\n\nTo implement this:\n\nSet up a background service worker that:\n\n\nCollects tab data periodically\nSends it to OpenAI\nProcesses recommendations\nTakes automated actions\n\n\nUse content scripts to:\n\n\nTrack detailed user interaction\nExtract relevant page content\nMonitor page changes\n\n\nStore historical data in:\n\n\nchrome.storage.local for persistence\nIndex patterns for quick lookup\nUsage statistics for better recommendations\n\nWould you like me to:\n\nShow how to implement any specific feature?\nDemonstrate a particular AI integration pattern?\nExplain how to track specific user behaviors?\nShow how to handle the OpenAI API responses?</div>\n </div>\n \n <div class=\"message human\">\n <div class=\"role\">Human</div>\n <div class=\"content\">So basically you're saying content script is something that's loaded on every page when it's there, and it's like a lightweight analytics script that runs in source data in local storage. Is there a way to do this in a really lightweight way? I don't want to make this a big deal.\nAlso, is it possible to like Chrome also has tab grouping. Is that also possible by API?</div>\n </div>\n \n <div class=\"message assistant\">\n <div class=\"role\">Claude</div>\n <div class=\"content\">Yes, exactly! You can make this really lightweight, and Chrome's tab grouping API is available too. Let me show you a minimal version:Lightweight Tab Manager with GroupsClick to open codeThis lightweight version shows several key features:\n\nSuper Lightweight Content Script:\n\n\nOnly tracks visibility state changes\nMinimal memory footprint\nNo heavy DOM monitoring\nSimple message passing to background script\n\n\nTab Grouping API:\n\n\nchrome.tabs.group(): Creates tab groups\nchrome.tabGroups.update(): Customizes groups (title, color)\nCan automatically group by domain\nCan create, modify, and remove groups programmatically\n\n\nKey Tab Group Features:\n\njavascriptCopy// Create a group\nconst groupId = await chrome.tabs.group({ tabIds: [tab1Id, tab2Id] });\n\n// Update group appearance\nawait chrome.tabGroups.update(groupId, {\n collapsed: true, // Collapse the group\n title: \"My Group\",\n color: \"red\" // Various colors available\n});\n\n// Add tabs to existing group\nawait chrome.tabs.group({ tabIds: [tab3Id], groupId });\n\n// Ungroup tabs\nawait chrome.tabs.ungroup(tabId);\n\nSimple Data Storage:\n\n\nUses a Map for in-memory storage\nCould easily switch to chrome.storage.local for persistence\nMinimal data structure\n\nThe tab grouping API is quite powerful and lets you:\n\nCreate/delete groups\nColor-code groups\nCollapse/expand groups\nMove groups between windows\nAdd/remove tabs from groups\nGet group information\n\nWould you like me to:\n\nShow more tab grouping features?\nMake the tracking even lighter?\nAdd specific AI integration patterns?\nShow how to handle group collapse/expand events?</div>\n </div>\n \n </body>\n </html>\n"`, {
4 headers: {
5 "Content-Type": "text/html",

memorySampleSummarymain.tsx2 matches

@toowired•Updated 8 months ago
69export async function memoryBankDemo() {
70 // Add some memories
71 await addMemory("Create a RESTful API using Express.js and PostgreSQL");
72 await addMemory("Implement user authentication with JWT tokens");
73 await addMemory("Set up a WebSocket server for real-time communication");
74
75 // Retrieve similar memories
76 const query = "How to create a backend API?";
77 const similarMemories = await getSimilarMemories(query);
78

sqlitemain.tsx4 matches

@toowired•Updated 8 months ago
1import { API_URL } from "https://esm.town/v/std/API_URL";
2import { LibsqlError, type ResultSet, type Row, type TransactionMode } from "npm:@libsql/client";
3import { z } from "npm:zod";
35
36async function execute(statement: InStatement, args?: InArgs): Promise<ResultSet> {
37 const res = await fetch(`${API_URL}/v1/sqlite/execute`, {
38 method: "POST",
39 headers: {
50
51async function batch(statements: InStatement[], mode?: TransactionMode): Promise<ResultSet[]> {
52 const res = await fetch(`${API_URL}/v1/sqlite/batch`, {
53 method: "POST",
54 headers: {
78
79/* Val Town's Turso Proxy returns rows as an array of values
80 * Yet the LibSQL API has a Row type which behave as an array or object,
81 * ie you can access it via numerical index or string
82 */

redditSearchmain.tsx5 matches

@cofsana•Updated 8 months ago
11interface RedditSearchOptions {
12 query: string;
13 apiKey?: string;
14}
15
17export async function redditSearch({
18 query,
19 apiKey = Deno.env.get("BROWSERBASE_API_KEY"),
20}: RedditSearchOptions): Promise<ThreadResult[]> {
21 if (!apiKey) {
22 throw new Error("BrowserBase API key is required");
23 }
24
25 const puppeteer = new PuppeteerDeno({ productName: "chrome" });
26 const browser = await puppeteer.connect({
27 browserWSEndpoint: `wss://connect.browserbase.com?apiKey=${apiKey}&enableProxy=true`,
28 ignoreHTTPSErrors: true,
29 });
1
2 export default function handler(req) {
3 return new Response(`"\n <!DOCTYPE html>\n <html>\n <head>\n <title>Claude Chat Conversation</title>\n <meta charset=\"UTF-8\">\n <style>\n body {\n font-family: system-ui, -apple-system, sans-serif;\n line-height: 1.5;\n max-width: 800px;\n margin: 0 auto;\n padding: 20px;\n background: #f9fafb;\n }\n .message {\n margin: 20px 0;\n padding: 15px;\n border-radius: 8px;\n }\n .human {\n background: #e5e7eb;\n }\n .assistant {\n background: #dbeafe;\n }\n .role {\n font-weight: bold;\n margin-bottom: 8px;\n }\n </style>\n </head>\n <body>\n \n <div class=\"message human\">\n <div class=\"role\">Human</div>\n <div class=\"content\">This is an engineering proposal. Convert that into a tech talk about 10 minutes long</div>\n </div>\n \n <div class=\"message assistant\">\n <div class=\"role\">Claude</div>\n <div class=\"content\">Tech Talk: Optimizing Data Storage with Symbol TablesClick to open document\nThis tech talk covers the key aspects of your data optimization project in a format suitable for a 10-minute presentation. Would you like me to adjust any specific section or add more technical details to any part?</div>\n </div>\n \n <div class=\"message human\">\n <div class=\"role\">Human</div>\n <div class=\"content\">Write the script for it</div>\n </div>\n \n <div class=\"message assistant\">\n <div class=\"role\">Claude</div>\n <div class=\"content\">Tech Talk Script: Optimizing Data Storage with Symbol TablesClick to open document\nThis script should take about 10 minutes to deliver at a comfortable speaking pace. It maintains technical depth while remaining accessible and includes natural transitions between sections. Would you like me to adjust any particular section or add more technical details anywhere?\nKey features of the script:\n\nConversational tone while maintaining technical accuracy\nClear narrative arc from problem to solution to results\nTechnical details balanced with practical implications\nSpecific examples and metrics to support key points\nNatural breaking points for slides/demos if needed</div>\n </div>\n \n <div class=\"message human\">\n <div class=\"role\">Human</div>\n <div class=\"content\">Draw a mermaid diagram to show data flows in a decision flow</div>\n </div>\n \n <div class=\"message assistant\">\n <div class=\"role\">Claude</div>\n <div class=\"content\">I'll create a Mermaid diagram showing how data flows through the system, including the new symbol table optimization.\nDecision Flow System ArchitectureClick to open diagram\nThe diagram shows the complete flow of data through our system:\n\nClient sends input data to Router\nRouter directs request to Runner\nRunner:\n\nExecutes the decision flow\nCollects node results\nApplies symbol table deduplication\n\n\nDecision message sent via EventBridge\nArchiver:\n\nProcesses the message\nStores data across three tables:\n\nSymbol Table (new)\nDecision Table\nData Table\n\n\n\n\nExporter retrieves data via Decision History API\n\nThe color coding helps distinguish:\n\nPink: Services\nBlue: Databases\nYellow: Message bus\n\nWould you like me to modify any part of the diagram or add more detail to any specific component?</div>\n </div>\n \n <div class=\"message human\">\n <div class=\"role\">Human</div>\n <div class=\"content\">I meant in the decision flow, as the data flow through the nodes, how it accumulates node results</div>\n </div>\n \n <div class=\"message assistant\">\n <div class=\"role\">Claude</div>\n <div class=\"content\">Ah, I'll create a Mermaid diagram showing how data flows through nodes in a decision flow and how node results accumulate, both in the original format and with symbol table optimization.\nDecision Flow Node Results AccumulationClick to open diagram\nThis diagram contrasts the two approaches:\n\nOriginal Storage (top):\n\nEach node stores complete copies of all data\nData accumulates and duplicates as it flows through nodes\nNode 3 ends up storing three copies of the same values\n\n\nSymbol Table Storage (bottom):\n\nUnique key-value pairs stored once in symbol table\nNodes only store indexes to the symbol table\nNo data duplication\nEasy to reconstruct full state at any node using indexes\n\n\n\nColor coding:\n\nPink: Flow nodes\nLight blue: Original node results\nYellow: Symbol table entries\nBlue: Node result indexes\n\nThe optimization becomes more apparent as data flows through the nodes - while the original storage duplicates values at each step, the symbol table approach maintains a single copy of each unique value and uses lightweight indexes to reference them.\nWould you like me to adjust any part of the diagram or add more detail to better illustrate the data flow?</div>\n </div>\n \n <div class=\"message human\">\n <div class=\"role\">Human</div>\n <div class=\"content\">It will be with a technical member on the team, please come prepared to talk through a technical project that you've worked on previously. Be ready to walk through the specific pieces of the project you owned, the architecture of the system, and the impact of the decisions made. You should be prepared to describe the project for at least ~20 minutes, going into significant technical detail about key components, also feel free to prepare diagrams and slides if that will help you describe the project.</div>\n </div>\n \n <div class=\"message assistant\">\n <div class=\"role\">Claude</div>\n <div class=\"content\">I'll help you prepare for a technical deep dive interview by creating a comprehensive walkthrough of PEP 186 based on the document. Let's structure this with both a narrative outline and supporting diagrams.\nSystem ArchitectureClick to open diagram\nNode Result CompressionClick to open diagram\nHere's the technical deep dive outline for a 20-minute discussion:\n\nProject Overview (2 minutes)\n\nProblem: Rapidly growing Aurora storage costs\nGoals: 80% data reduction, 50% cost reduction for key customers\nPerformance constraints: <5ms latency impact\nKey customer impact: Isaac, Branch, and Zilch use cases\n\n\nTechnical Analysis (3 minutes)\n\nRoot cause: Data duplication in node results\nInitial compression analysis showing ~20.6% with basic approach\nTheoretical limits study using lz4 compression\nDecision to use symbol tables based on append-only nature of data\n\n\nCore Technical Solution (5 minutes)\n\nSymbolTableV2 class design:\npythonCopyclass SymbolTableV2(BaseModel):\n version: t.Literal[\"v2\"]\n tbl: list[orjson.Fragment] = []\n tix: list[SymbolTableRef] = []\n\nKey optimizations:\n\nKey-value pair deduplication vs value-only\nIndex-based references vs 64-bit hashes\nZSTD compression for serialized data\n\n\nStorage schema decisions and rationale for separate table\n\n\nSystem Architecture (4 minutes)\n\nPipeline components:\n\nRunner: Symbol table creation and compression\nEventBridge: Message transport\nArchiver: Persistence and version handling\nExporter: Decision history API integration\n\n\nDatabase schema evolution\nBackward compatibility handling\n\n\nEdge Cases & Challenges (3 minutes)\n\nAsync resumptions and out-of-order messages\nFlow of flows and nested decision handling\nLoop handling\nProvenance data preservation\nVersion compatibility during rollout\n\n\nResults & Impact (3 minutes)\n\nCompression improvement: 20.6% → 86%\nMessage size reduction: 65KB → 25KB\nCost impact for key customers\nPerformance metrics showing <5ms latency impact\nStorage growth rate flattening\n\n\n\nKey technical points to emphasize:\n\nWhy we chose a separate symbol table vs using the existing data table\nTrade-offs in moving deduplication upstream to Runner\nCompression algorithm selection and performance implications\nSchema design decisions and indexing strategy\nBackward compatibility approach\n\nQuestions to be prepared for:\n\nWhy not use database-level compression (TOAST)?\nAlternative approaches considered\nScalability implications\nRecovery and error handling\nPerformance monitoring and alerts\nFuture optimization opportunities\n\nWould you like me to expand on any of these sections or create additional diagrams to illustrate specific components?</div>\n </div>\n \n </body>\n </html>\n"`, {
4 headers: {
5 "Content-Type": "text/html",

aqiREADME.md1 match

@daabin•Updated 8 months ago
8
91. Click `Fork`
102. Change `location` (Line 4) to describe your location. It accepts fairly flexible English descriptions which it turns into locations via [nominatim's geocoder API](https://www.val.town/v/stevekrouse/nominatimSearch).
113. Click `Run`
12

sqliteExplorerAppREADME.md1 match

@thesolarmonk•Updated 8 months ago
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

sqliteExplorerAppmain.tsx2 matches

@thesolarmonk•Updated 8 months ago
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 />

TaylorSwiftMomentsmain.tsx10 matches

@vawogbemi•Updated 8 months ago
207 const fetchImages = async () => {
208 try {
209 const response = await fetch("/api/images");
210 const images = await response.json();
211 setGalleryImages(images);
220 try {
221 // Enhance the prompt using the server-side endpoint
222 const enhancedPromptResponse = await fetch("/api/enhance-prompt", {
223 method: "POST",
224 headers: { "Content-Type": "application/json" },
232
233 const fal = createFalClient({
234 proxyUrl: "/api/fal/proxy",
235 });
236
260 const likeImage = async (imageId) => {
261 try {
262 await fetch(`/api/images/${imageId}/like`, { method: "POST" });
263 fetchImages(); // Refresh the gallery after liking
264 } catch (error) {
269 const deleteImage = async (imageId) => {
270 try {
271 await fetch(`/api/images/${imageId}`, { method: "DELETE" });
272 fetchImages(); // Refresh the gallery after deleting
273 } catch (error) {
278 const addToGallery = async () => {
279 try {
280 await fetch("/api/images", {
281 method: "POST",
282 headers: { "Content-Type": "application/json" },
439 }
440
441 if (url.pathname === "/api/fal/proxy") {
442 return falProxyRequest(req);
443 }
444
445 if (url.pathname === "/api/enhance-prompt") {
446 if (req.method === "POST") {
447 const { prompt, era } = await req.json();
471 }
472
473 if (url.pathname === "/api/images") {
474 if (req.method === "GET") {
475 const images = await sqlite.execute(`
495 }
496
497 if (url.pathname.startsWith("/api/images/")) {
498 const id = url.pathname.split("/")[3];
499 if (url.pathname.endsWith("/like") && req.method === "POST") {

vigilantRedHamstermain.tsx1 match

@timmymatten•Updated 8 months ago
5async function fetchRandomJoke() {
6 const response = await fetch(
7 "https://official-joke-api.appspot.com/random_joke",
8 );
9 return response.json();

f1_scoreboard_rapid1 file match

@tldr•Updated 3 hours ago

mudEchoApi1 file match

@yakuzadave•Updated 19 hours ago
YoungPapi
rapilot330