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/?q=function&page=32&format=json

For typeahead suggestions, use the /typeahead endpoint:

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

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

Found 7323 results for "function"(316ms)

stevens-openaihandleTelegramMessage.ts5 matches

@yash_ing•Updated 4 days ago
20// -------------------- SQLITE HELPERS -------------------- //
21
22export async function storeChatMessage(
23 chatId: number | string,
24 senderId: string,
49}
50
51export async function getChatHistory(chatId: number | string, limit = 50) {
52 try {
53 const { sqlite } = await import("https://esm.town/v/stevekrouse/sqlite");
63}
64
65function formatChatHistoryForAI(history: any[]) {
66 const messages = [] as { role: "user" | "assistant"; content: string }[];
67 for (const msg of history) {
77// -------------------- LLM ANALYSIS -------------------- //
78
79async function analyzeMessageContent(
80 openai: OpenAI,
81 username: string,
261// -------------------- WEBHOOK HANDLER -------------------- //
262
263export default async function(req: Request): Promise<Response> {
264 if (!isEndpointSet) {
265 await bot.api.setWebhook(req.url, { secret_token: SECRET_TOKEN });

stevens-openaigenerateFunFacts.ts7 matches

@yash_ing•Updated 4 days ago
10// Helper: fetch previous fun facts so we avoid duplicates
11// -----------------------------------------------------------------------------
12async function getPreviousFunFacts() {
13 try {
14 const result = await sqlite.execute(
30// Helper: delete and insert DB rows
31// -----------------------------------------------------------------------------
32async function deleteExistingFunFacts(dates: string[]) {
33 try {
34 for (const date of dates) {
43}
44
45async function insertFunFact(date: string, factText: string) {
46 try {
47 await sqlite.execute(
65// LLM: generate seven new fun‑facts (OpenAI)
66// -----------------------------------------------------------------------------
67async function generateFunFacts(previousFacts: { date: string; text: string }[]) {
68 const apiKey = Deno.env.get("OPENAI_API_KEY");
69 if (!apiKey) {
153// Fallback regex parser (unchanged except for generic references)
154// -----------------------------------------------------------------------------
155function parseFallbackFacts(responseText: string, expectedDates: string[]) {
156 const factPattern = /(\d{4}-\d{2}-\d{2})["']?[,:]?\s*["']?(.*?)["']?[,}]/gs;
157 const facts: { date: string; text: string }[] = [];
179// Pipeline: generate & store fun facts weekly
180// -----------------------------------------------------------------------------
181export async function generateAndStoreFunFacts() {
182 const previousFacts = await getPreviousFunFacts();
183 const newFacts = await generateFunFacts(previousFacts);
205// Default export: cron entry point (weekly)
206// -----------------------------------------------------------------------------
207export default async function () {
208 console.log("Running fun facts generation cron job…");
209 return await generateAndStoreFunFacts();

stevens-openaigetWeather.ts5 matches

@yash_ing•Updated 4 days ago
5const TABLE_NAME = `memories`;
6
7function summarizeWeather(weather: WeatherResponse) {
8 const summarizeDay = (day: WeatherResponse["weather"][number]) => ({
9 date: day.date,
25 * into a <25‑word sentence.
26 */
27async function generateConciseWeatherSummary(weatherDay: ReturnType<typeof summarizeWeather>[number]) {
28 const apiKey = Deno.env.get("OPENAI_API_KEY");
29 if (!apiKey) {
63}
64
65async function deleteExistingForecast(date: string) {
66 await sqlite.execute(
67 `DELETE FROM ${TABLE_NAME} WHERE date = ? AND text LIKE 'weather forecast:%'`,
70}
71
72async function insertForecast(date: string, forecast: string) {
73 const { nanoid } = await import("https://esm.sh/nanoid@5.0.5");
74 await sqlite.execute(
89 * Main entry. Fetches the forecast, generates concise summaries, and stores them.
90 */
91export default async function getWeatherForecast(interval: number) {
92 const weather = await getWeather("Washington, DC");
93 const summary = summarizeWeather(weather);

stevens-openaisendDailyBrief.ts5 matches

@yash_ing•Updated 4 days ago
11 * Generate the daily briefing using OpenAI Chat Completions
12 */
13async function generateBriefingContent(
14 openai: OpenAI,
15 memories: Awaited<ReturnType<typeof getRelevantMemories>>,
92// -------------------------- MAIN EXPORT --------------------------- //
93
94export async function sendDailyBriefing(
95 chatId?: string,
96 today?: DateTime,
131 }
132
133 // Fetch relevant memories using the utility function
134 const memories = await getRelevantMemories();
135 console.log(memories);
178 * Generate helper text listing today + six subsequent days in readable form.
179 */
180function generateWeekDays(today: DateTime) {
181 const output: string[] = [];
182
198
199// Default export for cron compatibility
200export default async function(overrideToday?: DateTime) {
201 return await sendDailyBriefing(undefined, overrideToday);
202}

stevens-openaitestDailyBrief.ts1 match

@yash_ing•Updated 4 days ago
4import { DateTime } from "https://esm.sh/luxon@3.4.4";
5
6export async function testDailyBrief() {
7 try {
8 const testChatId = Deno.env.get("TEST_TELEGRAM_CHAT_ID");

stevens-openaisetupTelegramChatDb.ts1 match

@yash_ing•Updated 4 days ago
2// Run this script manually to create the database table
3
4export default async function setupTelegramChatDb() {
5 try {
6 // Import SQLite module

stevens-openaiREADME.md2 matches

@yash_ing•Updated 4 days ago
16In a normal server environment, you would likely use a middleware [like this one](https://hono.dev/docs/getting-started/nodejs#serve-static-files) to serve static files. Some frameworks or deployment platforms automatically make any content inside a `public/` folder public.
17
18However in Val Town you need to handle this yourself, and it can be suprisingly difficult to read and serve files in a Val Town Project. This template uses helper functions from [stevekrouse/utils/serve-public](https://www.val.town/x/stevekrouse/utils/branch/main/code/serve-public/README.md), which handle reading project files in a way that will work across branches and forks, automatically transpiles typescript to javascript, and assigns content-types based on the file's extension.
19
20### `index.html`
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

stevens-openaiREADME.md2 matches

@yash_ing•Updated 4 days ago
4
5* `migrations.ts` - code to set up the database tables the app needs
6* `queries.ts` - functions to run queries against those tables, which are imported and used in the main Hono server in `/backend/index.ts`
7
8## Migrations
18The queries file is where running the migrations happen in this app. It'd also be reasonable for that to happen in index.ts, or as is said above, for that line to be commented out, and only run when actual changes are made to your database schema.
19
20The queries file exports functions to get and write data. It relies on shared types and data imported from the `/shared` directory.

stevens-openaiqueries.ts4 matches

@yash_ing•Updated 4 days ago
6const tableName = "memories_demo";
7
8export async function getAllMemories(): Promise<Memory[]> {
9 const result = await sqlite.execute(
10 `SELECT id, date, text, createdBy, createdDate, tags FROM ${tableName}
23}
24
25export async function createMemory(
26 memory: Omit<Memory, "id">
27): Promise<Memory> {
51}
52
53export async function updateMemory(
54 id: string,
55 memory: Partial<Omit<Memory, "id">>
70}
71
72export async function deleteMemory(id: string): Promise<void> {
73 await sqlite.execute(`DELETE FROM ${tableName} WHERE id = ?`, [id]);
74}

stevens-openaipopulateMemoryIds.ts1 match

@yash_ing•Updated 4 days ago
4import { nanoid } from "https://esm.sh/nanoid@5.0.5";
5
6export default async function populateMemoryIds() {
7 try {
8 // Import SQLite module

getFileEmail4 file matches

@shouser•Updated 5 days ago
A helper function to build a file's email

TwilioHelperFunctions

@vawogbemi•Updated 2 months ago