tangibleIvoryCanidaemain.tsx1 match
48"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" ",
49),
50{ headers: { "Content-Type": "image/svg+xml" } },
51);
52}
11|-----|-----|
12| Web page | https://alexwein-fabwbogglelike.web.val.run |
13| Observable Plot for image | https://observablehq.com/plot/ |
14| wordnik from words | https://github.com/wordnik/wordlist |
bluesky_bot_templatemain.tsx5 matches
24}
25const svgText = await response.text();
26return `data:image/svg+xml;base64,${btoa(svgText)}`;
27}
2853// Upload blob to Bluesky
54const { data } = await agent.uploadBlob(convertDataURIToUint8Array(svgDataUri), {
55encoding: "image/svg+xml",
56});
5760text: "",
61embed: {
62$type: "app.bsky.embed.images",
63images: [{
64alt: "Generated SVG visualization",
65image: data.blob,
66aspectRatio: {
67width: 600,
vividCopperWrenmain.tsx1 match
1111<meta property="og:description" content="Turn your ideas into fully functional apps in less than a second – powered by Llama3.3-70b on Cerebras's super-fast wafer chips. Code is 100% open-source, hosted on Val Town."">
1112<meta property="og:type" content="website">
1113<meta property="og:image" content="https://stevekrouse-blob_admin.web.val.run/api/public/CerebrasCoderOG.jpg">
1114
1115
reverentAquaCuckoomain.tsx1 match
1111<meta property="og:description" content="Turn your ideas into fully functional apps in less than a second – powered by Llama3.3-70b on Cerebras's super-fast wafer chips. Code is 100% open-source, hosted on Val Town."">
1112<meta property="og:type" content="website">
1113<meta property="og:image" content="https://stevekrouse-blob_admin.web.val.run/api/public/CerebrasCoderOG.jpg">
1114
1115
1111<meta property="og:description" content="Turn your ideas into fully functional apps in less than a second – powered by Llama3.3-70b on Cerebras's super-fast wafer chips. Code is 100% open-source, hosted on Val Town."">
1112<meta property="og:type" content="website">
1113<meta property="og:image" content="https://stevekrouse-blob_admin.web.val.run/api/public/CerebrasCoderOG.jpg">
1114
1115
cerebras_codermain.tsx1 match
1111<meta property="og:description" content="Turn your ideas into fully functional apps in less than a second – powered by Llama3.3-70b on Cerebras's super-fast wafer chips. Code is 100% open-source, hosted on Val Town."">
1112<meta property="og:type" content="website">
1113<meta property="og:image" content="https://stevekrouse-blob_admin.web.val.run/api/public/CerebrasCoderOG.jpg">
1114
1115
emailValHandlerNomain.tsx25 matches
11- Parse and analyze various types of content:
12- PDF attachments
13- Image attachments (using GPT-4 Vision)
14- Website content from links in your email (if markdown extraction service is available)
15- Get detailed, context-aware responses directly to your inbox
314. Compose your email:
32- Write your query or request in the email body
33- Attach any relevant PDFs or images
34- Include links to websites you want analyzed (if markdown extraction is available)
35- Send it to the Val email address
4748- PDFs: Text content will be extracted and analyzed
49- Images: Will be analyzed using GPT-4 Vision API
50- Websites: Content will be extracted and converted to markdown for analysis if the markdown extraction service is available
51- Other file types are not currently supported and will be ignored
8182// Step 3: Process different types of content
83const { pdfTexts, imageAnalysis } = await processAttachments(attachments, openaiKey, transformedPrompt);
84const websiteMarkdown = await extractWebsiteMarkdown(links, mdApiKey);
8588transformedPrompt,
89pdfTexts,
90imageAnalysis,
91websiteMarkdown,
92receivedEmail,
169}
170171// Process image attachments with GPT-4V
172async function analyzeImage(imageAttachment, apiKey, transformedPrompt) {
173try {
174const response = await fetch("https://api.openai.com/v1/chat/completions", {
184role: "system",
185content:
186`You are an AI assistant tasked with analyzing images in the context of a specific query. Use the following transformed prompt to guide your analysis and provide relevant context:\n\n${transformedPrompt}\n\nFocus your analysis on aspects that are most relevant to this prompt.`,
187},
188{
191{
192type: "text",
193text: "Analyze this image and provide relevant context based on the given prompt:${transformedPrompt}",
194},
195{
196type: "image_url",
197image_url: {
198url: `data:${imageAttachment.type};base64,${imageAttachment.content}`,
199},
200},
208return data.choices[0]?.message?.content || "No analysis available";
209} catch (error) {
210console.error("Error analyzing image:", error);
211return "Error analyzing image";
212}
213}
303}
304305// Process all attachments (PDFs and Images)
306async function processAttachments(attachments, apiKey, transformedPrompt) {
307const pdfTexts = [];
308const imageAnalysis = [];
309310for (const attachment of attachments) {
312const pdfText = await extractPdfText([attachment]);
313pdfTexts.push(...pdfText);
314} else if (attachment.type.startsWith("image/")) {
315const analysis = await analyzeImage(attachment, apiKey, transformedPrompt);
316imageAnalysis.push({
317filename: attachment.filename,
318analysis,
321}
322323return { pdfTexts, imageAnalysis };
324}
325358359// Generate the final prompt with all context
360function generateFinalPrompt(transformedPrompt, pdfTexts, imageAnalysis, websiteMarkdown, email) {
361let contextDump = [];
362366}
367368// Add image analysis
369if (imageAnalysis.length > 0) {
370contextDump.push("Image Analysis:", ...imageAnalysis.map(img => `${img.filename}: ${img.analysis}`));
371}
372396role: "system",
397content:
398`You are a helpful AI that replies to emails. Address the sender by their first name if provided, and sign off as 'AI Assistant' in a friendly and professional tone. Be concise and thorough in your analysis. As you're replying via email, use email syntax and not markdown. Analyze all provided content, including PDFs, images, and website content (if available), in the context of the email request. Follow the structured format provided in the transformed prompt to organize your response. Here's the transformed prompt to guide your response:\n\n${transformedPrompt}`,
399},
400{
emailValHandlerNoREADME.md3 matches
10- Parse and analyze various types of content:
11- PDF attachments
12- Image attachments (using GPT-4 Vision)
13- Website content from links in your email
14- Get detailed, context-aware responses directly to your inbox
284. Compose your email:
29- Write your query or request in the email body
30- Attach any relevant PDFs or images
31- Include links to websites you want analyzed
32- Send it to the Val email address
4445- PDFs: Text content will be extracted and analyzed
46- Images: Will be analyzed using GPT-4 Vision API
47- Websites: Content will be extracted and converted to markdown for analysis
48- Other file types are not currently supported and will be ignored
1111<meta property="og:description" content="Turn your ideas into fully functional apps in less than a second – powered by Llama3.3-70b on Cerebras's super-fast wafer chips. Code is 100% open-source, hosted on Val Town."">
1112<meta property="og:type" content="website">
1113<meta property="og:image" content="https://stevekrouse-blob_admin.web.val.run/api/public/CerebrasCoderOG.jpg">
1114
1115