2import * as path from "jsr:@std/path"
3import {getCliAvailability} from "./lib/vtCli.ts"
4export async function loadConfig(remoteMode = false) {
5 if (remoteMode) {
6 // For remote: expect token in request headers, use local prompt file
8import {getErrorMessage} from "../lib/errorUtils.ts";
9
10export function registerCliTools(server: McpServer, _config: Config) {
11 // Watch files in a project for real-time updates
12 server.tool(
8
9## Style Guidelines
10- Use TypeScript strict mode with explicit typing for function parameters/returns
11- 2-space indentation, semicolons at line ends
12- Use camelCase for variables/functions, PascalCase for types/interfaces, UPPER_SNAKE_CASE for constants
13- Tool names use kebab-case (e.g., `get-val`)
14- Document all public functions with JSDoc
15- Wrap async operations in try/catch blocks and use getErrorMessage utility
16- Return consistent error responses with isError flag
6import {z} from "npm:zod"
7
8export function registerBranchTools(server: McpServer, config: Config) {
9 // List all branches in a val
10 server.tool(
5import {getErrorMessage} from "../lib/errorUtils.ts"
6
7export function registerBlobTools(server: McpServer, config: Config) {
8 // List blobs
9 server.tool(
1import {Config} from "./types.ts"
2
3export async function callValTownApi(
4 config: Config,
5 path: string,
1import { generateResponses } from "@Dentalabcs/generateResponses";
2
3export async function twilioWebhook(req: Request) {
4 console.log("Webhook received:", req.method);
5
33- [x] fix wonky sidebar separator height problem (thanks to @stevekrouse)
34- [x] make result tables scrollable
35- [x] add export to CSV, and JSON (CSV and JSON helper functions written in [this val](https://www.val.town/v/nbbaier/sqliteExportHelpers). Thanks to @pomdtr for merging the initial version!)
36- [x] add listener for cmd+enter to submit query
37
66
67// Export the RouterProvider component with QueryClient
68export function RouterApp() {
69 return (
70 <QueryClientProvider client={queryClient}>
65### Query
66```tsx
67export function usePostMessage() {
68 return useMutation({
69 mutationFn: (content: string) => postMessage(content),
Simple functional CSS library for Val Town
A helper function to build a file's email
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": "*",
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.