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%22Image%20title%22?q=function&page=91&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 32873 results for "function"(6868ms)

get-data-send-email-cheesemain.tsx1 match

@etienne•Updated 6 days ago
3// Cron job quotidien - Fromage du jour
4// Configure le timer avec l'icône 🕒 pour exécuter chaque jour
5export async function scheduledHandler() {
6 const timestamp = new Date().toISOString();
7 console.log(`Fromage du jour exécuté à: ${timestamp}`);

tanstackReactHonoExamplemigrations.ts1 match

@laurynas•Updated 6 days ago
2import { db } from "./db.ts";
3
4export async function createTables() {
5 // Uncomment to reset database
6 await db.run(sql`DROP TABLE IF EXISTS messages`);

kardonmain.tsx1 match

@cashlessman•Updated 6 days ago
1export default async function(interval: Interval) {
2 try {
3 const response = await fetch("https://degensub.vercel.app/users/19", {

sprint-summarizermain.tsx2 matches

@pdw•Updated 6 days ago
12
13// Main dashboard handler
14export default async function(req: Request): Promise<Response> {
15 try {
16 const url = new URL(req.url);
358
359 <script>{`
360 function generateRollup() {
361 const start = document.getElementById('rollupStart').value;
362 const end = document.getElementById('rollupEnd').value;

commitWebhookmain.tsx10 matches

@pdw•Updated 6 days ago
98
99// Extract ticket info from text
100function extractTicketInfo(text: string) {
101 const pattern = /\[([bfcr])\]\s+(DOC|ENG|BUG|TECH)-(\d+):\s*(.+?)(?:\n|$)/i;
102 const simplePattern = /(DOC|ENG|BUG|TECH)-(\d+)/i;
132
133// Verify GitHub webhook signature
134function verifySignature(payload: string, signature: string, secret: string): boolean {
135 const hmac = createHmac("sha256", secret);
136 hmac.update(payload);
140
141// Main webhook handler
142export default async function commitWebhookEnhanced(req: Request): Promise<Response> {
143 try {
144 const signature = req.headers.get("X-Hub-Signature-256");
194
195// Handle push events (commits)
196async function handlePushEvent(data: any) {
197 const branch = data.ref?.replace("refs/heads/", "") || "unknown";
198
241
242// Handle pull request events
243async function handlePullRequestEvent(data: any) {
244 const pr = data.pull_request;
245 const action = data.action;
287
288// Handle issue/PR comments
289async function handleIssueCommentEvent(data: any) {
290 const comment = data.comment;
291 const issue = data.issue;
328
329// Handle PR reviews
330async function handlePullRequestReviewEvent(data: any) {
331 const review = data.review;
332 const pr = data.pull_request;
359
360// Handle PR review comments (inline code comments)
361async function handleReviewCommentEvent(data: any) {
362 const comment = data.comment;
363 const pr = data.pull_request;
394}
395
396// Export query functions for reports
397export async function getEnhancedStats(startDate: string, endDate: string) {
398 const stats = {};
399

sprint-summarizertest-mcp-server.js1 match

@pdw•Updated 6 days ago
6const BASE_URL = "https://sprintsummarizer-pdw.web.val.run/api/mcp";
7
8async function testMCPServer() {
9 console.log("Testing MCP Server at:", BASE_URL);
10

sprint-summarizerprDatabase.ts15 matches

@pdw•Updated 6 days ago
1// Database utilities for PR summaries
2// Shared functions for querying and managing PR data
3
4import { sqlite } from "https://esm.sh/@val-town/sqlite@2.0.1";
44
45// Get recent PR summaries
46export async function getRecentSummaries(limit: number = 10): Promise<PRSummary[]> {
47 const result = await sqlite.execute({
48 sql: `
61
62// Get summaries by date range
63export async function getSummariesByDateRange(
64 startDate: string,
65 endDate: string
81
82// Get summaries by deployment status
83export async function getSummariesByStatus(status: string): Promise<PRSummary[]> {
84 const result = await sqlite.execute({
85 sql: `
98
99// Search summaries by text
100export async function searchSummaries(query: string): Promise<PRSummary[]> {
101 const searchTerm = `%${query}%`;
102 const result = await sqlite.execute({
116
117// Get deployment history
118export async function getDeploymentHistory(limit: number = 50): Promise<Deployment[]> {
119 const result = await sqlite.execute({
120 sql: `
132
133// Get statistics for a date range
134export async function getStats(startDate?: string, endDate?: string) {
135 let sql = `
136 SELECT
156
157// Get author statistics
158export async function getAuthorStats(startDate?: string, endDate?: string) {
159 let sql = `
160 SELECT
180
181// Calculate quarter from date
182export function getQuarterFromDate(date: Date): { year: number; quarter: number } {
183 const year = date.getFullYear();
184 const month = date.getMonth();
188
189// Get quarter date range
190export function getQuarterDateRange(year: number, quarter: number) {
191 const startMonth = (quarter - 1) * 3;
192 const endMonth = startMonth + 2;
202
203// Get summaries for a specific quarter
204export async function getQuarterlySummaries(year: number, quarter: number): Promise<PRSummary[]> {
205 const { startDate, endDate } = getQuarterDateRange(year, quarter);
206 return getSummariesByDateRange(startDate, endDate);
208
209// Store quarterly summary
210export async function storeQuarterlySummary(
211 year: number,
212 quarter: number,
250
251// Get all quarterly summaries
252export async function getAllQuarterlySummaries(): Promise<QuarterlySummary[]> {
253 const result = await sqlite.execute({
254 sql: `
262
263// Utility to format date for display
264export function formatDate(dateString: string): string {
265 const date = new Date(dateString);
266 return date.toLocaleDateString("en-US", {
274
275// Get PR velocity (PRs per week)
276export async function getVelocityData(weeks: number = 12) {
277 const weeksAgo = new Date();
278 weeksAgo.setDate(weeksAgo.getDate() - (weeks * 7));

sprint-summarizerprMCPServer.http.ts6 matches

@pdw•Updated 6 days ago
160
161// Execute tool based on request
162async function executeTool(toolName: string, args: any): Promise<any> {
163 switch (toolName) {
164 case "searchPRs": {
298}
299
300// Helper function to calculate trend
301function calculateTrend(weeklyData: Record<string, number>): string {
302 const weeks = Object.keys(weeklyData).sort();
303 if (weeks.length < 2) return "insufficient_data";
317
318// Helper to get ISO week number (Deno-compatible)
319function getWeekNumber(date: Date): string {
320 const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
321 const dayNum = d.getUTCDay() || 7;
327
328// Handle MCP requests
329async function handleMCPRequest(request: MCPRequest): Promise<MCPResponse> {
330 try {
331 switch (request.method) {
375
376// Main HTTP handler for MCP server (Val.town compatible)
377export default async function(req: Request): Promise<Response> {
378 // Enhanced CORS headers for browser-based MCP clients
379 const corsHeaders = {

sprint-summarizerprAnalytics.http.ts10 matches

@pdw•Updated 6 days ago
24
25// Generate AI-powered rollup summary
26async function generateAISummary(
27 summaries: any[],
28 stats: any,
88
89// Fallback manual summary generation
90function createManualSummary(summaries: any[], stats: any): string {
91 const topAuthors = summaries.reduce((acc, pr) => {
92 acc[pr.pr_author] = (acc[pr.pr_author] || 0) + 1;
115
116// Generate quarterly report
117async function generateQuarterlyReport(year: number, quarter: number) {
118 const summaries = await getQuarterlySummaries(year, quarter);
119 const { startDate, endDate } = getQuarterDateRange(year, quarter);
141
142// Extract key features from PR titles and summaries
143function extractKeyFeatures(summaries: any[]): string[] {
144 const features = new Set<string>();
145
163
164// Calculate velocity trend
165function calculateVelocityTrend(summaries: any[]) {
166 // Group by week
167 const weeklyData = summaries.reduce((acc, pr) => {
187}
188
189// Helper function to get ISO week number
190function getWeekNumber(date: Date): string {
191 const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
192 const dayNum = d.getUTCDay() || 7;
198
199// Helper to get quarter date range
200function getQuarterDateRange(year: number, quarter: number) {
201 const startMonth = (quarter - 1) * 3;
202 const endMonth = startMonth + 2;
212
213// Main HTTP handler for analytics API
214export default async function(req: Request): Promise<Response> {
215 const url = new URL(req.url);
216 const path = url.pathname.split("/").pop();
324}
325
326// Export utility functions for use in other vals
327export { generateAISummary, generateQuarterlyReport, getQuarterDateRange };

sprint-summarizerprWebhook.http.ts5 matches

@pdw•Updated 6 days ago
29
30// Initialize database tables
31async function initDatabase() {
32 await sqlite.execute(`
33 CREATE TABLE IF NOT EXISTS pr_summaries (
73
74// Verify HMAC signature from GitHub
75function verifySignature(payload: string, signature: string): boolean {
76 if (!WEBHOOK_SECRET) {
77 console.warn("No webhook secret configured - skipping signature verification");
95
96// Validate timestamp to prevent replay attacks (5 minute window)
97function isTimestampValid(timestamp: string): boolean {
98 const webhookTime = new Date(timestamp).getTime();
99 const currentTime = Date.now();
104
105// Store PR summary in database
106async function storePRSummary(data: PRWebhookPayload) {
107 // Determine deployment status from branch if not provided
108 const deploymentStatus = data.deployment_status ||
155
156// Main webhook handler
157export default async function(req: Request): Promise<Response> {
158 try {
159 // Only accept POST requests

discordWebhook2 file matches

@stevekrouse•Updated 15 hours ago
Helper function to send Discord messages
tuna

tuna9 file matches

@jxnblk•Updated 3 weeks ago
Simple functional CSS library for Val Town
lost1991
import { OpenAI } from "https://esm.town/v/std/openai"; export default async function(req: Request): Promise<Response> { if (req.method === "OPTIONS") { return new Response(null, { headers: { "Access-Control-Allow-Origin": "*",
webup
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.