127export default async function server(request: Request): Promise<Response> {
128 if (request.method === "POST") {
129 const { OpenAI } = await import("https://esm.town/v/std/openai");
130 const openai = new OpenAI();
131
132 const { prompt, language } = await request.json();
140 };
141
142 const completion = await openai.chat.completions.create({
143 messages: [
144 {
34
35 try {
36 const { OpenAI } = await import("https://esm.town/v/std/openai");
37 const openai = new OpenAI();
38
39 // Generate app concept
40 conceptCompletion = await openai.chat.completions.create({
41 model: "gpt-4o-mini",
42 messages: [
54
55 // Generate basic code structure
56 codeCompletion = await openai.chat.completions.create({
57 model: "gpt-4o-mini",
58 messages: [
68 max_tokens: 500
69 });
70 } catch (openaiError) {
71 console.error('OpenAI generation error:', openaiError);
72
73 // Fallback generation
129export default async function server(request: Request): Promise<Response> {
130 if (request.method === 'POST') {
131 const { OpenAI } = await import("https://esm.town/v/std/openai");
132 const openai = new OpenAI();
133
134 try {
135 const { text } = await request.json();
136
137 const completion = await openai.chat.completions.create({
138 messages: [
139 {
452
453export default async function server(request: Request): Promise<Response> {
454 const { OpenAI } = await import("npm:openai");
455 const { zodResponseFormat } = await import("npm:openai/helpers/zod");
456 const { z } = await import("npm:zod");
457 const openai = new OpenAI();
458
459 const QuestionSchema = z.object({
501 currentQuestion,
502 } = await request.json();
503 console.log("OpenAI API Request:", { prompt, topic });
504
505 try {
506 let completion;
507 if (request.url.includes("generate-question")) {
508 completion = await openai.beta.chat.completions.parse({
509 model: "gpt-4o",
510 messages: [
515 });
516 } else if (request.url.includes("generate-exam-questions")) {
517 completion = await openai.beta.chat.completions.parse({
518 model: "gpt-4o",
519 messages: [
524 });
525 } else if (request.url.includes("get-feedback")) {
526 completion = await openai.beta.chat.completions.parse({
527 model: "gpt-4o",
528 messages: [
537 });
538 } else if (request.url.includes("get-exam-feedback")) {
539 completion = await openai.beta.chat.completions.parse({
540 model: "gpt-4o",
541 messages: [
554
555 const response = completion.choices[0].message.parsed;
556 console.log("OpenAI API Response:", response);
557
558 return new Response(JSON.stringify(response), {
560 });
561 } catch (error) {
562 console.error("Error in OpenAI API call:", error);
563 return new Response(JSON.stringify({ error: error.message }), {
564 status: 500,
48 const generateAISuggestion = async () => {
49 try {
50 const { OpenAI } = await import("https://esm.town/v/std/openai");
51 const openai = new OpenAI();
52
53 if (!gameMechanic) {
63 - Potential monetization or player engagement strategy`;
64
65 const response = await openai.chat.completions.create({
66 model: "gpt-4o-mini",
67 messages: [{ role: "user", content: prompt }],
85
86 try {
87 const { OpenAI } = await import("https://esm.town/v/std/openai");
88 const openai = new OpenAI();
89
90 const response = await openai.chat.completions.create({
91 model: "gpt-4o-mini",
92 messages: [
1import { OpenAI } from "https://esm.town/v/std/openai";
2
3const openai = new OpenAI();
4
5const completion = await openai.chat.completions.create({
6 messages: [
7 { role: "user", content: "町田市について手短に説明してください。" },
11
12const AI_PROVIDERS = [
13 "OpenAI",
14 "Anthropic",
15 "Groq",
26 const [user, setUser] = useState(null);
27 const [adContent, setAdContent] = useState("");
28 const [selectedProvider, setSelectedProvider] = useState("OpenAI");
29 const [apiKey, setApiKey] = useState("");
30
38 const userData = await response.json();
39 setUser(userData);
40 setSelectedProvider(userData.aiProvider || "OpenAI");
41 setApiKey(userData.apiKey || "");
42 };
280export default async function server(request: Request): Promise<Response> {
281 const { sqlite } = await import("https://esm.town/v/stevekrouse/sqlite");
282 const { OpenAI } = await import("https://esm.town/v/std/openai");
283 const openai = new OpenAI();
284
285 const SCHEMA_VERSION = 2;
306 (name, tier, contentGenerated, aiProvider, apiKey)
307 VALUES (?, ?, ?, ?, ?)
308 `, ["Demo User", "FREE", 0, "OpenAI", ""]);
309 user = (await sqlite.execute(`SELECT * FROM ${KEY}_users_${SCHEMA_VERSION} LIMIT 1`)).rows[0];
310 }
355 }
356
357 // Generate content using OpenAI
358 const completion = await openai.chat.completions.create({
359 messages: [
360 {
188export default async function server(request: Request): Promise<Response> {
189 if (request.method === "POST") {
190 const { OpenAI } = await import("https://esm.town/v/std/openai");
191 const openai = new OpenAI();
192
193 const { query } = await request.json();
203Query: ${query}`;
204
205 const completion = await openai.chat.completions.create({
206 messages: [{ role: "user", content: legalPrompt }],
207 model: "gpt-4o-mini",
11
12const AI_PROVIDERS = [
13 "OpenAI",
14 "Anthropic",
15 "Groq",
26 const [user, setUser] = useState(null);
27 const [adContent, setAdContent] = useState("");
28 const [selectedProvider, setSelectedProvider] = useState("OpenAI");
29 const [apiKey, setApiKey] = useState("");
30
38 const userData = await response.json();
39 setUser(userData);
40 setSelectedProvider(userData.aiProvider || "OpenAI");
41 setApiKey(userData.apiKey || "");
42 };
280export default async function server(request: Request): Promise<Response> {
281 const { sqlite } = await import("https://esm.town/v/stevekrouse/sqlite");
282 const { OpenAI } = await import("https://esm.town/v/std/openai");
283 const openai = new OpenAI();
284
285 const SCHEMA_VERSION = 2;
306 (name, tier, contentGenerated, aiProvider, apiKey)
307 VALUES (?, ?, ?, ?, ?)
308 `, ["Demo User", "FREE", 0, "OpenAI", ""]);
309 user = (await sqlite.execute(`SELECT * FROM ${KEY}_users_${SCHEMA_VERSION} LIMIT 1`)).rows[0];
310 }
355 }
356
357 // Generate content using OpenAI
358 const completion = await openai.chat.completions.create({
359 messages: [
360 {
137 }}
138 >
139 OPENAI_API_KEY
140 </code>
141 environment variable.
305 }
306
307 const { OpenAI } = await import("npm:openai");
308 const openai = new OpenAI({ apiKey: Deno.env.get("OPENAI_API_KEY") });
309
310 const arrayBuffer = await audioFile.arrayBuffer();
311 const transcription = await openai.audio.transcriptions.create({
312 file: new File([arrayBuffer], audioFile.name, { type: audioFile.type }),
313 model: "whisper-1",