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/$%7Bart_info.art.src%7D?q=image&page=99&format=json

For typeahead suggestions, use the /typeahead endpoint:

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

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

Found 9529 results for "image"(976ms)

AppTemplateSelector.tsx1 match

@Yvnn24Updated 6 days ago
26 <div className="aspect-square mb-2 overflow-hidden rounded-lg bg-gray-100">
27 <img
28 src={template.imageUrl}
29 alt={template.name}
30 className="w-full h-full object-cover"

Apptypes.ts1 match

@Yvnn24Updated 6 days ago
2 id: string;
3 name: string;
4 imageUrl: string;
5 topTextDefault?: string;
6 bottomTextDefault?: string;

Shippingrevolutionindex.html1 match

@ShsragabUpdated 6 days ago
8 <script src="https://esm.town/v/std/catch"></script>
9 <link rel="stylesheet" href="/frontend/style.css">
10 <link rel="icon" href="/frontend/favicon.svg" type="image/svg+xml">
11</head>
12<body class="bg-gray-50 min-h-screen">

Syphrose1990user-summary.ts2 matches

@Syphrose1990Updated 6 days ago
18 SUM(cache_write_tokens) as total_cache_write_tokens,
19 SUM(price) as total_price,
20 SUM(num_images) as total_images
21 FROM ${USAGE_TABLE}
22 WHERE our_api_token = 1
101 total_cache_write_tokens: userData.cache_write_tokens,
102 total_price: userData.price,
103 total_images: 0,
104 used_inference_data: true
105 });

Syphrose1990useChatLogic.ts4 matches

@Syphrose1990Updated 6 days ago
7 branchId: string | undefined;
8 selectedFiles: string[];
9 images: (string | null)[];
10 soundEnabled: boolean;
11}
17 // bearerToken,
18 selectedFiles,
19 images,
20 soundEnabled,
21}: UseChatLogicProps) {
40 branchId,
41 selectedFiles,
42 images: images
43 .filter((img): img is string => {
44 const isValid = typeof img === "string" && img.startsWith("data:");
45 if (!isValid && img !== null) {
46 console.warn(
47 "Invalid image format:",
48 img?.substring(0, 50) + "..."
49 );

Syphrose1990TODOs.md2 matches

@Syphrose1990Updated 6 days ago
29 - [x] File write as a code embed
30 - [x] str_replace as a diff view
31- [x] make image drop area invisible and bigger
32- [x] Give it all the code (except maybe .txt files) as initial context (like cursor sonnet max)
33- [x] I seem to have lost the delete file tool and instructions, try to find them back in history or re-create?
55- [x] Create branch
56- [x] URL input + pathname
57- [x] Image upload controls
58- [x] Preview refresh button
59- [x] Audio controls

Syphrose1990system_prompt.txt2 matches

@Syphrose1990Updated 6 days ago
155
156- **Redirects:** Use `return new Response(null, { status: 302, headers: { Location: "/place/to/redirect" }})` instead of `Response.redirect` which is broken
157- **Images:** Avoid external images or base64 images. Use emojis, unicode symbols, or icon fonts/libraries instead
158- **AI Image:** To inline generate an AI image use: `<img src="https://maxm-imggenurl.web.val.run/the-description-of-your-image" />`
159- **Storage:** DO NOT use the Deno KV module for storage
160- **Browser APIs:** DO NOT use the `alert()`, `prompt()`, or `confirm()` methods

Syphrose1990styles.css11 matches

@Syphrose1990Updated 6 days ago
782 background-color: var(--highlight);
783}
784.card-image {
785 display: flex;
786 align-items: center;
809}
810
811.image-placeholder,
812.image-thumbnail {
813 flex-shrink: 0;
814 width: 40px;
817 object-fit: cover;
818}
819.image-placeholder {
820 background-color: var(--muted);
821}
828}
829
830.image-row {
831 display: flex;
832 gap: var(--space-1);
833}
834.input-image {
835 position: relative;
836 border: 1px solid var(--muted);
837 border-radius: 6px;
838}
839.remove-image-button {
840 position: absolute;
841 top: 0;
850 opacity: 0;
851}
852.input-image:hover .remove-image-button {
853 opacity: 1;
854}
855
856.image-drop-overlay {
857 position: fixed;
858 top: 0;
867 justify-content: center;
868}
869.image-drop-inner {
870 padding: var(--space-2);
871 background-color: var(--background);
872}
873
874.transition, .input-box, .icon-button, .button, .remove-image-button {
875 transition-property: color, background-color, border-color, opacity;
876 transition-duration: 200ms;

Syphrose1990send-message.ts12 matches

@Syphrose1990Updated 6 days ago
28 }
29
30 const { messages, project, branchId, anthropicApiKey, selectedFiles, images } = await c.req.json();
31
32 // do we want to allow user-provided tokens still
58 branch_id: branchId,
59 val_id: project.id,
60 num_images: images?.length || 0,
61 model,
62 });
90 townie_usage_id: rowid,
91 townie_our_api_token: our_api_token,
92 townie_num_images: images?.length || 0,
93 townie_selected_files_count: selectedFiles?.length || 0,
94 },
108 let coreMessages = convertToCoreMessages(messages);
109
110 // If there are images, we need to add them to the last user message
111 if (images && Array.isArray(images) && images.length > 0) {
112 // Find the last user message
113 const lastUserMessageIndex = coreMessages.findIndex(
131 };
132
133 // Add each image to the content array using the correct ImagePart format
134 for (const image of images) {
135 if (image && image.url) {
136 // Extract mime type from data URL if available
137 let mimeType = undefined;
138 if (image.url.startsWith("data:")) {
139 const matches = image.url.match(/^data:([^;]+);/);
140 if (matches && matches.length > 1) {
141 mimeType = matches[1];
144
145 newUserMessage.content.push({
146 type: "image",
147 image: image.url,
148 mimeType,
149 });

Syphrose1990schema.tsx2 matches

@Syphrose1990Updated 6 days ago
18 price?: number;
19 finish_reason?: string;
20 num_images?: number;
21 our_api_token: boolean;
22}
43 price REAL,
44 finish_reason TEXT,
45 num_images INTEGER,
46 our_api_token INTEGER NOT NULL,
47 finish_timestamp INTEGER

image_generator1 file match

@affulitoUpdated 5 days ago
placeholdji

placeholdji2 file matches

@jjgUpdated 1 week ago
Placeholder image service with emojis 🖼️
Chrimage
Atiq
"Focal Lens with Atig Wazir" "Welcome to my photography journey! I'm Atiq Wazir, a passionate photographer capturing life's beauty one frame at a time. Explore my gallery for stunning images, behind-the-scenes stories, and tips & tricks to enhance your own