6import { Hono } from "npm:hono";
7import { type Memory } from "../shared/types.ts";
8import { createMemory, deleteMemory, getAllMemories, updateMemory } from "./database/queries.ts";
9
10const app = new Hono();
34
35/**
36 * Store a chat message in the database
37 */
38export async function storeChatMessage(
130 }
131
132 console.log(`Weather forecast updated in the database.`);
133 return summary;
134}
125 }
126
127 console.log(`Calendar events imported into the database.`);
128 return events;
129 } catch (error) {
8
9/**
10 * Retrieves previously generated fun facts from the memories database
11 * @returns Array of previous fun facts
12 */
47
48/**
49 * Inserts a fun fact into the memories database
50 * @param date Date for the fun fact in ISO format
51 * @param factText The fun fact text
208```
209โโโ backend/
210โ โโโ database/
211โ โ โโโ migrations.ts # Schema definitions
212โ โ โโโ queries.ts # DB query functions
270- Handle API calls properly with proper error catching
271
272### Database Patterns
273- Run migrations on startup or comment out for performance
274- Change table names when modifying schemas rather than altering
6
7- **Blob Storage**: Read, write, list, and delete blob data
8- **SQLite Database**: Execute queries and manage database operations
9- **Email**: Send emails through Val Town's email service
10- **OpenAI Integration**: Access OpenAI API through Val Town's service
45 }
46
47 // Add database schema as a resource
48 resources.push({
49 uri: "sqlite://schema",
50 name: "SQLite Schema",
51 description: "Database schema information",
52 mimeType: "application/json"
53 });
146 };
147 } catch (error) {
148 throw new MCPException(MCP_ERRORS.INTERNAL_ERROR, `Error reading database schema: ${error.message}`);
149 }
150 }
34 - `blob_delete` - Delete blob
35
362. **SQLite Database**
37 - `sqlite_execute` - Execute SQL queries
38
54- `blob://[key]` - Blob storage items
55- `file://[path]` - Project files
56- `sqlite://schema` - Database schema
57- `env://info` - Environment variable info
30- [ ] add triggers to sidebar
31- [ ] add upload from SQL, CSV and JSON
32- [ ] add ability to connect to a non-val town Turso database
33- [x] fix wonky sidebar separator height problem (thanks to @stevekrouse)
34- [x] make result tables scrollable