12 createCustomer,
13 updateCustomer
14} from "../database/queries.ts";
15import type { ApiResponse, Bill, BillFormData, Customer } from "../../shared/types.ts";
16
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { sign, verify } from "https://esm.sh/hono@3.11.7/jwt";
3import { getUserByEmail, createUser, getCustomerById } from "../database/queries.ts";
4import type { AuthResponse } from "../../shared/types.ts";
5
32 // Here you would typically:
33 // 1. Validate the form data
34 // 2. Save to database
35 // 3. Send email notification
36 // 4. Return success response
9- [ ] make it one click to branch off like old jp townie demos
10- [ ] opentownie as a pr bot
11- [ ] give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them
12- [ ] do a browser use or screenshot thing to give it access to its own visual output
13- [ ] Have it default to creating a new branch off main
7export const thinkTool = tool({
8 description:
9 "Use the tool to think about something. It will not obtain new information or change the database, but just append the thought to the log. Use it when complex reasoning or some cache memory is needed.",
10 parameters: z.object({
11 thought: z.string().describe("A thought to think about."),
174```
175โโโ backend/
176โ โโโ database/
177โ โ โโโ migrations.ts # Schema definitions
178โ โ โโโ queries.ts # DB query functions
234 ```
235
236### Database Patterns
237- Run migrations on startup or comment out for performance
238- Change table names when modifying schemas rather than altering
10 overLimit,
11 startTrackingUsage,
12} from "../database/queries.tsx";
13import { makeChangeValTypeTool, makeFetchTool, makeTextEditorTool } from "../tools/index.ts";
14import fileWithLinesNumbers from "../utils/fileWithLinesNumbers.ts";
4import { INFERENCE_CALLS_TABLE, USAGE_TABLE } from "./schema.tsx";
5
6// Eventually we'll have a user database,
7// but in the meantime, we can cache user info in memory
8const userIdCache: { [key: string]: any } = {};
198```
199โโโ backend/
200โ โโโ database/
201โ โ โโโ migrations.ts # Schema definitions
202โ โ โโโ queries.ts # DB query functions
257 ```
258
259### Database Patterns
260- Run migrations on startup or comment out for performance
261- Change table names when modifying schemas rather than altering
77- **Frontend:** React 18 + TailwindCSS
78- **Authentication:** Session-based with cookies
79- **Database:** SQLite with migrations
80- **Styling:** TailwindCSS + Custom CSS
81- **Deployment:** Val Town Platform
85```
86โโโ backend/
87โ โโโ database/
88โ โ โโโ migrations.ts # Database schema & default data
89โ โ โโโ queries.ts # Database query functions
90โ โโโ routes/ # API route modules
91โ โโโ auth.ts # Authentication endpoints
179This project is designed for Val Town platform:
1801. All code is ready to deploy
1812. Database migrations run automatically
1823. HTTP trigger is configured
1834. No additional setup required